±â°è ÇнÀ
(Machine Learning)
C ÀΰøÁö´É ÇÁ·Î±×·¡¹Ö : Herbert Schildt ÁöÀ½, ½Å°æ¼÷.·ù¼º·Ä ¿Å±è, ¼¼¿õ, 1991 (¿ø¼ : Artificial Intelligence using C, McGraw-Hill, 1987), page 311~339
1. µÎ Á¾·ùÀÇ ÇнÀ (TWO KINDS OF LEARNING)
1.1. ¹Ýº¹¿¡ ÀÇÇÑ ÇнÀ (Learning by Rote)
1.2. ÀÎÁöÇнÀ (Cognitive Learning)
2. class ¹¦»ç´Â ¾î¶»°Ô ÇнÀÇϴ°¡? (HOW CLASS DESCRIPTIONS ARE LEARNED?)
2.1. ¿¹¿Í Near-Misses (Examples and Near-Misses)
2.2. Hit-and-Near-Miss ÇÁ·Î½ÃÀú (The Hit-and-Near-Miss Procedure)
2.3. µÎ°¡Áö Áß¿äÇÑ ¿ø¸® (Two Important Principles)
3. Áö½Ä Ç¥Çö (KNOWLEDGE REPRESENTATION)
4. Hit-and-Near-Miss ÇÁ·Î½ÃÀú ±¸Çö (IMPLEMENTING THE HIT-AND-NEAR-MISS PROCEDURE)
4.1. ÇÁ·Î±×·¥ »ç¿ë (Using the Program)
4.2. ´õ °³¹ßÇϱâ À§ÇÑ ¹æÇâ (Directions for Further Development)
Áö´É°ú ¹ÐÁ¢È÷ °ü°èµÈ °ÍÀÌ ÇнÀÀÌ´Ù. »ç½Ç»ó, Áö´ÉÀº ¹è¿ì´Â ´É·Â ¾øÀÌ´Â Á¸ÀçÇÒ ¼ö°¡ ¾ø´Âµ¥ ¿Ö³ÄÇϸé ÇнÀÀÇ ÁÖ¿äÇÑ ÀåÁ¡Àº »õ·Î¿î Áö½ÄÀ» ½ÀµæÇÏ´Â ¼ö´ÜÀ̱⠶§¹®ÀÌ´Ù. ÇнÀÀº ÀåÁ¡À» ¿©·¯ °¡Áö »óȲ°ú »ç°Ç¿¡ Àû¿ëÇÏ°í »ç¿ëÇÏ°Ô ÇÑ´Ù. ±×·¯¹Ç·Î, ¹è¿ì´Â ´É·ÂÀº °·ÂÇÑ µµ±¸ÀÌ´Ù. ¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ, »ç¶÷ÀÌ ÇÏ´Â °Í°ú °°Àº ¹æ½ÄÀ¸·Î ÀÌ µµ±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µé°í ½Í¾îÇÏ´Â °ÍÀº ³î¶ó¿î ÀÏÀÌ ¾Æ´Ï´Ù. À̸¦ ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥Àº ´ÜÁö ¹è¿òÀ¸·Î½á ÀÚ½ÅÀÌ ¿©·¯ °¡Áö ÀÏÀ» ¼öÇàÇϵµ·Ï ¹è¿ï ¼ö Àֱ⠶§¹®¿¡ À̷лó Á»Ã³·³ ÀÛ¼ºµÉ °Í °°Áö ¾ÊÀº ÇÁ·Î±×·¥ÀÌ´Ù.
ÀÌ Àå¿¡¼, ÄÄÇ»ÅͰ¡ ¹è¿ï ¼ö ÀÖ´Â ¿©·¯ °¡Áö ¹æ¹ýÀ» ¿¬±¸ÇÑ´Ù. ´õ¿ì±â, ÀÌ Àå¿¡¼´Â ±â°èÇнÀÀ» ÀÌ·ç´Â º¹ÀâÇÑ ¹æ¹ýÀ» ¼³¸íÇÏ´Â ¾ÆÁÖ ´Ü¼øÇÑ ÇÁ·Î±×·¥À» °³¹ßÇÑ´Ù.
³î¶ó¿î ¸ð¼øÀº, ÄÄÇ»ÅͰ¡ ¹è¿ì±â´Â ¾ÆÁÖ ½±±âµµ ÇÏ°í ¾ÆÁÖ ¾î·Æ±âµµ ÇÏ´Ù´Â »ç½ÇÀÌ´Ù. ÀÌ ÀÌÀ¯´Â µÎ°¡Áö ´Ù¸¥ À¯ÇüÀÇ ÇнÀ : µÇÇ®ÀÌ ÇнÀ°ú ÀÎÁöÇнÀÀÌ Àֱ⠶§¹®ÀÌ´Ù. ÀÌ Á¡¿¡¼, ¿©·¯ °¡Áö ´Ù¸¥ À¯ÇüÀÇ ÇнÀ - À¯Ãß¿¡ ÀÇÇÑ ÇнÀ, ¿¹¿¡ ÀÇÇÑ ÇнÀ, °üÂû¿¡ ÀÇÇÑ ÇнÀ µîµî - ÀÌ ÀÖ´Ù°í Á¦¾ÈÇÏ°í ½ÍÀ»Áöµµ ¸ð¸¥´Ù. ±×·¯³ª, ÀÌ·± °ÍµéÀº ±×°Í¿¡ ÀÇÇØ Áö½ÄÀÌ ½ÀµæµÉ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¸»ÇÏ´Â °ÍÀÌÁö, ÇнÀÀÌ ÀϾ°Ô ÇÏ´Â ½ÇÁ¦ ¸ÞÄ¿´ÏÁòÀ» ¸»ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ÀÌ ÀýÀÇ ÇÙ½ÉÀÌ µÇ´Â °ÍÀº ÇнÀÀÇ ±âÃÊÀÌ´Ù.
¹è¿ì´Â °Íµé Áß ¸¹Àº °ÍÀÌ ´ÜÁö ±â¾ïÀ» ÅëÇØ ¾ò¾îÁö´Â »ç½Çµé·Î ±¸¼ºµÈ´Ù. ÀÌ °úÁ¤À» ¹Ýº¹¿¡ ÀÇÇÑ ÇнÀÀ̶ó°í ÇÑ´Ù. ÀÌ ¹æ¹ýÀ» ÅëÇØ ¹è¿ï ¼ö ÀÖ´Â »ç½Çµé Áß ¸î°¡Áö ¿¹´Â Àϸ®³ëÀÌÀÇ ¼öµµ´Â ½ºÇÁ¸µÇʵåÀ̰í, 1 + 1 Àº 2 ÀÌ´Ù. ¶Ç´Â ´º¿å¿¡¼ ½ÃÄ«°í±îÁöÀÇ °Å¸®´Â 1500 ¸¶ÀÏÀÌ´Ù ¶ó´Â °ÍµéÀÌ´Ù. ±×·¯³ª, ¹Ýº¹ ÇнÀÀº »ç½Ç¿¡¸¸ Á¦ÇѵǴ °ÍÀÌ ¾Æ´Ï´Ù ; ¶ÇÇÑ ¾î¶² ÀÏÀ» ±¸¼ºÇÏ´Â °Í°ú °°Àº ÀÏ·ÃÀÇ ÇàÀ§¸¦ ¹è¿ì±â À§Çؼµµ Àû¿ëµÉ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, °øÀå ³ëµ¿ÀÚ´Â Á¶¸³ ¶óÀο¡¼ »¡°£ »óÀÚ¿Í ³ë¶õ »óÀÚ¸¦ Á¦°ÅÇϰí, ±×°ÍµéÀ» Àû´çÇÑ Åë ¼Ó¿¡ ³Öµµ·Ï ¹è¿ï ¼ö ÀÖ´Ù. ±â¾ïµÈ ¼ø¼´Â ´ÙÀ½°ú °°´Ù.
1. »¡°²°Å³ª ³ë¶õ »óÀÚ¸¦ Áý¾îµé¾î¶ó.
2. ÇØ´ç Åë ¼Ó¿¡ ³Ö¾î¶ó.
´ëºÎºÐÀÇ ¾ÆÀ̵éÀÌ ±ä ³ª´°¼ÀÀ̳ª °ö¼ÀÀ» ¹è¿ì´Â ¹æ¹ý¿¡µµ °°Àº »ý°¢ÀÌ Àû¿ëµÈ´Ù : ¾î¸°ÀÌ´Â ÇàÀ§ÀÇ Æ¯Á¤ÇÑ ¼ø¼¸¦ ±â¾ïÇØ¼ ±× ¼ø¼¸¦ ¿ä±¸´ë·Î Àû¿ëÇÑ´Ù.
¹Ýº¹ ÇнÀ¿¡¼ Áß¿äÇÑ °ÍÀº Àü¹®ÈÀÌ´Ù. Çʿ信 ÀÇÇØ, ¹Ýº¹¿¡ ÀÇÇØ ¹è¿ï ¼ö ÀÖ´Â ¸ðµç °ÍµéÀº Á¤º¸ÀÇ Æ¯Á¤ÇÑ Ç׸ñµéÀÌ´Ù. Àϸ®³ëÀÌÀÇ ¼öµµ´Â ƯÁ¤ÇÑ µµ½ÃÀÌ´Ù. ´º¿å¿¡¼ ½ÃÄ«°í±îÁöÀÇ °Å¸®´Â ƯÁ¤ÇÑ °Å¸®ÀÌ´Ù. ºñ½ÁÇϰÔ, °øÀå ³ëµ¿ÀÚÀÇ ¾÷¹«¿Í, ±ä ³ª´°¼ÀÀ» ÇØ°áÇϱâ À§ÇÏ¿© »ç¿ëµÈ ¹æ¹ýÀº ÇàÀ§ÀÇ Æ¯Á¤ÇÑ ¼ø¼ÀÌ´Ù. ºñ·Ï ÀÏ·ÃÀÇ ÇàÀ§µéÀÌ, ¾î¶² µÎ ¼ýÀÚµµ ³ª´ ¼ö ÀÖ´Â ±ä ³ª´°¼À°ú °°Àº ¸Å¿ì ´Ù¾çÇÑ ¹®Á¦¿¡ Àû¿ëµÉ ¼ö ÀÖÁö¸¸, ¾÷¹«¸¦ ±¸¼ºÇÏ´Â ´Ü°èÀÇ ½ÇÁ¦ ¼ø¼´Â ÀϹÝȵÇÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î, ¹Ýº¹¿¡ ÀÇÇØ ÇнÀµÈ ¼ø¼µéÀº ´õ ÀûÀýÈ÷ ÇÁ·Î½ÃÁ®¶ó°í ºÒ¸°´Ù.
ÄÄÇ»ÅÍ´Â ¹Ýº¹¿¡ ÀÇÇØ ¹è¿ï ¼ö ÀÖ´Â ¾î¶² °Íµµ ½±°Ô ¹è¿ï ¼ö ÀÖ´Ù. »ç½Ç»ó, ÄÄÇ»ÅͰ¡ µ¿ÀÛÇÏ´Â Á¤»óÀûÀÎ ¹æ¹ýÀÌ´Ù : ÇÁ·Î±×·¥ µÈ´Ù! ÄÄÇ»ÅÍ´Â Áö½Ã¸¦ µû¸£´Â µ¥¿¡ ¾ÆÁÖ Àͼ÷ÇØ Àֱ⠶§¹®¿¡, ÇÁ·Î½ÃÁ®¸¦ ½±°Ô µû¶ó °¥ ¼ö Àְųª ¶Ç´Â Á¤º¸ÀÇ ¾î¶² Ç׸ñÀ» µ¥ÀÌÅͺ£À̽º¿¡ ½±°Ô ÀúÀåÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ¹°Àº 32 µµ¿Í 212 µµ »çÀÌ¿¡¼ ¾×ü´Ù ¶ó°í ¼±»ý´ÔÀÌ Çлý¿¡°Ô °¡¸£Ä¡´Â °Í°ú ¶È°°ÀÌ, °°Àº Á¤º¸¸¦ µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¥¿¡ ³ÖÀ» ¼ö ÀÖ°í, ¹°ÀÌ ¾ðÁ¦ ¾×ü³Ä°í ¹°À¸¸é, Çлý°ú ÄÄÇ»ÅÍ´Â °°Àº ¹æ¹ýÀ¸·Î ¹ÝÀÀÇÒ °ÍÀÌ ¶Ç µû¸¥ ¿¹·Î¼, 6 Àå¿¡¼ °³¹ßµÈ ·Îº¿ ½Ã¹Ä·¹ÀÌÅÍ´Â ¿©·¯ °¡Áö ÇàÀ§¸¦ ¹è¿ï ¼ö ÀÖ´Ù. ·Îº¿ÀÌ ¹è¿ï ¶§, °³°³ÀÇ ÀνºÆ®·°¼ÇµéÀ» ±â¾ïÇß´Ù. ´õ¿ì±â, ·Îº¿Àº ÈÄ¿¡ ±× Áö½Ä¿¡ µû¶ó ÇൿÇÒ ¼ö ÀÖ¾ú´Ù - ¹è¿î °ÍÀ» Áõ¸íÇÒ ¼ö ÀÖ¾ú´Ù.
¿ä¾àÇϸé, ¹Ýº¹ ÇнÀÀº ƯÁ¤ »ç½ÇÀ̳ª °úÁ¤ (ÇÁ·Î½ÃÁ®) ¸¦ ±â¾ïÇÏ´Â °Í°ú °ü·ÃÀÌ ÀÖ´Ù. ÆÄ»ýµÈ ¾î¶² ÀϹÝȵµ ¿ä±¸ÇÏÁö ¾Ê°í °í¼öÁØÀÇ »ç°íµµ ¿¬±¸ÇÏÁö ¾Ê´Â´Ù. ÄÄÇ»ÅÍ´Â ÀÌ¹Ì ¹Ýº¹¿¡ ÀÇÇØ ½±°Ô ¹è¿ï ¼ö Àֱ⠶§¹®¿¡, ´ÙÀ½ Àý¿¡¼´Â ÇнÀÀÇ ¶Ç ´Ù¸¥ ¹æ¹ýÀ» »ìÆìº»´Ù.
»ç¶÷µéÀÌ ¹è¿ì´Â °¡Àå Áß¿äÇÑ ¹æ¹ýÀº ÄÄÇ»ÅÍ¿¡¼ ±¸ÇöÇϱ⿡ °¡Àå ¾î·Á¿î °ÍÀε¥, ÀÎÁöÇнÀÀÌ´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ ÇнÀ¿¡¼, ƯÁ¤ Áö½ÄÀ» ºÐ¼®Çϰí Á¶Á÷ÇÏ°í »óÈ£¿¬°ü½Ã۱â À§ÇÏ¿© Ãß·ÐÀ» »ç¿ëÇÑ´Ù. ÀÌ·¯ÇÑ Á¤½ÅÀû ³ë·ÂÀÇ »ê¹°Àº class ¹¦»çÀÇ »ý¼ºÀÌ´Ù.
class ¹¦»ç (class description) ´Â ¸î°¡Áö Ưº°ÇÑ ¿¹¸¦ Á¶»çÇÔÀ¸·Î½á ÆÄ»ýµÇ´Â ÀϹÝÈÀÌ´Ù. ¿¹¸¦µé¾î, ¸î¸î Ưº°ÇÑ °³¿¡ ÀÇÇÑ Áö½ÄÀ» ÅëÇØ, ¾î¶² °³µµ °¡»óÀûÀ¸·Î °³·Î ÀÎÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °³¿¡ ´ëÇÑ ÀϹÝÈµÈ °³³äÀ» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. ¿äÁ¡Àº °³¿¡ ´ëÇÑ class ¹¦»ç¸¦ ¹è¿ü´Ù´Â °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î, class ¹¦»ç´Â ±× À¯ÇüÀÇ ¸ðµç ´ë»óµéÀ» Á¤ÀÇÇÑ´Ù.
»ç¶÷ÀÌ ÀϹÝȸ¦ ¾ó¸¶³ª »¡¸® ¹è¿ï ¼ö ÀÖ´ÂÁö´Â ³î¶ó¿ï Á¤µµÀÌ´Ù. ±×¸² 1 ¿¡¼ ¹ß°ßµÇ´Â ³×°¡Áö ¹°Ã¼¸¦ »ý°¢ÇÏÀÚ. ±×°Íµé Áß Çϳª´Â class ¿¡ µéÁö ¾Ê´Â´Ù. ºÐ¸íÈ÷, »ç°¢ÇüÀÌ ºñ·Ï ¼¼ °³ÀÇ ¼·Î ´Ù¸¥ Å©±âÀ̱ä ÇÏÁö¸¸ »ï°¢ÇüÀº »ç°¢Çü°ú °°Àº class °¡ ¾Æ´Ï´Ù. ¼¼ °³ÀÇ »ç°¢Çü ¸ðµÎ¿¡ ¸Â´Â, ÇÏÁö¸¸ »ï°¢Çü¿¡´Â Àû¿ëµÇÁö ¾Ê´Â class ¸¦ ½±°Ô ¸¸µé ¼ö Àֱ⠶§¹®¿¡, »ï°¢Çü°ú, »ç°¢ÇüÀÌ ¾Æ´Ñ ¾î¶² °Íµµ ±× class ¿¡ ¼ÓÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¾Ë¾Ò´Ù. À̿Ͱ°Àº °£´ÜÇÑ »óȲ¿¡¼, ±×°Í¿¡ ´ëÇÏ¿© »ý°¢Á¶Â÷ ÇÏÁö ¾Ê°í ÀϹÝÀûÀÎ class ¸¦ ¸¸µé¾ú´Ù.
±×¸² 1. ¾î´À ¹°Ã¼°¡ ¼ÓÇÏÁö ¾Ê´Â°¡?
¶ÇÇÑ ÇÁ·Î½ÃÁ®¿¡ ´ëÇÑ class ¹¦»ç¸¦ Çü¼ºÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ³ª¼ ÀÌ ÀϹÝÈµÈ ÇÁ·Î½ÃÀúµéÀ» ¿©·¯ °¡Áö ºñ½ÁÇÑ »óȲ¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ºñ·Î ¸¶·ç¸¦ û¼ÒÇÏ´Â ÀϹÝÀûÀÎ °úÁ¤À» ¾È´Ù. ´õ¿ì±â, Â÷¸¦ ¿îÀüÇϱâ Àü¿¡ ºñ·Ï ±× µµ·Î¸¦ º» ÀûÀÌ ¾øÁö¸¸ ¾î¶² µµ·Î¿¡µµ, ¾î¶² °æ·Î¸¦ µû¶ó¼µµ ½±°Ô ¿îÀüÇØ °¥ ¼ö ÀÖ´Ù.
ÀÌ ÀÏÀ» Á¤ÀÇÇÏ´Â ±âº» ÀýÂ÷Àû ¿ä¼ÒµéÀ» ÀϹÝÈÇÒ ¼ö Àֱ⠶§¹®¿¡ ±×°ÍµéÀ» ÇÒ ¼ö ÀÖ´Ù. ÇöÀç Àΰ£À» ·Îº¿°ú ±¸º°ÇÏ´Â °ÍÀº ÇÁ·Î½ÃÁ® (°úÁ¤) µéÀ» ÀϹÝÈÇÏ´Â ´É·ÂÀÌ´Ù. ·Îº¿Àº ƯÁ¤ÇÑ ¾÷¹«¸¸ ¾Ë ¼ö ÀÖ´Ù ; ¾÷¹«¸¦ ÀϹÝÈÇÒ ¼ö´Â ¾ø´Ù.
class ¸¦ ÇнÀÇÏ´Â ´É·ÂÀº ¹°Ã¼³ª °úÁ¤¿¡¸¸ Á¦ÇѵǴ °ÍÀÌ ¾Æ´Ï¶ó, »ý°¢°ú °³³ä¿¡µµ Àû¿ëµÉ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ´ëºÎºÐÀÇ Ã¶Çаú Á¾±³´Â ±×µéÀÇ ÃßÁ¾Àڵ鿡°Ô Çൿ°ú ½Å¾Ó¿¡ ´ëÇÑ ÀϹÝÈµÈ Äڵ带 ÁÖ·Á°í ½ÃµµÇϸç, °³ÀÎÀÌ ÀÌ Äڵ忡 µû¶ó ƯÁ¤ÇÑ ÀÏÀ» ÇØ¼®Çϵµ·Ï ÇÏ·Á°í ÇÑ´Ù. ¼±°ú ¾ÇÀÇ °³³äÀ» »ý°¢ÇÏÀÚ. À̰͵éÀº ƯÁ¤ÇÑ »ç°ÇÀ» ¹¦»çÇϱâ À§ÇÏ¿© »ç¿ëµÇ´Â ÀϹÝÀûÀÎ class ÀÌ´Ù. ÀÌ °³³äµéÀº µµ´öÀûÀÎ Àǹ̸¦ °®´Â ¾î¶² ÇàÀ§µéÀÇ class ¹¦»ç¸¦ Ç¥ÇöÇÑ´Ù.
¸í¹éÈ÷, class ¹¦»ç¸¦ ÇнÀÇÏ´Â ´É·ÂÀº Àΰ£ÀÌ »ý°¢ÇÏ´Â ¹æ½Ä´ë·Î »ý°¢ÇÏ´Â ÄÄÇ»Å͸¦ ¸¸µå´Âµ¥ ±âº»ÀÌ µÈ´Ù. ÀÌ Àå¿¡¼ ´Ù·ç¾îÁö´Â °ÍÀº ÀÌ·¯ÇÑ À¯ÇüÀÇ ÇнÀ¿¡ ´ëÇÑ ¿¡¹Ä·¹À̼ÇÀÌ´Ù.
Á¾Á¾ ÀÌ Ã¥¿¡¼´Â ÇÁ·Î±×·¡¸Ó°¡ ÁöÀûÀÎ ÄÄÇ»Å͸¦ ¸¸µé·Á°í ÇÒ ¶§ ±Øº¹ÇØ¾ß ÇÒ °¡Àå Å« Àå¾Ö¹°µé ÁßÀÇ Çϳª´Â »ç¶÷µéÀÌ ÀÚ½ÅÀÇ »ç°í°úÁ¤À» °ÅÀÇ ÀÌÇØÇÏÁö ¸øÇÑ´Ù´Â »ç½ÇÀ̶ó°í ÁöÀûÇß´Ù. °°Àº °ÍÀÌ ÀÎÁö ÇнÀ¿¡ ´ëÇØ¼µµ ¼º¸³ÇÑ´Ù. ÀϹÝÀûÀ¸·Î, °³°³ÀÇ ¹°Ã¼¿¡ ´ëÇÑ ÀϹÝÈµÈ class ¹¦»ç¸¦ ¾î¶»°Ô ¸¸µé ¼ö ÀÖ´ÂÁö »ç½Ç»ó ¸ð¸¥´Ù. ±×·¯³ª, ÀÌ·± À¯ÇüÀÇ ÇнÀÀ» ÄÄÇ»ÅÍ¿¡ ¿¡¹Ä·¹ÀÌÆ®ÇÏ´Â ¹æ¹ýÀ» ã¾Æ³»·Á°í ¾Ö¾²´Â °úÁ¤¿¡¼, Àΰ£ÀÇ »ç°í °úÁ¤¿¡ ´ëÇÑ ¾î¶² ÅëÂûÀÌ ´Ù·ç¾îÁö´ÂÁö ¾Ë¾Æ³»·Á°í ¾Ö¾²´Â °úÁ¤¿¡¼, Àΰ£ÀÇ »ç°í °úÁ¤¿¡ ´ëÇÑ ¾î¶² ÅëÂûÀº ´Ù·ç¾îÁöÁö ¾Ê¾ÒÀ»Áöµµ ¸ð¸¥´Ù.
MIT ÀÇ ÀΰøÁö´É ¿¬±¸½ÇÀåÀÎ Patrick Henry Winston ±³¼ö´Â ÀÎÁö ÇнÀÀ» ÀÌÇØÇϴµ¥ ÁÖ¿äÇÑ µ¹ÆÄ±¸¸¦ ¸¸µé¾ú´Ù. ±×´Â AI ¿¡ °üÇØ ¼¼°èÀûÀ¸·Î Ź¿ùÇÑ ±ÇÀ§ÀÚ ÁßÀÇ ÇÑ »ç¶÷ÀÌ°í ±×ÀÇ Àú¼ÀÎ Artificial Intelligence (Menro Park, Calif:Addison-Wesley, 1984) ´Â AI ¸¦ ÁøÁöÇÏ°Ô °øºÎÇÏ´Â Çлý¿¡°Ô ÃßõµÇ´Â ¼ÀûÀÌ´Ù. class ¹¦»ç¸¦ ÇнÀÇÏ´Â ±×ÀÇ ¹æ¹ýÀº °ð º¸°Ô µÉ ÀÌÀ¯ ¶§¹®¿¡ ¶§¶§·Î "hit-and-near-miss" ¶ó°í ºÒ¸®¿î´Ù.
Hit-and-near-miss ÇÁ·Î½ÃÁ®¸¦ ÀÌÇØÇϵµ·Ï µ½±â À§ÇØ, ¿©±â¼ ±× ÇÁ·Î½ÃÀúÀÇ ¿äÁ¡ (key point) À» ¼³¸íÇØÁÖ´Â ÀüÅëÀûÀÎ ¿¹¸¦ º¸ÀδÙ. ´©±º°¡¿¡°Ô ºí·Ïµé·Î ±¸¼ºµÈ ¾ÆÄ¡¸¦ ÀνÄÇϵµ·Ï °¡¸£Ä¡°í ÀÖ´Ù°í »ó»óÇØ¾ß ÇÑ´Ù. ¸ÕÀú ±×¸² 2a ¿¡ ÀÖ´Â ¾ÆÄ¡¸¦ ¸¸µé°í, ±×¸®°í³ª¼ ±× »ç¶÷¿¡°Ô À̰ÍÀÌ ¾ÆÄ¡´Ù ¶ó°í ¸»ÇØÁØ´Ù. ´ÙÀ½, À§¿¡ ÀÖ´Â ºí·ÏÀ» ¾ø¾Ö°í ±×¸² 2b ¿¡ ÀÖ´Â °Íó·³ ´Ù¸¥ µÎ ºí·ÏÀÇ ¿·¿¡ ±×°ÍÀ» ³õ´Â´Ù. ±×¸®°í ±× Çлý¿¡°Ô À̰ÍÀº ¾ÆÄ¡°¡ ¾Æ´Ï´Ù ¶ó°í ¾Ë·ÁÁØ´Ù. ÀÌ ´Ü°è´Â, ¾ÆÄ¡´Â ²À´ë±â¿¡ ºí·ÏÀÌ Çϳª ÀÖ¾î¾ß ÇÔÀ» ÀǹÌÇÑ´Ù. ´ÙÀ½ ±×¸² 2c ¿¡ ÀÖ´Â °Í°ú °°Àº ¾ÆÄ¡¸¦ ¸¸µé°í ±× »ç¶÷¿¡°Ô À̰ÍÀÌ ¾ÆÄ¡´Ù ¶ó°í ¸»ÇÑ´Ù. ±×¸®°í³ª¼, ±×¸² 2d ¿¡ ÀÖ´Â ±¸Á¶¸¦ ¸¸µé°í À̰ÍÀº ¾ÆÄ¡°¡ ¾Æ´Ï´Ù¶ó°í ¸»ÇÑ´Ù. À̰ÍÀº Ãø¸éÀÇ ÁöÁÖ°¡ ´ê¾Æ¼´Â ¾ÈµÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¸¶Áö¸·À¸·Î, ±×¸² 2e ¿¡ ÀÖ´Â ¾ÆÄ¡¸¦ ¸¸µç´Ù. À̰ÍÀº ¸Ç ²À´ë±â¿¡ ºí·Ï ´ë½Å ¿ø ±âµÕÀ» ³õ´Â´Ù. ±×¸®°í À̰͵µ ¿©ÀüÈ÷ ¾ÆÄ¡¶ó´Â °ÍÀ» ³ªÅ¸³½´Ù. ÀÌ Á¡¿¡¼, ÇлýÀº ¾ÆÄ¡¿¡ ´ëÇÏ¿© ´ÙÀ½ÀÇ class ¹¦»ç¸¦ ÇÒ °ÍÀÌ´Ù : ¼·Î ´êÁö ¾Ê´Â µÎ °³ÀÇ ºí·Ï ²À´ë±â¿¡ ºí·ÏÀ̳ª ¿ø±âµÕÀÌ ÀÖ¾î¾ß Çϰí, ÁöÁÖ ºí·ÏµéÀº ¼¼¿öÁ® Àְųª ´¯Çô ÀÖÀ» ¼ö ÀÖ´Ù.
±×¸² 2. ÀüÇüÀûÀÎ hit-and-near ÇÁ·Î½ÃÀú ¿¹
a ´Â ¾ÆÄ¡, b ´Â ²À´ë±â°¡ ¾ø´Â near miss, c ´Â ¾ÆÄ¡, d ´Â ºí·ÏÀÌ ¸ÂºÙÀº near-miss, e ´Â ¾ÆÄ¡
ÀÌ ¿¹´Â ´ÙÀ½ÀÇ ¿äÁ¡À» ¼³¸íÇØ ÁØ´Ù : class ¹¦»ç´Â ±× class ÀÇ ÀϺÎÀ̰ųª ¸î°¡Áö ¹æ¹ý¸¸ ´Ù¸¥, (¶Ç´Â °³³ä ¶Ç´Â »ý°¢, ¶Ç´Â °úÁ¤) µéÀÇ ¼±ÅÃµÈ ¿¹¸¦ »ç¿ëÇÏ¿© ¸¸µé¾îÁú ¼ö ÀÖ´Ù. ÇлýÀÌ ¾î¶² ¹°Ã¼µéÀÌ class ÀÇ ÀϺÎÀ̰í, ¾î´À ¹°Ã¼µéÀÌ near-misses ÀÎÁö µè±â¸¸ Çϸé, ±× ÇлýÀº °¢ ¿¹¿Í °ü·ÃµÈ À¯»ç¼º°ú Â÷ÀÌÁ¡À» °üÂûÇÔÀ¸·Î½á class ¹¦»ç¸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Ù.
class ¹¦»ç°¡ ¸¸µé¾îÁú ¶§, ¿Ã¹Ù¸¥ ¿¹¿¡ ÀÇÇØ ÇàÇØÁø ¿ªÇÒÀº near-misses °¡ ÇÑ ¿ªÇÒ°ú ´Ù¸£´Ù. °¢ ¿Ã¹Ù¸¥ ¿¹´Â ÇöÀçÀÇ ¹¦»ç°¡ È®ÀåµÇ°Å³ª ÀϹÝÈ µÇ°Ô ÇÑ´Ù. ¿¹¸¦µé¾î, ¾ÆÄ¡ÀÇ °æ¿ì, Çлý¿¡°Ô ÁöÁÖ ºí·ÏÀÌ ´©¿öÀÖ´Â ¾ÆÄ¡¸¦ º¸¿©ÁÙ ¶§, ÇлýÀº ÀÌ »õ·Î¿î ±¸Á¶ ¿ª½Ã ¾ÆÄ¡¶ó´Â »ç½ÇÀ» ¾î¶² ¾ÆÄ¡°¡ ¹Þ¾Æµé¿©¾ß ÇÏ´Â ¹¦»ç¸¦ ÀϹÝÈÇØ¾ß ÇÑ´Ù. ÇлýÀÌ ¿ø±âµÕÀ» °®´Â ¾ÆÄ¡¸¦ º¼ ¶§¿¡µµ °°Àº °ÍÀÌ Àû¿ëµÈ´Ù.
±×·¯³ª, °¢ near-miss ´Â ¸¸µé¾îÁö´Â ¹¦»ç°¡ Á¦ÇÑµÇ°Ô ÇÑ´Ù. ±×¸² 2b ¿¡ ÀÖ´Â ¹°Ã¼°¡ ¾ÆÄ¡°¡ ¾Æ´Ï¶ó´Â »ç½Ç·Î Á¦½ÃµÉ ¶§, ÇлýÀº ÀÌ ¹°Ã¼¿Í ÇöÀçÀÇ class ¹¦»ç »çÀÌÀÇ Â÷ÀÌÁ¡À» °áÁ¤ÇØ¾ß ÇÑ´Ù. µÑ »çÀÌ¿¡ À¯ÀÏÇÑ ºÐ¸íÇÑ Â÷ÀÌ´Â ¼¼ ¹øÂ° ºí·ÏÀÌ ´Ù¸¥ µÎ ºí·ÏÀÇ ²À´ë±â¿¡ ÀÖÁö ¾Ê´Ù´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î, ÇлýÀº ¸ðµç ¾ÆÄ¡µéÀº ²À´ë±â¿¡ ºí·ÏÀÌ Çϳª ÀÖ¾î¾ß ÇÑ´Ù´Â Á¦¾à Á¶°ÇÀ» class ¹¦»ç¿¡ ÷°¡ÇÑ´Ù. ±×¸®°í³ª¼ ÇлýÀº Ãø¸éÀÌ ´ê´Â near-miss ¿¡ Á÷¸éÇÒ ¶§ °°Àº °úÁ¤À» µû¸¥´Ù : Ãø¸éÀº ´êÁö ¾Ê¾Æ¾ß ÇÑ´Ù´Â Á¦¾àÁ¶°ÇÀÌ class ¹¦»ç¿¡ ÷°¡µÈ´Ù.
class ¹¦»ç°¡ Àü°³µÉ ¶§, ¾ÕÀÇ Á¦¾àÁ¶°ÇÀº ÀϹÝÈ µÉ ¼ö ÀÖ°í, ¾ÕÀÇ ÀϹÝÈ´Â Á¦ÇÑµÉ ¼ö ÀÖÀ½À» ¸í½ÉÇØ¾ß ÇÑ´Ù. ¿¹¸¦µé¾î, Çлý¿¡°Ô ²À´ë±â¿¡ ¿ø±âµÕÀÌ ÀÖ´Â ¾ÆÄ¡¸¦ º¸ÀÏ ¶§, ÇлýÀº ºí·ÏÀÌ ²À´ë±â¿¡ ÀÖÀ» °ÍÀ» ¿ä±¸ÇÏ´Â Á¦¾à Á¶°ÇÀ», ÀÌÁ¦´Â ºí·ÏÀ̳ª ¿ø±âµÕÀÌ ²À´ë±â¿¡ ÀÖÀ» °ÍÀ» ¿ä±¸Çϵµ·Ï º¯°æÇØ¾ß ÇÑ´Ù. ¸¸¾à, ²À´ë±â¿¡ ´Ù¸¥ À¯ÇüÀÇ ºí·ÏµéÀ» °®´Â ¸¹Àº ¾ÆÄ¡¸¦ º¸¿©ÁÖ¾ú´Ù¸é, °á±¹ ÇлýÀº ¾ÆÄ¡°¡ ²À´ë±â¿¡ ¾î¶² °ÍÀ» °¡Áú °ÍÀ» ¿ä±¸Çϵµ·Ï Á¦¾àÁ¶°ÇÀ» º¯°æÇßÀ» °ÍÀÌ´Ù. ÀÌ·± °æ¿ì¿¡, ¶Ç´Ù¸¥ class ¹¦»ç°¡ ±ä or ¸®½ºÆ®¸¦ ´ëüÇÏ°Ô µÈ´Ù.
ÀÌ °úÁ¤À» ¾à°£ ´Ù¸¥ °üÁ¡¿¡¼ º¸¸é, °¢ ¿Ã¹Ù¸¥ ¹°Ã¼´Â Çлý¿¡°Ô ±× class ÀÇ ¹°Ã¼°¡ °¡Áú ¼ö ÀÖ´Â ÀÏ·ÃÀÇ ¼Ó¼ºµéÀ» Á¦½ÃÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î, ÇлýÀº ¾î¶² ƯÁ¤ ¹°Ã¼°¡ ¾î¶² class ÀÇ ÀϺζó´Â °ÍÀ» µé¾ú±â ¶§¹®¿¡, ±× ÇлýÀÇ class ¹¦»ç´Â ÀÌ·± À¯ÇüÀÇ ¹°Ã¼µéÀ» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ÇлýÀÌ ±× class ÀÇ ¹°Ã¼°¡ ¹«¾ùÀ» °¡Á®¾ß ÇÏ°í ¹«¾ùÀ» °¡Á®¼´Â ¾ÈµÇ´ÂÁö (must have or must not) ¹è¿ï ¼ö ÀÖ´Â °ÍÀº near-misses ÀÇ »ç½ÇÀ» ÅëÇØ¼ÀÌ´Ù.
ÀÌ ÇнÀ °úÁ¤¿¡ ±âº»ÀÌ µÇ´Â °ÍÀº near-misses °¡ ´Ü ¸î°¡Áö ºÐ¸íÇÑ ¹æ¹ý¸¸À¸·Î - ¾Æ¸¶µµ Çϳª - ½ÇÁ¦ ¹°Ã¼¿Í ´Þ¶ó¾ß ÇÑ´Ù´Â »ç½ÇÀÌ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ÇлýÀº Á¦ÇÑ ¿ä¼Ò°¡ ¹«¾ùÀÎÁö ±¸º°ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿¹¸¦µé¾î, ù ¹øÂ° ¾ÆÄ¡¸¦ º¸À̰í, ±×¸®°í³ª¼ â¹® ¹ÛÀ¸·Î ³¯¾Æ°¡´Â »õ¸¦ °¡¸®Å°°í ±× »õ´Â ¾ÆÄ¡°¡ ¾Æ´Ï¶ó°í ¸»ÇÑ´Ù¸é, ÇлýÀº ¾ÆÄ¡ÀÇ class ¹¦»ç¿¡ Àǹ̾ø´Â Á¤º¸¸¦ ÷°¡ÇÒ ¼öµµ ÀÖ´Ù.
ÀÌÁ¦, class ¹¦»ç¸¦ ÇнÀÇÏ´Â hit-and-near-miss ¹æ¹ý¿¡ ´ëÇÑ ¹æ±Ý ÁÖ¾îÁø ¼³¸íÀ» ÄÄÇ»ÅͰ¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾Ë°í¸®ÁòÀ¸·Î º¯¿ªÇÒ ¶§´Ù. hit-and-near-miss ¾Ë°í¸®ÁòÀº µÎ °¡Áö °¡Á¤À» ÇÑ´Ù. ¸ÕÀú class ÀÇ ÀϺÎÀ̰ųª near-miss ÀÎ ¿¹¸¦ Á¦½ÃÇϰí, ±× ¿¹µé¿¡ ´ëÇÏ¿© Àý´ë °ÅÁþ¸»À» ÇÏÁö ¾Ê´Â ¼±»ý´ÔÀÌ ÀÖ´Ù. µÎ ¹øÂ°·Î, ù ¹øÂ° ¿¹´Â Ãʱ⠸ðµ¨À» Çü¼ºÇÏ´Â °ÍÀ̱⠶§¹®¿¡ À¯È¿ÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ °¡Á¤ÀÌ ÁÖ¾îÁ® ÀÖÀ» ¶§, hit-and-near-miss ¾Ë°í¸®ÁòÀº ´ÙÀ½°ú °°´Ù :
observe sample and form initial model repeat observe sample if hit then generalize else restrict until done |
ÀÌ Á¡¿¡¼, observe sample À̳ª form initial model ÇÁ·Î½ÃÀúµéÀÌ ¾î¶»°Ô ±¸ÇöµÇ´Â °¡¿¡ Áß¿äÇÏÁö ¾Ê´Ù. ±×·¯³ª, generalize ¿Í restrict °¡ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö ÀÌÇØÇÏ´Â °ÍÀº ¾Ë°í¸®Áò¿¡´Â Áß¿äÇÏ´Ù. ¿©±â ÀÌ µÎ ÇÁ·Î½ÃÀúµéÀÌ °¡Àå °£´ÜÇÑ ÇüÅ·ΠÀÖ´Ù. (ÀÌ ÇÁ·Î½ÃÀúµéÀÇ ¿Ïº®ÇÑ ÇüÅ¿¡ ´ëÇØ¼´Â, ¾Õ¿¡¼ ¾ð±ÞµÇ¾ú´ø Winston ÀÇ Ã¥À» ÂüÁ¶ÇØ¾ß ÇÑ´Ù)
procedure restrict : determine the difference between the near-miss and the evolving model if the model has an attribute not found in the near-miss, then require this attribute if the near-miss has an attribute not found in the model, then forbid this attribute
procedure generalize : determine the difference between the example and the evolving model reconcile the difference by enlarging the model |
ÃßÃøÇÒ ¼ö ÀÖµíÀÌ, generalize ¿Í restrict ÇÁ·Î½ÃÀúµéÀº ¼³¸íÇϱâ´Â ½±Áö¸¸ ±¸ÇöÇϱⰡ º¹ÀâÇÏ´Ù. °¡Àå ¾î·Á¿î ¸éÀº generalize ÇÁ·Î½ÃÀú¿¡ ÀÇÇØ ¿ä±¸µÈ °Íó·³, Â÷ÀÌÁ¡µéÀ» Á¶Á¤ÇÏ°í ¸ðµ¨À» Å©°Ô ÇÏ´Â °ÍÀÌ´Ù. À̰ÍÀÌ ¿Ö ±×·±°¡ ¾Ë±â À§ÇÏ¿©, ´Ù½Ã ¿¹·Î µ¹¾Æ°¡ »ý°¢ÇØ¾ß ÇÑ´Ù.
ÄÄÇ»ÅÍ¿¡°Ô ¿ø±âµÕÀÌ ÀÖ´Â ¾ÆÄ¡¸¦ º¸¿´´Ù¸é, ±× ±¸Á¶´Â generalize ÇÁ·Î½ÃÀú¸¦ È£ÃâÇßÀ» °ÍÀÌ´Ù. ÇöÀçÀÇ ¹¦»ç¿Í ¿¹ »çÀÌÀÇ Â÷ÀÌ´Â ²À´ë±â¿¡ ³õÀÎ °ÍÀÇ ¸ð¾çÀ̱⠶§¹®¿¡, generalize ÇÁ·Î½ÃÀú´Â ¿ø±âµÕÀ̳ª ºí·ÏÀÌ ²À´ë±â¿¡ ³õÀÏ ¼ö ÀÖµµ·Ï ¸ðµ¨À» º¯ÇüÇØ¾ß ÇÑ´Ù. ±×·¯³ª, À̸¦ Çϱâ À§ÇÑ ÃÖ»óÀÇ ¹æ¹ýÀº ¹«¾ùÀΰ¡?
µÎ°¡Áö Á¢±Ù ¹æ½ÄÀÌ ÀÖ´Ù. ù ¹øÂ° ¹æ½ÄÀº or ¸®½ºÆ®¸¦ ¸¸µå´Â °ÍÀÌ´Ù. ÀÌ °æ¿ì¿¡, ¾ÆÄ¡ÀÇ ²À´ë±â¸¦ ´Ù·ç´Â ¸ðµ¨ÀÇ ºÎºÐÀº "²À´ë±â¿¡ ºí·ÏÀ̳ª (or) ¿ø±âµÕÀ» °¡Á®¾ß ÇÑ´Ù" °¡ µÈ´Ù. ÀÌ ¹æ½ÄÀº °¡Àå ½±Áö¸¸, ÄÄÇ»ÅͰ¡ ¸¹Àº º¯ÇüÀ» ¸¸³¯ ¶§ ºÐ¸íÇØÁö´Â ½É°¢ÇÑ °áÁ¤À» °¡Áø´Ù. µÎ ¹øÂ° ¹æ½ÄÀº ¼Ó¼ºµéÀÇ »õ·Î¿î class ¸¦ ¸¸µé¾î¼ ±× ¸ðµ¨ÀÇ class À̸§À» »ç¿ëÇÏ´Â °ÍÀε¥, ¹Ý¸é class ¸¦ Çü¼ºÇÏ´Â ½ÇÁ¦ ¼Ó¼ºµéÀº ´Ù¸¥ °÷¿¡ ÀúÀåµÈ´Ù. ÀÌ °æ¿ì¿¡, ¸ðµ¨ÀÇ "²À´ë±â¿¡ ÀÖ´Â °Í (what's-on-top)" À̶ó´Â ºÎºÐÀº "²À´ë±â¿¡ BC ¸¦ °¡Á®¾ß ÇÑ´Ù" °¡ µÇ´Âµ¥, ¿©±â¼ BC ´Â ²À´ë±â¿¡ ÀÖÀ» ¼ö ÀÖ´Â ¹°Ã¼µéÀÇ class ¸¦ ÀÏÄ´ class À̸§ÀÌ´Ù. ÀÌ Á¡¿¡¼, BC ´Â ´Ü¼øÈ÷ "block" °ú "cylinder" ¸¸À» Æ÷ÇÔÇÑ´Ù : ±×·¯³ª, ¾ÆÄ¡¿¡ ´ëÇÑ ¹¦»ç¸¦ ¹Ù²ÙÁö ¾Ê°í BC ¸¦ È®ÀåÇÒ ¼ö ÀÖ´Ù.
Hit-and-near-miss ÇÁ·Î½ÃÀúÀÇ Àû´çÇÑ µ¿ÀÛ (operation) ¿¡ ¿ÏÀüÈ÷ ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸, Àû¿ëµÉ ¶§ È¿À²°ú Àб⠽±°Ô ÇÏ´Â ¼ºÁú (readability) À» Å©°Ô Çâ»ó½ÃŰ´Â µÎ °¡Áö ¿ø¸®°¡ ÀÖ´Ù. ù ¹øÂ° °ÍÀº "no guessing" À̶ó ºÒ¸®°í, ÄÄÇ»ÅͰ¡ ÇöÀç ¸ðµ¨°ú near-miss »çÀÌÀÇ Â÷À̸¦ ÀÚ½ÅÀÖ°Ô ±¸º°ÇÒ ¼ö ¾øÀ» ¶§ È£ÃâµÈ´Ù. - Áï, ¹«¾ùÀÌ ÇнÀµÇ¾î¾ß ÇÏ´ÂÁö Àǽɽº·¯¿ì¸é ÄÄÇ»ÅÍ´Â learn nothing À» ÇØ¾ß ÇÑ´Ù. À̰ÍÀÌ ºñ·Ï º¸¼öÀûÀ¸·Î µé¸±Áö´Â ¸ð¸£Áö¸¸, ¿¡·¯¸¦ ÇÇÇϴµ¥ µµ¿òÀÌ µÈ´Ù. ÀÌ ¿ø¸®´Â ±³»ç°¡ Ç×»ó ¸íÈ®ÇÑ Â÷À̸¦ °®´Â near-miss ¸¦ Á¦°øÇϸé È£ÃâµÉ Çʿ䰡 ¾ø´Ù.
µÎ ¹øÂ° ¿ø¸®´Â "no altering" À̶ó°í ºÒ¸°´Ù. ±³»ç°¡ ÇöÀçÀÇ Á¤ÀÇ¿Í ÀÏÄ¡ (match) ÇÏÁö ¾Ê´Â ¿Ã¹Ù¸¥ ¿¹¸¦ Á¦°øÇϸé, ÄÄÇ»ÅÍ´Â ±×°ÍÀ» ´Ù·ç±â À§ÇÏ¿© ¿Ã¹Ù¸¥ ºÐ·ù¸¦ È®ÀåÇÏ·Á°í Çϱ⠺¸´Ù´Â º°°³ÀÇ Æ¯º°ÇÑ °æ¿ì¿¡ ´ëÇÑ class ¸¦ ¸¸µç´Ù. ¿¹¸¦µé¾î, ÀÚµ¿Â÷ÀÇ Á¤ÀÇ´Â ³»¿¬±â°ü (internal combustion motor) À» °®´Â´Ù´Â Á¦¾àÁ¶°ÇÀ» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î ÄÄÇ»ÅÍ´Â ÀüÂ÷¸¦ Ưº°ÇÑ °æ¿ì¿¡ ´ëÇÑ class ÀÇ ÇÑ ±¸¼º¿øÀ¸·Î ´Ù·ç¾î¾ß ÇÑ´Ù.
ÀÌ µÎ ¿ø¸® ¸ðµÎ ±³»ç°¡ ¿¹¿¡ ´ëÇÏ¿© ÁÖÀÇÇϸé ÇÇÇØÁú ¼ö ÀÖ´Â Ãæµ¹ »óȲ¿¡¼¸¸ È£ÃâµÇ±â ¶§¹®¿¡, ÀÌ Àå¿¡¼ ³ªÁß¿¡ °³¹ßµÇ´Â ÇÁ·Î±×·¥¿¡ ÷°¡µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯³ª, ¾î¶² ÇÁ·Î±×·¥µµ °³¹ßÇÒ ¼ö ÀÖ±â Àü¿¡, ÄÄÇ»ÅͰ¡ Áö½ÄÀ» Ç¥ÇöÇϰí ÀúÀåÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö ¹æ¹ýµéÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù.
ÇнÀÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» °í¾ÈÇÏ´Â ¸í¹éÇÑ ¾î·Á¿òÀ» Á¦¿ÜÇϰí, ºÎÂ÷ÀûÀÎ ¹®Á¦´Â ½ÀµæµÈ Áö½ÄÀ» ÄÄÇ»ÅÍ ³»ºÎ¿¡ ÀúÀåÇÏ´Â ¹æ¹ýÀ» ¸¸µå´Â °ÍÀÌ´Ù. Áö½ÄÀÇ Æ¯¼º°ú ÇÁ·Î±×·¡¸ÓÀÇ ¼±È£µµ°¡ Áö½ÄÀÌ Ç¥ÇöµÇ´Â ¹æ¹ýÀ» °áÁ¤ÇÑ´Ù. Áö½ÄÇ¥Çö ºÐ¾ß¿¡¼ ¹ß´ÞÇÑ ¿©·¯ °¡Áö ±â¹ýµéÀÌ ÀÖ°í °¡Àå Áß¿äÇÑ °ÍÀº ´ÙÀ½°ú °°´Ù :
ÀÌ Àý¿¡¼´Â ÀÌ ±â¹ýµé °¢°¢¿¡ ´ëÇÏ¿© ¿¬±¸ÇÑ´Ù.
ÈÄÁø ¿¬¼â (backward-chaining) Àü¹®°¡½Ã½ºÅÛÀÌ µ¿ÀÛÇÏ´Â ¹æ¹ýÀ¸·Î µÇµ¹¾Æ°¡ »ý°¢ÇØ º¸ÀÚ. ºÐ¸íÈ÷, ÀÌ·± À¯ÇüÀÇ ½Ã½ºÅÛ¿¡ ´ëÇÑ Áö½ÄÀ» Ç¥ÇöÇÏ´Â °¡Àå È¿À²ÀûÀÎ ¹æ¹ýÀº Æ®¸®ÀÌ´Ù. Àü¹®°¡½Ã½ºÅÛÀÌ Æ®¸®¸¦ ÅëÇØ ÁøÇàÇÒ ¶§, Å« ºÎºÐµé (large sections) À» Àß¶ó³»°í Àû´çÇÑ Áö½ÄÀ» »¡¸® ¹ß°ßÇÑ´Ù. Áö½ÄÀÌ Æ®¸®·Î¼ ¾î¶»°Ô Ç¥ÇöµÉ ¼ö Àִ°¡ ÀÌÇØÇϱâ À§Çؼ, ±×¸² 3 ¿¡ º¸¿©Áø, »ï°¢Çü, »ç°¢Çü, »ç´Ù¸®²Ã¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇϱâ À§ÇÏ¿© »ç¿ëµÈ Æ®¸®¸¦ »ý°¢ÇØ º¸ÀÚ. ±×¸²¿¡¼ º¸¿©ÁÖµíÀÌ, ÀÌ Áö½Ä Æ®¸®¸¦ »ç¿ëÇÏ´Â Àü¹®°¡½Ã½ºÅÛÀº Æ®¸®¸¦ ÅëÇØ À̵¿ÇÔ¿¡ µû¶ó »ç¿ëÀÚ¿¡°Ô Ç×»ó ÀûÀýÇÑ Áú¹®À» ÇÒ °ÍÀÌ´Ù.
±×¸² 3. »ï°¢Çü, »ç°¢Çü, »ç´Ù¸®²Ã ÀÇ Áö½Ä Æ®¸®
Æ®¸®´Â Ư¼º»ó °èÃþÀû (hierarchical) ÀÌ´Ù. ±×·¡¼, °èÃþÀû Áö½Ä¸¸ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª, ¸¹Àº Áö½ÄÀÌ ÀÌ ¹üÁÖ¿¡ ¼ÓÇϱ⠶§¹®¿¡ À̰ÍÀº ±×´ÙÁö Å« Á¦¾àÀº ¾Æ´Ï´Ù. Æ®¸®¸¦ »ç¿ëÇÒ ¶§ÀÇ °¡Àå Å« ´ÜÁ¡Àº Æ®¸®°¡ È¿À²ÀûÀ̵µ·Ï ±¸¼ºÇϰí À¯ÁöÇÏ´Â ¾î·Á¿òÀÌ´Ù. Æ®¸®¿Í ¿¬°üµÈ ¿À¹öÇìµåÀÇ ¼öÁØ (level) Àº, ¾ÆÁÖ ÀûÀº ¾çÀÇ Áö½ÄÀ» ÀúÀåÇϱ⠿øÇÒ ¶§ Æ®¸®¸¦ ¸Å·ÂÀûÀÌÁö ¸øÇÏ°Ô ¸¸µé ¼öµµ ÀÖ´Ù.
¸®½ºÆ®´Â Ç×»ó, Áö½ÄÀ» Ç¥ÇöÇϱâ À§ÇÏ¿© AI ÀÇ ÀüÅëÀû ¹æ¹ýÀÌ´Ù. À̰ÍÀÇ ÁÖµÈ ÀÌÀ¯´Â, ÃÖÃÊÀÇ AI ¾ð¾îÀÎ Lisp ÀÌ ¸®½ºÆ®¸¦ È¿À²ÀûÀ¸·Î ´Ù·çµµ·Ï ¼³°èµÇ¾ú±â ¶§¹®ÀÌ´Ù. ¸®½ºÆ®¸¦ Áö½ÄÇ¥Çö¿¡ ƯÈ÷ ¸Å·ÂÀûÀÌ°Ô ÇÏ´Â °ÍÀº, ¸®½ºÆ®°¡ C ·Î ó¸®Çϱ⿡ ¸Å¿ì ½±´Ù´Â °ÍÀÌ´Ù.
Áö½ÄÀÌ ¸®½ºÆ®·Î ¾î¶»°Ô Ç¥ÇöµÇ´ÂÁö ÀÌÇØÇϱâ À§Çؼ, µµ¼°üÀÇ Ä«µå īŻ·Î±×¸¦ »ý°¢Çغ¸ÀÚ. ¸¸¾à ƯÁ¤ÇÑ ÁÖÁ¦¿¡ ´ëÇÑ Ã¥À» ã°í ÀÖ´Ù¸é, °¢ Ä«µå¸¦ ÈȾ¸é¼ ´ç½ÅÀÌ Ã£°í ÀÖ´Â °Í¿¡ ¼ÓÇÏÁö ¾Ê´Â °ÍµéÀº ¹ö¸®°í, ¿øÇϴ åÀ» ¹ß°ßÇÒ ¶§ ¸ØÃâ °ÍÀÌ´Ù. ´Ù½Ã ¸»Çϸé, ¸®½ºÆ®·Î ÀúÀåµÈ Áö½ÄÀº ±×°ÍÀ» ã¾Æ³»±â (retrieve) À§Çؼ ¼øÂ÷ Ž»ö (sequential search) À» ¿ä±¸ÇÑ´Ù. ±×¸² 4 ´Â »ï°¢Çü, »ç°¢Çü, ±×¸®°í »ç´Ù¸®²Ã¿¡ ´ëÇÑ Áö½ÄÀ» ¸®½ºÆ®·Î¼ ¾î¶»°Ô ÀúÀåÇÒ ¼ö ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù.
±×¸² 4. »ï°¢Çü, »ç°¡Çü, »ç´Ù¸®²ÃÀÇ Áö½Ä Æ®¸®
¸®½ºÆ®µéÀº ºñ·Ï ¼øÂ÷ÀûÀ¸·Î¸¸ ó¸®µÉ ¼ö ÀÖÁö¸¸, ¸ðµç À¯ÇüÀÇ Áö½ÄÀ» Ç¥ÇöÇϱâ À§ÇÏ¿© ±×°ÍÀ» »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ Áß¿äÇÏ´Ù. ¸®½ºÆ®¸¦ óÀ½¿¡ AI ¿¡ Áß¿äÇÏ°Ô ¸¸µç °ÍÀÌ ¹Ù·Î ÀÌ Ä¿´Ù¶õ À¶Å뼺ÀÌ´Ù. ¶ÇÇÑ ¿©·¯ Àε¦½Ì ±â¹ýÀ» »ç¿ëÇÔÀ¸·Î½á ¸®½ºÆ®¸¦ °ÅÀÇ Æ®¸®¸¸Å È¿À²ÀûÀ¸·Î ¸¸µé ¼ö ÀÖÀ½À» ±â¾ïÇØ¾ß ÇÑ´Ù.
³×Æ®¿öÅ©·Î Áö½ÄÀ» Ç¥ÇöÇÏ´Â °ÍÀº º¹ÀâÇÑ ¸¸Å ¸Å·ÂÀûÀÌ°í °·ÂÇÏ´Ù! ¾ðÁ¨°¡, Áö½ÄÀÇ ³×Æ®¿öÅ© Ç¥ÇöÀÌ Ç¥ÁØÀÌ µÉ °¡´É¼ºÀÌ ÀÖÁö¸¸, "ºí·¢¹Ú½º" ·çƾµéÀÌ ÀϹÝÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖÀº ÈÄ ¶ó¾ß ÇÑ´Ù. Áö½Ä ³×Æ®¿öÅ©´Â µÎ°¡Áö Á¶°Ç¿¡ ±âÃʸ¦ µÐ´Ù. ù ¹øÂ° Á¶°ÇÀº, ³×Æ®¿öÅ©¿¡ ÀÖ´Â Áö½ÄÀÌ °èÃþÀûÀÌ ¾Æ´Ñ (non-hierarchical) ±×·¡ÇÁÀÇ ³ëµå·Î Ç¥ÇöµÈ´Ù´Â °ÍÀÌ´Ù : Æ®¸®¿Í´Â ´Þ¸® ³×Æ®¿öÅ©¿¡¼ ¸ðµç ³ëµå´Â °°Àº Á߿伺À» °¡Áö¸ç ¾î¶² ³ëµåµµ ½ÃÀÛÁ¡À¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. µÎ ¹øÂ° Á¶°ÇÀº À¯»çÇÑ À¯ÇüÀÇ Áö½ÄÀº ¼·Î °¡±õ°Ô ±×·ìÁö¾îÁöµµ·Ï ³ëµåµéÀÌ ¹è¿µÈ´Ù´Â °ÍÀÌ´Ù : ±×·¯¹Ç·Î, ÀÌ¿ô ³ëµåµéÀº near-miss °ü°è¸¦ °®´Â´Ù. ¿¹¸¦µé¾î, ±×¸² 5 ´Â ±âÇÏÇÐÀû ¸ð¾çµé¿¡ ´ëÇÑ ³×Æ®¿öÅ©¸¦ º¸ÀδÙ.
±×¸² 5. ±âÇÏÇÐÀû ¸ð¾ç ³×Æ®¿öÅ©
³×Æ®¿öÅ©¸¦ Àû´çÇÑ À§Ä¡¿¡ ³Ö°í, ±×¸®°í³ª¼ Àû´çÇÑ ³ëµå¿¡ µµÂøÇÒ ¶§±îÁö ³×Æ®¿öÅ©¸¦ µû¶ó ÁøÇàÇÔÀ¸·Î½á ³×Æ®¿öÅ© ¸ðµ¨À» ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. À̷лó, ÀÌ ¹æ¹ýÀº »õ·Î¿î ³ëµå·ÎÀÇ ÀüÀÌ (transition) °¡ À¯»çÈ÷ Áõ°¡ÇÏ´Â ¹æÇâ - ¾ð´ö ¿À¸£±â (Hill Climbing) Ž»öÀÇ ÇÑ ÇüÅ - ¿¡ Àֱ⠶§¹®¿¡ ¸¸µé¾îÁö°Ô µÇ¹Ç·Î, ¾ÆÁÖ È¿À²ÀûÀ̾î¾ß ÇÑ´Ù.
(½ÇÁ¦·Î, ±× ¹æ¹ýÀº ÇöÀç ³ëµå¿¡ ¿¬°áÇÏ´Â °¢ ³ëµå¸¦ Å×½ºÆ®Çϰí, Áõ°Å¿Í °¡Àå ÀÏÄ¡ÇÏ´Â ³ëµå¸¦ ¼±ÅÃÇÑ´Ù). ³×Æ®¿öÅ©¸¦ ¾î´À °÷¿¡ ³Ö´ø °£¿¡ ÀÌ ÇÁ·Î½ÃÀú´Â ÀÛµ¿ÇÒ °ÍÀÌÁö¸¸, ¸ñÇ¥¿¡ ´Ù¼Ò °¡±î¿î ³ëµå¿¡ ³Ö´Â °ÍÀÌ °¡Àå ÁÁ´Ù. ±×·¯¹Ç·Î, ´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¸ðµ¨µéÀº ¶ÇÇÑ, °¢ »óȲ¿¡ ´ëÇÑ ¿£Æ®¸® ³ëµå¸¦ ¼±ÅÃÇÏ´Â °ÍÀ» µ½´Â À妽ºµéÀÇ ¸®½ºÆ®¸¦ Æ÷ÇÔÇÑ´Ù. ÃÖ¾ÇÀÇ °æ¿ì·Î, ¸¸¾à ¿ì¿¬È÷ °¡Àå ´àÁö ¾ÊÀº ³ëµå¸¦ ¼±ÅÃÇϸé, ³×Æ®¿öÅ©´Â ¸®½ºÆ®·Î Åðº¸ÇÑ´Ù.
Áö½ÄÀ» Ç¥ÇöÇϱâ À§ÇÑ ³×Æ®¿öÅ© ¸ðµ¨ÀÇ ÀåÁ¡Àº °èÃþÀûÀÎ Áö½Ä°ú °èÃþÀûÀÌ ¾Æ´Ñ Áö½ÄÀ» ¸ðµÎ ½±°í È¿À²ÀûÀ¸·Î ´Ù·ê ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. °èÃþÀûÀÌ ¾Æ´Ñ Áö½ÄÀº ³×Æ®¿öÅ©ÀÇ ¹Ù±ù °¡ÀåÀÚ¸®¿¡ ³õÀÌ·Á´Â °æÇâÀÌ ÀÖ°í, °èÃþÀûÀÎ Áö½ÄÀº Á᫐ (Ãß»óÀûÀÎ Àǹ̿¡¼) ±Ùó¿¡ ³õÀÌ·Á´Â °æÇâÀÌ ÀÖ´Ù.
¸¹Àº AI ¿¬±¸°¡µéÀº ³×Æ®¿öÅ© ¸ðµ¨ÀÌ Àΰ£ÀÇ Áö½Ä Ç¥Çö ¹æ¹ý°ú °¡Àå ¹ÐÁ¢ÇÏ°Ô ´à¾Ò´Ù°í ¹Ï´Â´Ù. ±×·¯³ª ¹°·Ð À̰ÍÀº ¿©±â¼´Â °á·ÐÀûÀ¸·Î ¾Ë·ÁÁöÁö ¾Ê´Â´Ù.
Áö½ÄÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Â ¼¼°¡Áö °¡´ÉÇÑ ¹æ¹ýµé Áß¿¡¼, °¡Àå ½±°í °¡Àå ºü¸¥ ¹æ¹ýÀº ¸®½ºÆ®¸¦ »ç¿ëÇÔÀ¸·Î½áÀÌ´Ù. µû¶ó¼, ¿©±â¼ °³¹ßµÈ hit-and-near-miss class ¹¦»ç ÇнÀ ÇÁ·Î±×·¥ÀÇ ±¸Çö¿¡ ÀÇÇØ »ç¿ëµÉ °ÍÀº ¹Ù·Î ÀÌ ¹æ¹ýÀÌ´Ù. hit-and-near-miss ¾Ë°í¸®ÁòÀÇ ¹¦»ç Áß¿¡ ¾ð±ÞµÈ °Íó·³, ÀÌ Àå¿¡¼ ¼³¸íµÈ ÇÁ·Î±×·¥Àº °¡Àå °£´ÜÇÑ ¹öÀüÀÌ´Ù. ±×·¯³ª, ÀÌ °£´ÜÇÑ ¹öÀüÁ¶Â÷µµ °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î ±¸ÇöÇÏ¸é ¸Å¿ì µµÀüÀûÀÎ ¸î°¡Áö ¹®Á¦¸¦ Á¦½ÃÇÑ´Ù. ºÒÇàÈ÷µµ ÀÌ ¸î°¡Áö ¹®Á¦µé·ÎÀÇ ÇØ°áÀº ¸¹Àº ¾çÀÇ Äڵ带 ¿ä±¸ÇÏ°í ¸¹Àº ·çƾµéÀÇ ¸íÈ®¼ºÀ» È帣°Ô ÇÑ´Ù. ±×·¯¹Ç·Î, ¿©±â¼ °³¹ßµÈ ¹öÀüÀº ±³»ç°¡ µÚ¿¡ ¼³¸íµÉ ¾ö°ÝÇÑ Çü½Ä (format) À» µû¸¥´Ù°í °¡Á¤Çϸé, class ¹¦»ç¸¦ Á¤È®È÷ ÇнÀÇÒ °ÍÀÌ´Ù.
class ¹¦»ç ÇнÀ°úÁ¤ (procedure) ¸¦ ±¸ÇöÇÒ ¶§ Áß¿äÇÑ °ÍÀº °¢ ºÐ·ù¿¡ ´ëÇÏ¿© µÎ °³ÀÇ ¸®½ºÆ®¸¦ À¯ÁöÇÏ´Â °ÍÀÌ´Ù. ù ¹øÂ° ¸®½ºÆ®´Â ºÐ·ù°¡ °¡Á®¾ß ÇÏ´Â (must have) ±×·± ¼Ó¼ºµéÀ» Æ÷ÇÔÇϰí, µÎ ¹øÂ° ¸®½ºÆ®´Â °¡Áú ¼ö ÀÖ´Â (may have) ¼Ó¼ºµéÀ» À¯ÁöÇÑ´Ù. class ¸¦ Á¤ÀÇÇϱâ À§Çؼ´Â "must-have list" ¸¸ÀÌ ¿ä±¸µÇÁö¸¸, "may-have list" ´Â ¸ðµ¨À» °³¹ßÇϱâ À§ÇÏ¿© »ç¿ëµÈ´Ù. ÄÄÇ»ÅͰ¡ »õ·Î¿î ¼Ó¼ºµéÀ» ÇнÀÇÒ ¶§, ÄÄÇ»ÅÍ´Â ±×°ÍµéÀ» ¸ÕÀú may have ¸®½ºÆ®¿¡ ³õ°í, near-miss ¸¦ °øºÎÇϰí ÀÖÀ¸¸é, ±× ¼Ó¼ºµéÀÌ class ¹¦»çÀÇ ÀϺÎÀ̾î¾ß ÇÑ´Ù°í ÇнÀÇÒ ¶§¿¡¸¸ must have ¸®½ºÆ®·Î À̵¿½ÃŲ´Ù.
hit-and-near-miss ÇÁ·Î½ÃÀúÀÇ ÀÌ ¹öÀü¿¡ ´ëÇÏ¿©, ¸ðµç ¿¹ (sample) µé°ú near-miss µéÀº ´ÙÀ½ ±¸Á¶¸¦ °®´Â ¹®Àå¿¡ ÀÇÇØ ¹¦»çµÉ °ÍÀÌ´Ù :
Á־ (subject phrase) µ¿»ç±¸ (verb phrase) ¸ñÀû¾î±¸ (object phrase)
±×·¯¹Ç·Î, ¾ÆÄ¡ÀÇ ¿¹´Â ´ÙÀ½À¸·Î½á Ç¥ÇöµÉ ¼ö ÀÖ´Ù.
side one left of side two
Á־ µ¿»ç±¸ ¸ñÀû¾î±¸
±×°ÍÀÇ near-miss ÂÊÀº ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Ù.
side one not left of side two
Á־ µ¿»ç±¸ ¸ñÀû¾î±¸
ÇÁ·Î±×·¥ÀÇ µ¿ÀÛ¿¡ ´ëÇÑ Áß¿äÇÑ Á¡ (key) Àº (±×¸®°í ±×°ÍÀ» Ã¥ ¼Ó¿¡ ¸ÂÀ» ¸¸Å ÃæºÐÈ÷ °£´ÜÇÏ°Ô À¯Áö½ÃŰ´Â ÁÖ¿ä Á¦¾àÁ¶°Ç), µ¿»ç±¸¿¡ "not" À» ´õÇÏ´Â °ÍÀº ¸ðµç near-miss ¸¦ Çü¼ºÇÑ´Ù´Â Á¡ÀÌ´Ù. ±×·¯¹Ç·Î, ¹æ±Ý ÁÖ¾îÁø ¿¹¿Í near-miss ¿¡ ´ëÇÏ¿©, near-miss ÀÇ µ¿»ç±¸¿¡ ÀÖ´Â "not" Àº Ãø¸é 1 ÀÌ Ãø¸é 2 ÀÇ ¿ÞÂÊ¿¡ ÀÖ¾î¾ß (must be) ÇÑ´Ù´Â °ÍÀ» °áÁ¤Çϱâ À§ÇÏ¿© »ç¿ëµÈ´Ù.
ÀÌ·¯ÇÑ Çü½Ä (format) ÇÏ¿¡¼, must-have µ¥ÀÌÅͺ£À̽º¿Í may-have µ¥ÀÌÅͺ£À̽º´Â ´ÙÀ½ ±¸Á¶¸¦ °®´Â ¹è¿ÀÏ °ÍÀÌ´Ù :
struct attribute { char subject[80]; char verb[80]; char object[80]; char active; }; |
ÇÁ·Î±×·¥Àº ¸ðµ¨ÀÌ Àü°³µÊ¿¡ µû¶ó ÇÊ¿äÇÏÁö ¾ÊÀº ¿¹µéÀ» ºÒȰ¼ºÇϱâ À§ÇÏ¿© active Çʵ带 »ç¿ëÇÑ´Ù. generalize() ¿Í restrict() ÇÁ·Î½ÃÀúµé°ú ÇÔ²², ±×°ÍµéÀ» ±¸µ¿½ÃŰ´Â (drive) learn() ÇÁ·Î½ÃÀú°¡ ¿©±â¿¡ º¸¿©Áø´Ù.
/* learn a class description for an object */ learn() { char sub[80], verb[80], obj[80]; char msub[80], mverb[80], mobj[0]; for (; ;) { printf("Enter an example. ¡¬n"); if (!get_example(sub, verb, obj)) { return ; } if (find_may(sub, verb, obj)==-1) { assert_may(sub, verb, obj); generalize(sub, verb, obj); } printf("Enter a near-miss (CR to skip). ¡¬n"); get_example(msub, mverb, mobj); restrict(msub, mverb, mobj); } }
/* restrict the description of an object i.e., remove from may-have list and place in must-have list. */ restrict(ms, mv, mo) char *ms, *mv, *mo; { register int t; char temp[4]; for (t=0; t<3; t++) temp[t]=tolower(mv[t]); temp[3]='¡¬0'; if (strcmp(temp, "not")) return; for (t=0; t<may_pos; t++) { if (!strcmp(&mv[4], may[t].verb && !strcmp(may[t].subject, ma) && !strcmp(may[t].object, mo) && may[t].active) { assert_must(may[t].subject, may[t].verb, may[t].object); may[t].active=0; /* remove from list */ return ; } } }
/* generalize new examples */ generalize(n, v, o) char *n, *v, *o; { register int t, i; /* check may-have list */ for (t=0; t<may_pos; t++) { if (strcmp(may[t].subject, n) && /* not same subject */ !strcmp(may[t].verb, v) && !strcmp(may[t].object, o) && may[t].active) { strcat(may[t].subject, " or "); strcat(may[t].subject, n); } } for (t=0; t<may_pos; t++) { if (!strcmp(may[t].subject, n) && !strcmp(may[t].verb, v) && strcmp(may[t].object, o) && /* not same object */ may[t].active) { strcat(may[t].subject, " or "); strcat(may[t].object, o); } }
/* check must-have list */ for (t=0; t<must_pos; t++) { if (strcmp(must[t].subject, n) && /* not same subject */ !strcmp(must[t].verb, v) && !strcmp(must[t].object, o)) { strcat(must[t].subject, " or "); strcat(must[t].subject, n); i=find_may(n, v, o); may[i].active=0; /* remove from may-have list */ } } for (t=0; t<must_pos; t++) { if (!strcmp(must[t].subject, n) && !strcmp(must[t].verb, v) && strcmp(must[t].object, o)) { /* not same object */ strcat(must[t].object, " or "); strcat(must[t].object, o); i=find_may(n, v, o); may[i].active=0; /* remove from may-have list */ } } } |
ÀÌ ÇÁ·Î½ÃÀúµéÀº ´ÙÀ½°ú °°ÀÌ µ¿ÀÛÇÑ´Ù. »ç¿ëÀÚ, ¶Ç´Â ±³»ç°¡ ¿¹¸¦ ³ÖÀ» ¶§¸¶´Ù ÀÌ¹Ì °Å±â¿¡ ÀÖÁö ¾ÊÀ¸¸é, ÄÄÇ»ÅÍ´Â ±×°ÍÀ» may-have µ¥ÀÌÅͺ£À̽º¿¡ ³õ´Â´Ù. ±×¸®°í³ª¼ generalize() °¡ È£ÃâµÇ´Âµ¥, À̰ÍÀº ¿¹¸¦ µç ¼¼ °³ÀÇ ±¸¸¦, may-have µ¥ÀÌÅͺ£À̽º¿Í must-have µ¥ÀÌÅͺ£À̽º¿¡ ¸ðµÎ µé¾îÀÖ´Â ¿£Æ®¸®µé°ú ºñ±³ÇÑ´Ù. ¸¸¾à °°Àº µ¿»ç±¸¿Í ¸ñÀû¾î±¸¸¦ °®°í ´Ù¸¥ Á־¸¦ °®´Â ¿£Æ®¸®¸¦ generalize() °¡ ãÀ¸¸é, generalize() ´Â ´Ü¾î "or" ¸¦ »ç¿ëÇÏ¿© µÎ °³ÀÇ °¢ Á־ °áÇÕÇÏ°í ¿£Æ®¸®¸¦ º¯È (update) ½ÃŲ´Ù. ´ë¾ÈÀ¸·Î, ÇÑ ¿£Æ®¸®°¡ °°Àº ÁÖ¾î¿Í µ¿»ç¸¦ °®Áö¸¸ °°Àº ¸ñÀû¾î¸¦ °®Áö ¾ÊÀ¸¸é, generalize() ´Â µÎ °³ÀÇ ¸ñÀû¾î¸¦ °áÇÕÇÏ°í ¿£Æ®¸®¸¦ º¯È½ÃŲ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î, »õ·Î¿î ºÐ·ù°¡ ¸¸µé¾îÁø´Ù.
ºñ·Ï ÀÖ´Ù ÇÏ´õ¶óµµ ¸ðµç ÀϹÝȰ¡ ÀÌ·ç¾îÁø ÈÄ¿¡, »ç¿ëÀÚ´Â near-miss ¸¦ ³Ö´Â´Ù. ±×·¯³ª, near-miss °¡ ÀÌÀü¿¡ ³ÖÀº ¿¹¿Í ÀÏÄ¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. »ç½Ç»ó, »ç¿ëÀÚ´Â ¿øÇÑ´Ù¸é near-miss ¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù. near-miss °¡ ÀԷµǸé, ÇÁ·Î±×·¥Àº restrict() ¸¦ È£ÃâÇÑ´Ù. restrict() ÇÁ·Î½ÃÀú´Â may-have µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â °¢ ¿£Æ®¸®¸¦ near-miss ±¸¿Í ºñ±³ÇÑ´Ù. "not" À» Á¦¿ÜÇÏ°í ¿£Æ®¸¯ ÀÏÄ¡Çϸé, restrict() ´Â ±× ¿£Æ®¸®¸¦ may-have ¸®½ºÆ®¿¡¼ must-have ¸®½ºÆ®·Î ¿Å±ä´Ù. ÀÌ ´Ü°è´Â class ¸¦ Á¦ÇÑÇÑ´Ù.
Àüü ÇÁ·Î±×·¥ÀÌ ¿©±â¿¡ º¸¿©Áø´Ù. À̹ø¿¡´Â ±×°ÍÀ» ÄÄÇ»ÅÍ¿¡ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
/* Learning class descriptions by using the "hit-and-near-miss" method */ #define MAX 100 struct attribute { char subject[80]; char verb[80]; char object[80]; char active; };
struct attribute may[MAX]; /* may-have database */ struct attribute must[MAX]; /* must-have database */ int may_pos=0; /* index into may-have database */ int must_pos=0; /* index into must-have database */
main() { for (; ;) { printf("(L)earn, (D)isplay, or (Q)uit ? ¡¬n"); switch(tolower(getch())) { case 'l' : learn(); break; case 'd' : display(); break; case 'q' : exit(); } printf("¡¬n"); } }
/* learn a class description for an object */ learn() { char sub[80], verb[80], obj[80]; char msub[80], mverb[80], mobj[0]; for (; ;) { printf("Enter an example. ¡¬n"); if (!get_example(sub, verb, obj)) { return ; } if (find_may(sub, verb, obj)==-1) { assert_may(sub, verb, obj); generalize(sub, verb, obj); } printf("Enter a near-miss (CR to skip). ¡¬n"); get_example(msub, mverb, mobj); restrict(msub, mverb, mobj); } }
/* place an entry into the may-have database */ assert_may(n, v, o) char *n, *v, *o; { if (may_pos<MAX) { strcpy(may[may_pos].subject, n); strcpy(may[may_pos].verb, v); strcpy(may[may_pos].object, o); may[may_pos].active=1; may_pos++; } else printf("out of memory ¡¬n"); }
/* place an entry into the must-have database */ assert_must(n, v, o) char *n, *v, *o; { if (must_pos<MAX) { strcpy(must[must_pos].subject, n); strcpy(must[must_pos].verb, v); strcpy(must[must_pos].object, o); must_pos++; } else printf("out of memory ¡¬n"); }
/* find an entry in the may-have database */ find_may(n, v, o) char *n, *v, *o; { register int t; for (t=0; t<may_pos; t++) if (!strcmp(may[t].subject, n) && !strcmp(may[t].verb, v) && !strcmp(may[t].object, o) && may[t].active) return; return -1; }
/* restrict the description of an object i.e., remove from may-have list and place in must-have list. */ restrict(ms, mv, mo) char *ms, *mv, *mo; { register int t; char temp[4]; for (t=0; t<3; t++) temp[t]=tolower(mv[t]); temp[3]='¡¬0'; if (strcmp(temp, "not")) return; for (t=0; t<may_pos; t++) { if (!strcmp(&mv[4], may[t].verb && !strcmp(may[t].subject, ma) && !strcmp(may[t].object, mo) && may[t].active) { assert_must(may[t].subject, may[t].verb, may[t].object); may[t].active=0; /* remove from list */ return ; } } }
/* generalize new examples */ generalize(n, v, o) char *n, *v, *o; { register int t, i; /* check may-have list */ for (t=0; t<may_pos; t++) { if (strcmp(may[t].subject, n) && /* not same subject */ !strcmp(may[t].verb, v) && !strcmp(may[t].object, o) && may[t].active) { strcat(may[t].subject, " or "); strcat(may[t].subject, n); } } for (t=0; t<may_pos; t++) { if (!strcmp(may[t].subject, n) && !strcmp(may[t].verb, v) && strcmp(may[t].object, o) && /* not same object */ may[t].active) { strcat(may[t].subject, " or "); strcat(may[t].object, o); } }
/* check must-have list */ for (t=0; t<must_pos; t++) { if (strcmp(must[t].subject, n) && /* not same subject */ !strcmp(must[t].verb, v) && !strcmp(must[t].object, o)) { strcat(must[t].subject, " or "); strcat(must[t].subject, n); i=find_may(n, v, o); may[i].active=0; /* remove from may-have list */ } } for (t=0; t<must_pos; t++) { if (!strcmp(must[t].subject, n) && !strcmp(must[t].verb, v) && strcmp(must[t].object, o)) { /* not same object */ strcat(must[t].object, " or "); strcat(must[t].object, o); i=find_may(n, v, o); may[i].active=0; /* remove from may-have list */ } } }
/* input description */ get_example(n, v, o) char *n, *v, *o; { printf("¡¬nsubject : "); gets(n); if (!*n) return 0; printf("verb : "); gets(v); printf("object : "); gets(o); display() { int t; printf("¡¬nmay have : ¡¬n"); for (t=0; t<may_pos; t++) { if (may[t].active) printf(" %s %s %s ¡¬n", may[t].subject, may[t].verb, may[t].object); } printf("must have : ¡¬n"); for (t=0; t<must_pos ; t++) { printf(" %s %s %s ¡¬n", must[t].subject, must[t].verb, must[t].object); } } return 1; } |
¾Õ¿¡¼ ¾ð±ÞÇßµíÀÌ, ÀÌ ÇÁ·Î±×·¥Àº ´ç½Å (±³»ç) ÀÌ ÄÄÇ»ÅÍ (Çлý) À» È¥¶õ½ÃŰÁö ¾Êµµ·Ï ¾ö¹ÐÇÑ Çü½Ä (format) À» µû¸¦ °ÍÀ» ¿ä±¸ÇÑ´Ù. ¸ÕÀú, ¸ðµç ¹¦»ç´Â ¾Õ¿¡¼ ¹¦»çµÈ subject, verb, object Çü½ÄÀ» µû¶ó¾ß ÇÑ´Ù. ¿¹¸¦µé¾î, ¿©±â¿¡ ¸î°¡Áö À¯È¿ÇÑ ¹¦»ç°¡ ÀÖ´Ù :
ÇÁ·Î±×·¥Àº ½Ã½ºÅÛÀ» È¥¶õ½ÃŰ´Â µÎ·Á¿ò¾øÀÌ °¢ ºÎºÐ¿¡ ´ëÇÏ¿© ÀÏ·ÃÀÇ ´Ü¾îµéÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï subject, verb, object ¿¡ ´ëÇÏ¿© µû·Îµû·Î ÇÁ·ÒÇÁÆ®¸¦ ³»º¸³¾ °ÍÀÌ´Ù. Á־ ´ëÇÑ ÇÁ·ÒÇÁÆ®¿¡ ¹ÝÀÀÀÌ ¾øÀ¸¸é ¿£Æ®¸®´Â ¸ØÃá´Ù.
µÎ ¹øÂ°, ¿Ã¹Ù¸¥ ¿¹¿Í near-misses »çÀÌÀÇ Â÷ÀÌ´Â NOT °ü°è·Î¼ Ç¥ÇöµÇ¾î¾ß ÇÑ´Ù. ¿¹¸¦µé¾î, ¸¸¾à º¸±â°¡ »¡°£»öÀ» °®°í class ¹¦»ç°¡ »¡°£»öÀ» ¿ä±¸Çϸé, near-miss ´Â »¡°£»öÀ» Æ÷ÇÔÇØ¼´Â ¾ÈµÈ´Ù : ±×·¯¹Ç·Î, ÄÄÇ»ÅÍ¿¡¼ "»¡°£ ºí·ÏÀº »¡°£»öÀÌ´Ù" ¶ó°í °¡¸£Ä¡±â À§ÇÏ¿©, ¸ÕÀú "»¡°£ ºí·ÏÀº »¡°£»öÀÌ´Ù" ¶ó°í ¾Ë¸± ¼ö ÀÖÀ¸¸ç, ±×¸®°í³ª¼, near-miss ¿¡ ´ëÇÏ¿©, "»¡°£ ºí·ÏÀº »¡°²Áö ¾Ê´Ù" ¶ó°í ¸»ÇÒ °ÍÀÌ´Ù. ÀÌ·± ½ÄÀ¸·Î, ÄÄÇ»ÅÍ´Â »¡°£»ö (red) ÀÌ »¡°£ ºí·ÏÀÇ ÇÊ¿äÇÑ ¼Ó¼ºÀ̶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÇÁ·Î±×·¥ÀÌ ½ÇÁ¦·Î ¾î¶»°Ô ÀÛµ¿Çϴ°¡¸¦ º¸±â À§ÇÏ¿©, À̹ø¿¡´Â ÇÁ·Î±×·¥À» ¼öÇà½ÃŰ°í ¾Æ·¡Ã³·³ Á¤º¸¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
(L)earn, (D)isplay, (Q)uit ? L Enter an example. subject : block verb : on top of object : sides
Enter a near-miss (CR to skip) subject : block verb : not on top of object : sides
Enter an example. subject : side 1 verb : left of object : side 2
Enter a near-miss (CR to skip) : subject : <CR>
Enter an example. subject : cylinder verb : on top of object : sides
Enter a near-miss (CR to skip) : subject : <CR>
Enter an example. subject : <CR>
(L)earn, (D)isplay, (Q)uit ? L Enter an example. subject : sides verb : made of object : wood
Enter a near-miss (CR to skip). subject : sides verb : not made of object : wood
Enter an example. subject : sides verb : made of object : metal
Enter a near-miss (CR to skip) subject : <CR>
Enter an example. subject : <CR>
(L)earn, (D)isplay, (Q)uit ? D may have : side 1 left fo side 2 must have : block or cylinder on top of sides sides made of wood or metal |
ÇöÀç ¾²¿©Áø °Íó·³, ÇÁ·Î±×·¥Àº class ³»¿¡¼ class ¸¦ ¸¸µé±â À§ÇÏ¿© or ¸®½ºÆ® ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ ÀÌ·¯ÇÑ ÀÌÂ÷Àû class ¿¡ ´ëÇÏ¿© ±âÈ£ À̸§ (symbolic names) À» »ç¿ëÇϵµ·Ï ÇÁ·Î±×·¥À» ´Ù½Ã ÀÛ¼ºÇϵµ·Ï ÇØ º¸¶ó.
÷°¡Çϸé Àç¹ÌÀÖ´Ù°í ¾Ë°Ô µÉ ¶Ç ´Ù¸¥ Ç⼺Àº must-not-have °ü°è¸¦ À¯ÁöÇÏ´Â ¼¼ ¹øÂ° ¸®½ºÆ®¸¦ ¸¸µå´Â °ÍÀÌ´Ù. ºñ·Ï ±â¼úÀûÀ¸·Î ¿ä±¸µÇÁö´Â ¾ÊÁö¸¸, ÀÌ °ü°è´Â ±³»ç°¡ Áö½Äº£À̽º¿¡ Á¤º¸¸¦ ³Ö´Â °ÍÀ» ´õ ½±°Ô ¸¸µé °ÍÀÌ´Ù.
¾Õ¿¡¼ ¾ð±ÞÇßµíÀÌ, ÇÁ·Î±×·¥À» ÀÌ Ã¥¿¡¼ÀÇ ¿¹·Î¼ ±â´ÉÀ» Çϵµ·Ï ª°Ô À¯ÁöÇÏ´Â °ÍÀº ¾ö°ÝÇÑ °¡¸£Ä¡´Â Çü½Ä (teaching format) À» ¿ä±¸ÇÑ´Ù. Àç¹ÌÀÖ´Â º¯ÇüÀº ÇÁ·Î±×·¥ÀÌ Á¦ÇÑÀ̳ª ÀϹÝȸ¦ ¹ß°ßÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» È®ÀåÇÏ´Â °ÍÀÌ´Ù.
¸¶Áö¸·À¸·Î, ¸Å¿ì ¾ß¸ÁÀÌ ÀÖ´Ù¸é, Á¦ 3 Àå¿¡¼ °³¹ßµÈ Àü¹®°¡½Ã½ºÅÛ¿¡¼ »ç¿ëÇϱâ À§ÇÏ¿© Á¤º¸¸¦ ¸ðÀ¸´Â ¼ö´ÜÀ¸·Î¼ hit-and-near-miss ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ·Á°í ÇØ¾ß ÇÑ´Ù.
ÀÌ ÀåÀ» ÀÐÀ» ¶§, ±â°èÇнÀÀ̶õ, ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¸ÓÀÇ ¾ð¾î¿¡¼, "ÇÒ ¼ö ÀÖ´Â (do-able) ÀÏÀÌ´Ù ¶ó°í »ý°¢ÇßÀ» Áöµµ ¸ð¸¥´Ù. ÁÖ¿ä ¹®Á¦´Â Å©±â ¹®Á¦ÀÌ´Ù : ´Ü¼øÈ÷ ¹è¿ï °ÍÀÌ ³Ê¹« ¸¹¾Æ¼ Çö´ëÀÇ ÄÄÇ»ÅÍ ÀúÀå ±â´É°ú ±³»çÀÇ Àγ»¸¦ ³Ê¹« ¿ä±¸ÇÑ´Ù. ¾Æ¸¶µµ ±â°èÇнÀÀº ÄÄÇ»ÅͰ¡ º¹ÀâÇÑ ÀÚ¿¬¾ð¾î 󸮱⸦ »ç¿ëÇÏ¿© È¥ÀÚ¼ ¹è¿ï ¼ö ÀÖÀ» ¶§ ´õ ÈçÇØÁú °ÍÀÌ´Ù. (ÀÌ·± ÀÏÀÌ ÀÌ·ç¾îÁøÈÄ, ¿ì¸®´Â ÄÄÇ»ÅÍ¿¡°Ô µµ¼°ü ¿¼è¸¦ ÁÖ°í - ¸ðµç °ÍÀ» ¾Ë ¶§ µÇµ¹¾Æ ¿À°Ô ÇÒ ¼ö ÀÖ´Ù.)