오늘은 Genetic Algorithm에 대한 새로운 도전!을 하는 날이예요~~^^* YEAH~~^^*
어머 그런데요~~^^*
크리스마스가 되기까지 6일이 남았네요~~^^*
숫자 6은 조화와 균형을 의미한다고 하지요~~^^*
조화와 균형의 바다 속 작고 투명한 한 방울의 물방울이 되는 느낌을~^^*
합창이나 오케스트라에 참여하면 받을 수 있을 것 같아요~~^^*
나의 경계가 없어지는거야? 어머머…!!
하는 순간,
더 큰 내가 나를 감싸고 있다는 것을 깨닫게 되는 순간~^^*
다양한 문화가 서로를 배우고 누리는 아름다운 큰 바다의 소리를 들으시며 편안한 아침을 시작하셔요~~^^*
저는 오늘의 코딩 공부 내용 정리해서 곧 돌아 올게요~ 쓩~~^^*
네~^^*
이제까지 우리는 후보자 선택을 할 때 두 가지 방법을 시도해 보았었습니다~^^*
하나. 후보자 Fitness 적합성 수치가 높은 후보자는 더 많이 후보자 Fitness 적합성 수치가 낮은 후보자는 더 적게 후보자 군집에 넣어서 무작위로 하나를 뽑는다.
둘. (1) 후보자들을 동일한 수로 넣어서 후보자 군집을 만든 후 (2) 후보자 하나를 무작위로 뽑은 후, (3) 무작위 수를 뽑아서 그 수가 그 후보자의 Fitness 적합성 수치보다 낮으면 그 후보자를 선택하고, 그렇지 않으면 (2)부터 반복한다.
두 가지 선택의 공통점은, 무작위로 뽑는데 후보자 Fitness 적합성이 선택 확률로 결국 작용한다는 점인 것 같아요…
결국…어떤 가중치가 적용되는 선택이라고 할까요~~^^*
그래서!!!
이번에 우리가 맞이하는 새로운 도전은!!!
Weighted Selection 가중선택 입니다!!! YEAH~~^^*
오늘은 이 새로운 도전의 첫 삽을 뜨는 세리머니 Ceremony로~~^^*
어떤 군집 안의 하나의 객체 Object가 몇 개 있는가에 따라 그 객체 Object의 확률을 자동 계산하는 코드를 만들어 보려고 합니다~^^*
크리스마스 특집 퀴즈~~^^* 먼저 풀어 보실게요~~^^*
화이트 크리스마스 요거트 볼을 만들어 봅시다~^^*
새하얀 플레인 요거트 위에~~^^*
망고 조각 5개~~^^*
블루베리 3알~~^^*
체리 한 개~~^^*
사과 조각 1개~~^^*
를 올려 볼게요~~^^*
그런 뒤~~^^*
아주 작은 스푼을 손에 쥐고~~^^*
눈을 꼭~ 감고 크리스마스 소원을 하나 빌면서~~^^*
과일을 하나 떠 보는 거예요~^^*
YEAH~~^^*
이때!!!
망고 조각을 뜨게 되는 확률은 얼마일까요~~~^^*
망고 조각 5개 / (망고 조각 5개 + 블루베리 3알 + 체리 한 개 + 사과 한 조각)
= 5 / ( 5 + 3 + 1 + 1 )
= 5 / 10
= 0.5
네~~^^* 0.5입니다~~^^*
확률 = 해당 객체의 개체수 / 군집 전체 개체수
와우~~^^* 확률을 구하는 알고리즘은 참 간단하네요~^^*
네 그럼 바로 코드 작성을 시작해 볼까요~^^*
var fruits = [
{ name: 'mango', score: 5 },
{ name: 'blueberry', score: 3 },
{ name: 'cherry', score: 1 },
{ name: 'apple', score: 1 }
];
//변수 fruits는 객체 mango, blueberry, cherry, apple로 구성된 군집입니다.
//score는 해당 객체의 개체수를 나타냅니다.
function setup() {
.
.
.
let sum = 0;
//sum은 과일 군집의 전체 개체수를 나타낼 변수입니다.
for (let i = 0; i < fruits.length; i++) {
sum += fruits[i].score;
}
//과일 군집의 모든 객체들의 개체수를 더하여 변수 sum에 저장합니다.
for (let i = 0; i < fruits.length; i++) {
fruits[i].prob = fruits[i].score / sum;
}
//과일 군집의 구성요소의 개체수 fruit[i].score를 군집 전체 개체수 sum으로 나눈 값을 과일 군집의 구성요소의 확률 fruits[i].prob에 저장합니다.
.
.
.
}
네~^^* 간단한 알고리즘이라 코드도 간단합니다~~^^*
오늘 저와 함께 확률 구하는 알고리즘을 바탕으로 코드를 만들어 주셔서 감사합니다~~^^*
내일은 두 번째 삽을 떠볼까요~~^^*
세상이 조화와 균형을 이루면 평화가 내려올 것 같은데요~^^*
조화와 균형의 숫자 6! 서로를 존중하며 어울리며 만들어 내는 세계!
노벨상 축하공연을 보면서, 6일이 남은 크리스마스를 함께 축하하면 좋겠어요~~^^*
네~^^*
오늘도
맛있는 점심!
편안한 저녁!
따뜻한 밤!
보내시고요~~^^*
우리 내일 또 만나요~~^^*
네~~^^* 꿈은 이루어 집니다~~^^*
댓글 남기기