|
À¯ÀüÀÚ ¾Ë°í¸®Áò( Genetic Algorithm, GA )
This article was contributed by Jung,
Hyun-chul.
GA¶õ ¹«¾ùÀΰ¡?
- ÀÚ¿¬
¼±ÅÃ(natural selection) ¶Ç´Â ÀûÀÚ
»ýÁ¸(survival of the fittest)ÀÇ ¿øÄ¢¿¡ ÀÔ°¢ÇÑ ¾Ë°í¸®Áò(search algorithm)ÀÌ´Ù.
- °³Ã¼±º(population) Áß¿¡¼
ȯ°æ¿¡ ´ëÇÑ ÀûÇÕµµ(fitness)°¡ ³ôÀº °³Ã¼(individual) Àϼö·Ï Àç»ý(reproduction)ÇÒ ¼ö ÀÖ°Ô
µÇ¸ç, °³Ã¼±º(population)Àº ȯ°æ¿¡
ÀûÀÀÀ» ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
À¯Àü ¾Ë°í¸®ÁòÀÌ ÀϹÝÀûÀΠŽ»ö, ÃÖÀûÈ ¹æ¹ý°ú ´Ù¸¥ Á¡Àº Å©°Ô ³× °¡Áö Á¤µµ°¡ ÀÖ´Ù.
1. ¸Å°³ º¯¼ö(parameter)¸¦ Á÷Á¢ ÀÌ¿ëÇÏÁö ¾Ê°í ¸Å°³ º¯¼öÀÇ ÁýÇÕ(parameter set)À» »ç¿ëÇÏ¿©
Ž»öÇÑ´Ù.
2. Á¡(point)ÀÌ
¾Æ´Ñ ´ÙÁ¡(multi points, : ±º(population)) Ž»ö ¹æ¹ýÀÌ´Ù.
3. ºÎ°¡ÀûÀÎ Áö½ÄÀ» »ç¿ëÇÏÁö ¾Ê°í ÀûÇÕ¼º(fitness function)À» ÀÌ¿ëÇÑ´Ù.
4. °áÁ¤·ÐÀûÀÎ ±ÔÄ¢ÀÌ ¾Æ´Ñ È®·üÀû ±ÔÄ¢( crossover or mutation )À» »ç¿ëÇÏ¿© ¼öÇàµÈ´Ù.
À¯Àü ¿¬»êÀÚ
Àç»ý»ê
(reproduction)
ÀûÇÕµµ¿¡ µû¶ó °³Ã¼µéÀ» ¼±ÅÃÇϸç, ´ÙÀ½ ¼¼´ë(next generation)¸¦ »ý¼ºÇÏ´Â °úÁ¤ÀÌ´Ù. ´Ù½Ã ¸»Çؼ, ÀûÇÕµµ°¡ ³ôÀº
°³Ã¼Àϼö·Ï ´ÙÀ½ ¼¼´ë¿¡ ÀÚ½Ä °³Ã¼µéÀÌ ¹ø½ÄÇÒ
°¡´É¼ºÀÌ ³ô¾ÆÁø´Ù.
±³¹è
(crossover)
±³¹è´Â 2°³ÀÇ °³Ã¼°£¿¡
¿°»öü¸¦ ºÎºÐÀûÀ¸·Î ¼·Î ¹Ù²ÞÀ¸·Î½á »õ·Î¿î °³Ã¼¸¦ »ý¼ºÇÏ´Â °ÍÀÌ´Ù. ¾Æ·¡ ±×¸²Àº °£´ÜÇÑ ±³¹è ¹æ¹ýÀ» Ç¥ÇöÇÑ °ÍÀÌ´Ù.

µ¹¿¬º¯ÀÌ
(mutation)
ÀÓÀÇÀÇ
À¯ÀüÀÚÁÂ(locus)ÀÇ
Ư¼ºÄ¡(feature
value)¸¦
º¯Çü½ÃÅ´À¸·Î½á À¯Àü ÇüÁúÀÇ ´Ù¾ç¼ºÀ» À¯ÁöÇϱâ À§ÇØ »ç¿ëµÇ´Â ¿¬»êÀÚÀÌ´Ù.
¿¹) ȯ°æ ( ¶Ç´Â ÀûÇÕµµ ÇÔ¼ö)ÀÌ
f(x) = x^2ÀÏ ¶§ GAÀÇ °úÁ¤À» µµ½ÄÇÑ ÇÑ ±×¸²ÀÌ´Ù.
°³Ã¼µéÀº 5bit·Î ±¸¼ºµÈ
½ºÆ®¸µÀÌ´Ù.
|
°³Ã¼(string) |
½ÊÁø¼ö(decimal) |
ÀûÇÕµµ( fitness
function) |
|
0000 |
0 |
0 |
|
1111 |
31 |
31^2 =
961 |

ÀûÇÕµµ ÇÔ¼ö ( fitness function )
°³Ã¼µéÀÇ ÀûÇÕµµ¸¦ Æò°¡ÇÏ´Â ÇÔ¼öÀÌ´Ù. ³ôÀº ÀûÇÕµµ¸¦ °¡Áø °³Ã¼´Â ÀûÀýÇÑ ÇØ¸¦ ã±âµµ Àü¿¡ °³Ã¼±ºÀ» °úµµ ¼±Á¡ÇÏ¿© ÇØ¸¦ ã´Â µ¥ ÇÊ¿äÇÑ °³Ã¼±ºÀÇ ´Ù¾ç¼ºÀ» °¨¼Ò½ÃŲ´Ù. À̸¦ ÇØ°áÇϱâ À§ÇØ ÀûÇÕµµ¸¦ ºñ·ÊÀûÀ¸·Î
¼öÁ¤(scaling)Çϱ⵵ ÇÑ´Ù.

·ê·¿ ¼±Åùý(roulette wheel selection)
°³Ã¼±ºÀÇ ÀûÇÕµµ ÇÕ¿¡ ´ëÇÑ °³Ã¼ÀÇ ÀûÇÕµµ ºñÀ²¿¡ µû¶ó roulette wheelÀ» ¾Æ·¡ ±×¸²°ú °°ÀÌ ±¸¼ºÇÑ ´ÙÀ½ È®·üÀûÀ¸·Î °³Ã¼¸¦ ¼±ÅÃÇÏ´Â ¹æ¹ýÀÌ´Ù.
´ÙÀ½ ¼¼´ë¿¡¼ Àç»ý»êµÉ °¡´É¼ºÀº ¨è¡æ¨ê¡æ¨ç¡æ¨é¼ø¼ÀÌ´Ù.

Ãâó
: Àΰø»ý¸í ¿¬±¸ÆÀ Altoz (http://myhome.naver.com/altoz)
|