학자 + 쓰레기 = 학레기 by 바죠

[표창원의 단도직입]‘학레기’가 아닌 학자로 돌아가라
표창원 | 범죄과학연구소 대표

신랄한 비판을 가하는 교수들을 본 적이 없다.
왜, 모두 야성을 잃어가고 있다.
자신에게 어떠한 불이익이 엄습할 지 모르기 때문이다.
모두들 학문적 이해에서 벗어나 금전적 이해관계에 파뭍혀있다.

아주 일반적인 관점에서 읽어 보면 좋은 글이 올라왔다.
http://news.khan.co.kr/kh_news/khan_art_view.html?artid=201503252117425&code=990100


공유하기 버튼

 

IH 주방기기 by 바죠

IH 주방기기

Induction Heating 주방기기

반드시 자석 성분을 가지고 있어야 한다.
자기 그릇이라도 그릇 내부에 자석 성분을 가지는 금속 코일이 포함되어 있을 수도 있다. 이 경우 사용가능하다.
알루미늄은 안된다. 그 이유는 자석에 붙지 않기 때문이다. 자석으로 불리는 금속을 포함하지 않고 있는 경우이다.

비자성 재료로 된 것은 사용할 수 없다.
뚝배기, 유리, 사기그릇 솥은 사용 불가능 하다. 물이 끓지 않는다.  
일부 알루미늄 재질에 자성체를 일부 주입한 솥이 있기는 하다.
반드시 IH 사용 가능한 것인지 확인을 해야만 한다.

기본적으로 비자성체 소재는 안 된다.
철을 포함한 스테인레스 제품 가능하다.
완전 스테인레스 제품은 사용 불가능하다.
뚝배기, 일반코팅냄비, 양은냄비, 범랑냄비는 안된다.

정확하게는 솥의 바닥면이 자성을 뛰면 된다. 바닥이 평평해야만 한다.
이 사실을 모르면 완전히 황당한 상황이 연출될 수 있다.
요리할 때, 요리기기 선물할 때 마찬가지이다.
물이 안끓는 상황이 나온다.

반면, 마이크로웨이브 오븐으로 오면 상황은 급반전 된다.
이번에는 아예 금속 소재 그릇은 안 된다.
금속 장식이 있는 그릇을 마이크로웨이브 오븐에 넣으면 안된다.
알루미늄 호일은 불꽃쑈를 넘어 거의 폭탄 수준으로 탄다.
음식을 넣지 않고 돌려도 안 된다.
사기 그릇을 이용해서 라면을 끓여야 한다.
유리 그릇이 가능하기는 하다 하지만, 올라간 온도 때문에 꺠질 수도 있다. 따라서, 강화 유리만 가능하다는 결론을 낼 수 있다.
스티로폼 같은 것도 안된다. 컵라면 통째로 넣을 수 있을것이라고 생각하면 안 된다. 절대 안된다.

마이크로웨이브 오븐에서는 전자기파가 직접 음식물 속의 물질을 열받게 한다. 그 열이 그릇으로 전파된다.

인덕션 가열 방식에서는 자성체에 유도 전류를 흐르게 하고 이 전류 때문에 자성체가 열받게 되는 것이다. (금속 저항, 큐리 온도 이하의 온도에서 히스테리시스 손실 두 가지가 모두 열을 발생시키는 원인이다.)
이 열이 음식물을 열받게 한다. 그 이외에는 열이 발생하지 않는다. 전달되는 것 제외하고, 비자성 물체에는 전달 되는 것 제외하고는 열이 직접 발생하지 않는다.  바닥이 착 달라붙지 않으면 안된다.

가스 가열 방식에서는 진짜 불로 그릇을 열받게 한다. 유리, 사기, 알루미늄, 자성체 상관하지 않고 그냥 열로서 열받게 하는 것이다.
열받은 그릇을 통해서 직접적으로 열이 음식물로 전달된다.

아무튼 여러 가지 이유로 알루미늄 그릇은 사용하는데 지장이 많다.

아래의 그림에서 붉은 색이 유도된 전류를 나타낸다. 저 전류의 흐름에 의해서 열이 발생한다. (일부)
그림 출처:
http://en.wikipedia.org/wiki/Eddy_current




https://www.youtube.com/watch?v=7ipZ4vdivbU


공유하기 버튼

 

아포가토 (Affogato) by 바죠

아포가토
http://en.wikipedia.org/wiki/Affogato

Affogato
이탈리아어이지만 영어에 편입되었다.
커피를 기반으로 한 음료, 디저트 등으로 분류 될 수 있다.
원뜻은 물에잠겨버린, drowned, 이런 뜻이라고 한다.

바닐라 젤라토 또는 아이스크림에 에스프레소를 곁들인 것이다.
자연스럽게 아포가토는 이탈리아산이 될 수밖에 없다. 젤라토, 에스프레소가 이탈리아것이기 때문이다.
우유에 커피를 덧 부어서 만드는 마끼아토와 유사한 형식의 음식이라고 볼 수 있다.

디저트로 제격인 것 같다. 왜냐하면, 아이스크림과 커피를 동시에 취할 수 있기 때문이다.
넛츠, 자바 칩을 곁들이기도 한다.

아이스크림 한 스쿱 + 에스프레소 한 잔
이렇게 하면 기본적인 용량이 된다.
아이스크림과 에스프레소를 각각 준비할 수 있으면 된다.

달거나 쓰거나, 아니면 달다가 쓴, 쓰다가 단 맛을 즐길 수 있다.

에스프레소 대신에 홍차를 사용할수도 있다.

아포가토는 뜨거운 것과 차가운 것이 만났다는 점에서 튀긴 아이스크림과도 유사한 상황에서 탄생한 음식이다.


사진 출처:
http://en.wikipedia.org/wiki/Affogato 
Affogato.JPG

보다 많은 이미지, 아래의 구글 이미지 URL, 클릭하면 거의 아포가토에 빠져버릴 수도 있다. 적어도 그림상으로....
https://www.google.co.kr/search?q=affogato&newwindow=1&biw=1582&bih=2322&tbm=isch&imgil=xriFCg573XeRvM%253A%253BOt9FLUkw-jnN-M%253Bhttp%25253A%25252F%25252Fwww.foodnetwork.com%25252Frecipes%25252Ffood-network-kitchens%25252Faffogato-recipe.html&source=iu&pf=m&fir=xriFCg573XeRvM%253A%252COt9FLUkw-jnN-M%252C_&usg=__PoASLbf7WPrFtON2WpDhAWwupzI%3D&dpr=1&ved=0CKsBEMo3&ei=Eez4VKqLDIK78gW2mID4Bw#imgrc=xriFCg573XeRvM%253A%3BOt9FLUkw-jnN-M%3Bhttp%253A%252F%252Ffoodnetwork.sndimg.com%252Fcontent%252Fdam%252Fimages%252Ffood%252Ffullset%252F2011%252F10%252F5%252F1%252FFNM_110111-WN-Desserts-004_s4x3.jpg.rend.sni12col.landscape.jpeg%3Bhttp%253A%252F%252Fwww.foodnetwork.com%252Frecipes%252Ffood-network-kitchens%252Faffogato-recipe.html%3B406%3B305

공유하기 버튼

 

Differential Evolution [algorithm] by 바죠

Differential evolution 
http://en.wikipedia.org/wiki/Differential_evolution
http://www1.icsi.berkeley.edu/~storn/code.html

컴퓨터 사이언스에서 사용되는 최적화 방법이다. 함수 미분없이 함수 최적화할 때 사용하는 방법이다. 
확률론적 문제 풀이 방식이다. 이 문제 풀이 방식은 항상 정답을 보장하지 못한다.
다차원 독립변수를 가지는 함수의 최적화에 적용될 수 있다.

함수가 미분가능할 필요가 없는 상황에 적합하다.
물론, 함수가 미분가능(다시 말해서 연속이면)이면 해석적으로 미분한 형태를 이용해서 국소 최적화를 동시에 활용할 수 있다.
일반으로 국소 최적화가 병행될 때, 광역 최적화가 수월하게 진행된다.
항상 국소 최적화된 해만 고려하는 형식으로 광역 최적화를 진행할 수 있다.

Differential evolution은 하나의 병렬알고리듬이다. 유전 알고리듬과 차이가 없다고 생각해도 무방하다.
유전 알고리듬과 차이점이 있다면, 해를 표현하는 방법으로 비트표현을 사용하지 않는다는 점이다.
실제 표현형을 사용한다. 또한, 표현형을 직접 활용하여 변이, 교차를 동시에 이루어낸다.
따라서, 변이, 교차 실행에서 새로운 형식이 수반된다.
서로 다른 시도해를  체계적으로 만들어낸다. 보다 구체적으로 crossover를 할 수 있도록 설계된 방식을 제공한다. 

사실, 변이, 교차가 각각 중요하다는 것이 유전알고리듬의 결론이다.
그렇다면 실제 문제 풀이에서 어떻게 변이, 교차를 해 낼 수 있는가?
이것은 문제에 따라서 달라지는 것이고, 굉장히 다양한 방법으로 이루어질 수 있다.
주요 파라메터로서 differential weight, crossover probability가 있다.
population size는 최소 4 이상이어야 한다. 
그렇지 않으면 안된다. 하지만, 대부분의 응용 계산에서는 이 보다 훨씬 큰 값을 사용하기 때문에, 
이 부분은 전혀 문제가 되지 않는다.
변이와 교차를 상당한 수준에서 일반적으로 행할 수 있게 해준다.
실제 표현형을 그대로 사용한다는 특징이 있다. 
비교적 간단한 방법으로 교차 및 변이를 동시에 취급하게 해 준다.
어느 정도 현실성을 가지고 있다.
소위 비트 표현보다는 훨씬 현실적인 방법으로 보인다.

x : vector, solution

 y =  a + F*(b-c) 처럼 새로운 시도해를 만들 수 있음을 제안한다. 이 부분은 사실 변이에 해당한다.
a, b, c는 서로 다른 해들이다. 또한 추가로 x를 하나 더 확보해야 한다. x, a, b, c, 모두 서로 다른 것들이다.
이들 서로 다른 해, a, b, c로 부터 새로운 시도해를 조직적으로 만들어 낸다. 변이를 만들어 낸다.  
여기에 추가로 확보한 해를 사용하여 변이에 이은 교차까지 완료할 수 있다.
이것 떄문에, 최소 4개이상의 population size가 되어야 한다.
실질적으로 4보다 훨씬 큰 population size를 취급하기 때문에 사실상 제약이 안된다.
추가적인 절차를 통해서 교차를 하는 방법을 지원한다.
최종 목표는 변이와 교차를 순서적으로 이룩하는 것이다.

x, a, b, c 가 서로 다른 해들일 때, y라는 시도해를 만들어 낸다.  결국, 변이, 교차를 체계적으로 지원한다.

{x, a, b, c} ---> y

x라는 해에서 또 다른 시도해를 고려해 볼 수 있다. x'
x---> x' 으로 변환할 때, 사실 이것이 모든 알고리듬에서 공통으로 항상 요구된다. 
가능하면 최대한 일반적인 것이 될 수 있으면 좋다. 특정 공간에 국한 되지 말아야 한다.
광범위하게 이러한 변환을 만들 수 있으면 좋다.
그런데, 일반적인 문제에서 이를 이룩하기는 매우 어렵다.
이는 Monte Carlo 시뮬레이션의 끝도 없는 숙제중의 숙제이며, 광역최적화 방법에 있어서 핵심 요소중 하나라고 볼 수 있다.
그 이외의 대부분의 샘플링 문제에서도 공통으로 나타나는 해결해야할 숙제이다.

-----------------------------------------------------------------------------------------------------------

genetic algorithm:
http://incredible.egloos.com/4856511
particle swarm optimization:
http://incredible.egloos.com/4731015
simulated annealing:
http://incredible.egloos.com/4784592
replica-exchange Monte Carlo, replica-exchange Molecular dynamics, super simulated annealing:
http://incredible.egloos.com/4587643


-----------------------------------------------------------------------------------------------------------


!234567890
       implicit none
       integer ndim,npop
       real*8, allocatable :: x(:,:),xnew(:,:)
       integer ij,kl
       integer i,j
       real ranmar

       ndim=3
       npop=15
       allocate(x(ndim,npop),xnew(ndim,npop))
       ij=111
       kl=112
       call rmarin(ij,kl)
       do i=1,npop
       do j=1,ndim
       x(j,i)=i*10+j
       enddo
       enddo
       write(6,*) x(:,:)

       call dffvltn(ndim,npop,x,xnew)

       write(6,*) xnew(:,:)
       write(6,*)
       write(6,*) xnew-x
       deallocate(x,xnew)
       stop
       end
       subroutine dffvltn(ndim,npop,x,xnew)
       implicit none
       integer ndim,npop
       real*8 x(ndim,npop),xnew(ndim,npop)
       integer iarr(4),jbrr,i,j
       real*8 tmt
       real*8 cr,ff
       real ranmar
!      ff :  differential weight
!      cr :  crossover probability
       xnew=x
       do i=1,npop
       if(npop >=4 )then
       iarr(1)=dble(ranmar())*npop+1
  111  continue
       iarr(2)=dble(ranmar())*npop+1
       if(iarr(2) == iarr(1)) goto 111
  112  continue
       iarr(3)=dble(ranmar())*npop+1
       if(iarr(3) == iarr(1) .or. iarr(3) == iarr(2)) goto 112
  113  continue
       iarr(4)=dble(ranmar())*npop+1
       if(iarr(4) == iarr(3) .or. iarr(4) == iarr(2) .or. iarr(4) == iarr(1)) goto 113
       print*, i
       jbrr=dble(ranmar())*ndim+1 ; cr=ranmar() ; ff=2.d0*dble(ranmar())
       do j=1,ndim
       tmt=ranmar()
       if(jbrr == j .or. tmt <= cr)then
       xnew(j,i)=x(j,iarr(2))+ff*(x(j,iarr(3))-x(j,iarr(4)))
                                   endif
       if(jbrr /= j .and. tmt > cr)then
       xnew(j,i)=x(j,iarr(1))
                                   endif
       enddo
                    else
       tmt=-1.d0
       do j=1,ndim
       if(tmt < abs(x(j,i))) tmt=abs(x(j,i))
       enddo
       tmt=tmt/10.d0
       do j=1,ndim
       xnew(j,i)=x(j,i)+(ranmar()-0.5)*tmt
       enddo
                    endif
       enddo
       end


-----------------------------------------------------------------------------------------------------------



-----------------------------------------------------------------------------------------------------------



-----------------------------------------------------------------------------------------------------------


공유하기 버튼

 

1 2 3 4 5 6 7 8 9 10 다음