±â°è ÇнÀ

(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)

        Æ®¸® (Trees)

        ¸®½ºÆ®

        ³×Æ®¿öÅ©

  3.1. Æ®¸® (Trees)

  3.2. ¸®½ºÆ® (Lists)

  3.3. ³×Æ®¿öÅ© (Network)

4. Hit-and-Near-Miss ÇÁ·Î½ÃÀú ±¸Çö (IMPLEMENTING THE HIT-AND-NEAR-MISS PROCEDURE)

  4.1. ÇÁ·Î±×·¥ »ç¿ë (Using the Program)

  4.2. ´õ °³¹ßÇϱâ À§ÇÑ ¹æÇâ (Directions for Further Development)

 

Áö´É°ú ¹ÐÁ¢È÷ °ü°èµÈ °ÍÀÌ ÇнÀÀÌ´Ù. »ç½Ç»ó, Áö´ÉÀº ¹è¿ì´Â ´É·Â ¾øÀÌ´Â Á¸ÀçÇÒ ¼ö°¡ ¾ø´Âµ¥ ¿Ö³ÄÇϸé ÇнÀÀÇ ÁÖ¿äÇÑ ÀåÁ¡Àº »õ·Î¿î Áö½ÄÀ» ½ÀµæÇÏ´Â ¼ö´ÜÀ̱⠶§¹®ÀÌ´Ù. ÇнÀÀº ÀåÁ¡À» ¿©·¯ °¡Áö »óȲ°ú »ç°Ç¿¡ Àû¿ëÇÏ°í »ç¿ëÇÏ°Ô ÇÑ´Ù. ±×·¯¹Ç·Î, ¹è¿ì´Â ´É·ÂÀº °­·ÂÇÑ µµ±¸ÀÌ´Ù. ¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ, »ç¶÷ÀÌ ÇÏ´Â °Í°ú °°Àº ¹æ½ÄÀ¸·Î ÀÌ µµ±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µé°í ½Í¾îÇÏ´Â °ÍÀº ³î¶ó¿î ÀÏÀÌ ¾Æ´Ï´Ù. À̸¦ ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥Àº ´ÜÁö ¹è¿òÀ¸·Î½á ÀÚ½ÅÀÌ ¿©·¯ °¡Áö ÀÏÀ» ¼öÇàÇϵµ·Ï ¹è¿ï ¼ö Àֱ⠶§¹®¿¡ À̷лó Á»Ã³·³ ÀÛ¼ºµÉ °Í °°Áö ¾ÊÀº ÇÁ·Î±×·¥ÀÌ´Ù.

ÀÌ Àå¿¡¼­, ÄÄÇ»ÅÍ°¡ ¹è¿ï ¼ö ÀÖ´Â ¿©·¯ °¡Áö ¹æ¹ýÀ» ¿¬±¸ÇÑ´Ù. ´õ¿ì±â, ÀÌ Àå¿¡¼­´Â ±â°èÇнÀÀ» ÀÌ·ç´Â º¹ÀâÇÑ ¹æ¹ýÀ» ¼³¸íÇÏ´Â ¾ÆÁÖ ´Ü¼øÇÑ ÇÁ·Î±×·¥À» °³¹ßÇÑ´Ù.

1. µÎ Á¾·ùÀÇ ÇнÀ (TWO KINDS OF LEARNING)

³î¶ó¿î ¸ð¼øÀº, ÄÄÇ»ÅÍ°¡ ¹è¿ì±â´Â ¾ÆÁÖ ½±±âµµ ÇÏ°í ¾ÆÁÖ ¾î·Æ±âµµ ÇÏ´Ù´Â »ç½ÇÀÌ´Ù. ÀÌ ÀÌÀ¯´Â µÎ°¡Áö ´Ù¸¥ À¯ÇüÀÇ ÇнÀ : µÇÇ®ÀÌ ÇнÀ°ú ÀÎÁöÇнÀÀÌ Àֱ⠶§¹®ÀÌ´Ù. ÀÌ Á¡¿¡¼­, ¿©·¯ °¡Áö ´Ù¸¥ À¯ÇüÀÇ ÇнÀ - À¯Ãß¿¡ ÀÇÇÑ ÇнÀ, ¿¹¿¡ ÀÇÇÑ ÇнÀ, °üÂû¿¡ ÀÇÇÑ ÇнÀ µîµî - ÀÌ ÀÖ´Ù°í Á¦¾ÈÇÏ°í ½ÍÀ»Áöµµ ¸ð¸¥´Ù. ±×·¯³ª, ÀÌ·± °ÍµéÀº ±×°Í¿¡ ÀÇÇØ Áö½ÄÀÌ ½ÀµæµÉ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¸»ÇÏ´Â °ÍÀÌÁö, ÇнÀÀÌ ÀϾ°Ô ÇÏ´Â ½ÇÁ¦ ¸ÞÄ¿´ÏÁòÀ» ¸»ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ÀÌ ÀýÀÇ ÇÙ½ÉÀÌ µÇ´Â °ÍÀº ÇнÀÀÇ ±âÃÊÀÌ´Ù.

1.1. ¹Ýº¹¿¡ ÀÇÇÑ ÇнÀ (Learning by Rote)

¹è¿ì´Â °Íµé Áß ¸¹Àº °ÍÀÌ ´ÜÁö ±â¾ïÀ» ÅëÇØ ¾ò¾îÁö´Â »ç½Çµé·Î ±¸¼ºµÈ´Ù. ÀÌ °úÁ¤À» ¹Ýº¹¿¡ ÀÇÇÑ ÇнÀÀ̶ó°í ÇÑ´Ù. ÀÌ ¹æ¹ýÀ» ÅëÇØ ¹è¿ï ¼ö ÀÖ´Â »ç½Çµé Áß ¸î°¡Áö ¿¹´Â Àϸ®³ëÀÌÀÇ ¼öµµ´Â ½ºÇÁ¸µÇʵåÀÌ°í, 1 + 1 Àº 2 ÀÌ´Ù. ¶Ç´Â ´º¿å¿¡¼­ ½ÃÄ«°í±îÁöÀÇ °Å¸®´Â 1500 ¸¶ÀÏÀÌ´Ù ¶ó´Â °ÍµéÀÌ´Ù. ±×·¯³ª, ¹Ýº¹ ÇнÀÀº »ç½Ç¿¡¸¸ Á¦ÇѵǴ °ÍÀÌ ¾Æ´Ï´Ù ; ¶ÇÇÑ ¾î¶² ÀÏÀ» ±¸¼ºÇÏ´Â °Í°ú °°Àº ÀÏ·ÃÀÇ ÇàÀ§¸¦ ¹è¿ì±â À§Çؼ­µµ Àû¿ëµÉ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, °øÀå ³ëµ¿ÀÚ´Â Á¶¸³ ¶óÀο¡¼­ »¡°£ »óÀÚ¿Í ³ë¶õ »óÀÚ¸¦ Á¦°ÅÇÏ°í, ±×°ÍµéÀ» Àû´çÇÑ Åë ¼Ó¿¡ ³Öµµ·Ï ¹è¿ï ¼ö ÀÖ´Ù. ±â¾ïµÈ ¼ø¼­´Â ´ÙÀ½°ú °°´Ù.

´ëºÎºÐÀÇ ¾ÆÀ̵éÀÌ ±ä ³ª´°¼ÀÀ̳ª °ö¼ÀÀ» ¹è¿ì´Â ¹æ¹ý¿¡µµ °°Àº »ý°¢ÀÌ Àû¿ëµÈ´Ù : ¾î¸°ÀÌ´Â ÇàÀ§ÀÇ Æ¯Á¤ÇÑ ¼ø¼­¸¦ ±â¾ïÇؼ­ ±× ¼ø¼­¸¦ ¿ä±¸´ë·Î Àû¿ëÇÑ´Ù.

¹Ýº¹ ÇнÀ¿¡¼­ Áß¿äÇÑ °ÍÀº Àü¹®È­ÀÌ´Ù. ÇÊ¿ä¿¡ ÀÇÇØ, ¹Ýº¹¿¡ ÀÇÇØ ¹è¿ï ¼ö ÀÖ´Â ¸ðµç °ÍµéÀº Á¤º¸ÀÇ Æ¯Á¤ÇÑ Ç׸ñµéÀÌ´Ù. Àϸ®³ëÀÌÀÇ ¼öµµ´Â ƯÁ¤ÇÑ µµ½ÃÀÌ´Ù. ´º¿å¿¡¼­ ½ÃÄ«°í±îÁöÀÇ °Å¸®´Â ƯÁ¤ÇÑ °Å¸®ÀÌ´Ù. ºñ½ÁÇÏ°Ô, °øÀå ³ëµ¿ÀÚÀÇ ¾÷¹«¿Í, ±ä ³ª´°¼ÀÀ» ÇØ°áÇϱâ À§ÇÏ¿© »ç¿ëµÈ ¹æ¹ýÀº ÇàÀ§ÀÇ Æ¯Á¤ÇÑ ¼ø¼­ÀÌ´Ù. ºñ·Ï ÀÏ·ÃÀÇ ÇàÀ§µéÀÌ, ¾î¶² µÎ ¼ýÀÚµµ ³ª´­ ¼ö ÀÖ´Â ±ä ³ª´°¼À°ú °°Àº ¸Å¿ì ´Ù¾çÇÑ ¹®Á¦¿¡ Àû¿ëµÉ ¼ö ÀÖÁö¸¸, ¾÷¹«¸¦ ±¸¼ºÇÏ´Â ´Ü°èÀÇ ½ÇÁ¦ ¼ø¼­´Â ÀϹÝÈ­µÇÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î, ¹Ýº¹¿¡ ÀÇÇØ ÇнÀµÈ ¼ø¼­µéÀº ´õ ÀûÀýÈ÷ ÇÁ·Î½ÃÁ®¶ó°í ºÒ¸°´Ù.

ÄÄÇ»ÅÍ´Â ¹Ýº¹¿¡ ÀÇÇØ ¹è¿ï ¼ö ÀÖ´Â ¾î¶² °Íµµ ½±°Ô ¹è¿ï ¼ö ÀÖ´Ù. »ç½Ç»ó, ÄÄÇ»ÅÍ°¡ µ¿ÀÛÇÏ´Â Á¤»óÀûÀÎ ¹æ¹ýÀÌ´Ù : ÇÁ·Î±×·¥ µÈ´Ù! ÄÄÇ»ÅÍ´Â Áö½Ã¸¦ µû¸£´Â µ¥¿¡ ¾ÆÁÖ Àͼ÷ÇØ Àֱ⠶§¹®¿¡, ÇÁ·Î½ÃÁ®¸¦ ½±°Ô µû¶ó °¥ ¼ö Àְųª ¶Ç´Â Á¤º¸ÀÇ ¾î¶² Ç׸ñÀ» µ¥ÀÌÅͺ£À̽º¿¡ ½±°Ô ÀúÀåÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ¹°Àº 32 µµ¿Í 212 µµ »çÀÌ¿¡¼­ ¾×ü´Ù ¶ó°í ¼±»ý´ÔÀÌ Çлý¿¡°Ô °¡¸£Ä¡´Â °Í°ú ¶È°°ÀÌ, °°Àº Á¤º¸¸¦ µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¥¿¡ ³ÖÀ» ¼ö ÀÖ°í, ¹°ÀÌ ¾ðÁ¦ ¾×ü³Ä°í ¹°À¸¸é, Çлý°ú ÄÄÇ»ÅÍ´Â °°Àº ¹æ¹ýÀ¸·Î ¹ÝÀÀÇÒ °ÍÀÌ ¶Ç µû¸¥ ¿¹·Î¼­, 6 Àå¿¡¼­ °³¹ßµÈ ·Îº¿ ½Ã¹Ä·¹ÀÌÅÍ´Â ¿©·¯ °¡Áö ÇàÀ§¸¦ ¹è¿ï ¼ö ÀÖ´Ù. ·Îº¿ÀÌ ¹è¿ï ¶§, °³°³ÀÇ ÀνºÆ®·°¼ÇµéÀ» ±â¾ïÇß´Ù. ´õ¿ì±â, ·Îº¿Àº ÈÄ¿¡ ±× Áö½Ä¿¡ µû¶ó ÇൿÇÒ ¼ö ÀÖ¾ú´Ù - ¹è¿î °ÍÀ» Áõ¸íÇÒ ¼ö ÀÖ¾ú´Ù.

¿ä¾àÇϸé, ¹Ýº¹ ÇнÀÀº ƯÁ¤ »ç½ÇÀ̳ª °úÁ¤ (ÇÁ·Î½ÃÁ®) ¸¦ ±â¾ïÇÏ´Â °Í°ú °ü·ÃÀÌ ÀÖ´Ù. ÆÄ»ýµÈ ¾î¶² ÀϹÝÈ­µµ ¿ä±¸ÇÏÁö ¾Ê°í °í¼öÁØÀÇ »ç°íµµ ¿¬±¸ÇÏÁö ¾Ê´Â´Ù. ÄÄÇ»ÅÍ´Â ÀÌ¹Ì ¹Ýº¹¿¡ ÀÇÇØ ½±°Ô ¹è¿ï ¼ö Àֱ⠶§¹®¿¡, ´ÙÀ½ Àý¿¡¼­´Â ÇнÀÀÇ ¶Ç ´Ù¸¥ ¹æ¹ýÀ» »ìÆ캻´Ù.

1.2. ÀÎÁöÇнÀ (Cognitive Learning)

»ç¶÷µéÀÌ ¹è¿ì´Â °¡Àå Áß¿äÇÑ ¹æ¹ýÀº ÄÄÇ»ÅÍ¿¡¼­ ±¸ÇöÇϱ⿡ °¡Àå ¾î·Á¿î °ÍÀε¥, ÀÎÁöÇнÀÀÌ´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ ÇнÀ¿¡¼­, ƯÁ¤ Áö½ÄÀ» ºÐ¼®ÇÏ°í Á¶Á÷ÇÏ°í »óÈ£¿¬°ü½ÃÅ°±â À§ÇÏ¿© Ãß·ÐÀ» »ç¿ëÇÑ´Ù. ÀÌ·¯ÇÑ Á¤½ÅÀû ³ë·ÂÀÇ »ê¹°Àº class ¹¦»çÀÇ »ý¼ºÀÌ´Ù.

class ¹¦»ç (class description) ´Â ¸î°¡Áö Ưº°ÇÑ ¿¹¸¦ Á¶»çÇÔÀ¸·Î½á ÆÄ»ýµÇ´Â ÀϹÝÈ­ÀÌ´Ù. ¿¹¸¦µé¾î, ¸î¸î Ưº°ÇÑ °³¿¡ ÀÇÇÑ Áö½ÄÀ» ÅëÇØ, ¾î¶² °³µµ °¡»óÀûÀ¸·Î °³·Î ÀÎÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °³¿¡ ´ëÇÑ ÀϹÝÈ­µÈ °³³äÀ» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. ¿äÁ¡Àº °³¿¡ ´ëÇÑ class ¹¦»ç¸¦ ¹è¿ü´Ù´Â °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î, class ¹¦»ç´Â ±× À¯ÇüÀÇ ¸ðµç ´ë»óµéÀ» Á¤ÀÇÇÑ´Ù.

»ç¶÷ÀÌ ÀϹÝÈ­¸¦ ¾ó¸¶³ª »¡¸® ¹è¿ï ¼ö ÀÖ´ÂÁö´Â ³î¶ó¿ï Á¤µµÀÌ´Ù. ±×¸² 1 ¿¡¼­ ¹ß°ßµÇ´Â ³×°¡Áö ¹°Ã¼¸¦ »ý°¢ÇÏÀÚ. ±×°Íµé Áß Çϳª´Â class ¿¡ µéÁö ¾Ê´Â´Ù. ºÐ¸íÈ÷, »ç°¢ÇüÀÌ ºñ·Ï ¼¼ °³ÀÇ ¼­·Î ´Ù¸¥ Å©±âÀ̱ä ÇÏÁö¸¸ »ï°¢ÇüÀº »ç°¢Çü°ú °°Àº class °¡ ¾Æ´Ï´Ù. ¼¼ °³ÀÇ »ç°¢Çü ¸ðµÎ¿¡ ¸Â´Â, ÇÏÁö¸¸ »ï°¢Çü¿¡´Â Àû¿ëµÇÁö ¾Ê´Â class ¸¦ ½±°Ô ¸¸µé ¼ö Àֱ⠶§¹®¿¡, »ï°¢Çü°ú, »ç°¢ÇüÀÌ ¾Æ´Ñ ¾î¶² °Íµµ ±× class ¿¡ ¼ÓÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¾Ë¾Ò´Ù. ÀÌ¿Í°°Àº °£´ÜÇÑ »óȲ¿¡¼­, ±×°Í¿¡ ´ëÇÏ¿© »ý°¢Á¶Â÷ ÇÏÁö ¾Ê°í ÀϹÝÀûÀÎ class ¸¦ ¸¸µé¾ú´Ù.

±×¸² 1. ¾î´À ¹°Ã¼°¡ ¼ÓÇÏÁö ¾Ê´Â°¡?

¶ÇÇÑ ÇÁ·Î½ÃÁ®¿¡ ´ëÇÑ class ¹¦»ç¸¦ Çü¼ºÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ³ª¼­ ÀÌ ÀϹÝÈ­µÈ ÇÁ·Î½ÃÀúµéÀ» ¿©·¯ °¡Áö ºñ½ÁÇÑ »óȲ¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ºñ·Î ¸¶·ç¸¦ û¼ÒÇÏ´Â ÀϹÝÀûÀÎ °úÁ¤À» ¾È´Ù. ´õ¿ì±â, Â÷¸¦ ¿îÀüÇϱâ Àü¿¡ ºñ·Ï ±× µµ·Î¸¦ º» ÀûÀÌ ¾øÁö¸¸ ¾î¶² µµ·Î¿¡µµ, ¾î¶² °æ·Î¸¦ µû¶ó¼­µµ ½±°Ô ¿îÀüÇØ °¥ ¼ö ÀÖ´Ù.

ÀÌ ÀÏÀ» Á¤ÀÇÇÏ´Â ±âº» ÀýÂ÷Àû ¿ä¼ÒµéÀ» ÀϹÝÈ­ÇÒ ¼ö Àֱ⠶§¹®¿¡ ±×°ÍµéÀ» ÇÒ ¼ö ÀÖ´Ù. ÇöÀç Àΰ£À» ·Îº¿°ú ±¸º°ÇÏ´Â °ÍÀº ÇÁ·Î½ÃÁ® (°úÁ¤) µéÀ» ÀϹÝÈ­ÇÏ´Â ´É·ÂÀÌ´Ù. ·Îº¿Àº ƯÁ¤ÇÑ ¾÷¹«¸¸ ¾Ë ¼ö ÀÖ´Ù ; ¾÷¹«¸¦ ÀϹÝÈ­ÇÒ ¼ö´Â ¾ø´Ù.

class ¸¦ ÇнÀÇÏ´Â ´É·ÂÀº ¹°Ã¼³ª °úÁ¤¿¡¸¸ Á¦ÇѵǴ °ÍÀÌ ¾Æ´Ï¶ó, »ý°¢°ú °³³ä¿¡µµ Àû¿ëµÉ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ´ëºÎºÐÀÇ Ã¶Çаú Á¾±³´Â ±×µéÀÇ ÃßÁ¾Àڵ鿡°Ô Çൿ°ú ½Å¾Ó¿¡ ´ëÇÑ ÀϹÝÈ­µÈ Äڵ带 ÁÖ·Á°í ½ÃµµÇϸç, °³ÀÎÀÌ ÀÌ Äڵ忡 µû¶ó ƯÁ¤ÇÑ ÀÏÀ» Çؼ®Çϵµ·Ï ÇÏ·Á°í ÇÑ´Ù. ¼±°ú ¾ÇÀÇ °³³äÀ» »ý°¢ÇÏÀÚ. À̰͵éÀº ƯÁ¤ÇÑ »ç°ÇÀ» ¹¦»çÇϱâ À§ÇÏ¿© »ç¿ëµÇ´Â ÀϹÝÀûÀÎ class ÀÌ´Ù. ÀÌ °³³äµéÀº µµ´öÀûÀÎ Àǹ̸¦ °®´Â ¾î¶² ÇàÀ§µéÀÇ class ¹¦»ç¸¦ Ç¥ÇöÇÑ´Ù.

¸í¹éÈ÷, class ¹¦»ç¸¦ ÇнÀÇÏ´Â ´É·ÂÀº Àΰ£ÀÌ »ý°¢ÇÏ´Â ¹æ½Ä´ë·Î »ý°¢ÇÏ´Â ÄÄÇ»Å͸¦ ¸¸µå´Âµ¥ ±âº»ÀÌ µÈ´Ù. ÀÌ Àå¿¡¼­ ´Ù·ç¾îÁö´Â °ÍÀº ÀÌ·¯ÇÑ À¯ÇüÀÇ ÇнÀ¿¡ ´ëÇÑ ¿¡¹Ä·¹À̼ÇÀÌ´Ù.

2. class ¹¦»ç´Â ¾î¶»°Ô ÇнÀÇϴ°¡? (HOW CLASS DESCRIPTIONS ARE LEARNED?)

Á¾Á¾ ÀÌ Ã¥¿¡¼­´Â ÇÁ·Î±×·¡¸Ó°¡ ÁöÀûÀÎ ÄÄÇ»Å͸¦ ¸¸µé·Á°í ÇÒ ¶§ ±Øº¹ÇØ¾ß ÇÒ °¡Àå Å« Àå¾Ö¹°µé ÁßÀÇ Çϳª´Â »ç¶÷µéÀÌ ÀÚ½ÅÀÇ »ç°í°úÁ¤À» °ÅÀÇ ÀÌÇØÇÏÁö ¸øÇÑ´Ù´Â »ç½ÇÀ̶ó°í ÁöÀûÇß´Ù. °°Àº °ÍÀÌ ÀÎÁö ÇнÀ¿¡ ´ëÇؼ­µµ ¼º¸³ÇÑ´Ù. ÀϹÝÀûÀ¸·Î, °³°³ÀÇ ¹°Ã¼¿¡ ´ëÇÑ ÀϹÝÈ­µÈ class ¹¦»ç¸¦ ¾î¶»°Ô ¸¸µé ¼ö ÀÖ´ÂÁö »ç½Ç»ó ¸ð¸¥´Ù. ±×·¯³ª, ÀÌ·± À¯ÇüÀÇ ÇнÀÀ» ÄÄÇ»ÅÍ¿¡ ¿¡¹Ä·¹ÀÌÆ®ÇÏ´Â ¹æ¹ýÀ» ã¾Æ³»·Á°í ¾Ö¾²´Â °úÁ¤¿¡¼­, Àΰ£ÀÇ »ç°í °úÁ¤¿¡ ´ëÇÑ ¾î¶² ÅëÂûÀÌ ´Ù·ç¾îÁö´ÂÁö ¾Ë¾Æ³»·Á°í ¾Ö¾²´Â °úÁ¤¿¡¼­, Àΰ£ÀÇ »ç°í °úÁ¤¿¡ ´ëÇÑ ¾î¶² ÅëÂûÀº ´Ù·ç¾îÁöÁö ¾Ê¾ÒÀ»Áöµµ ¸ð¸¥´Ù.

MIT ÀÇ ÀΰøÁö´É ¿¬±¸½ÇÀåÀÎ Patrick Henry Winston ±³¼ö´Â ÀÎÁö ÇнÀÀ» ÀÌÇØÇϴµ¥ ÁÖ¿äÇÑ µ¹Æı¸¸¦ ¸¸µé¾ú´Ù. ±×´Â AI ¿¡ °üÇØ ¼¼°èÀûÀ¸·Î Ź¿ùÇÑ ±ÇÀ§ÀÚ ÁßÀÇ ÇÑ »ç¶÷ÀÌ°í ±×ÀÇ Àú¼­ÀÎ Artificial Intelligence (Menro Park, Calif:Addison-Wesley, 1984) ´Â AI ¸¦ ÁøÁöÇÏ°Ô °øºÎÇÏ´Â Çлý¿¡°Ô ÃßõµÇ´Â ¼­ÀûÀÌ´Ù. class ¹¦»ç¸¦ ÇнÀÇÏ´Â ±×ÀÇ ¹æ¹ýÀº °ð º¸°Ô µÉ ÀÌÀ¯ ¶§¹®¿¡ ¶§¶§·Î "hit-and-near-miss" ¶ó°í ºÒ¸®¿î´Ù.

2.1. ¿¹¿Í Near-Misses (Examples and Near-Misses)

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  ¹¦»ç¿¡ Àǹ̾ø´Â Á¤º¸¸¦ ÷°¡ÇÒ ¼öµµ ÀÖ´Ù.

2.2. Hit-and-Near-Miss ÇÁ·Î½ÃÀú (The Hit-and-Near-Miss Procedure)

ÀÌÁ¦, 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 ¸¦ È®ÀåÇÒ ¼ö ÀÖ´Ù.

2.3. µÎ°¡Áö Áß¿äÇÑ ¿ø¸® (Two Important Principles)

Hit-and-near-miss ÇÁ·Î½ÃÀúÀÇ Àû´çÇÑ µ¿ÀÛ (operation) ¿¡ ¿ÏÀüÈ÷ ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸, Àû¿ëµÉ ¶§ È¿À²°ú Àб⠽±°Ô ÇÏ´Â ¼ºÁú (readability) À» Å©°Ô Çâ»ó½ÃÅ°´Â µÎ °¡Áö ¿ø¸®°¡ ÀÖ´Ù. ù ¹ø° °ÍÀº "no guessing" À̶ó ºÒ¸®°í, ÄÄÇ»ÅÍ°¡ ÇöÀç ¸ðµ¨°ú near-miss »çÀÌÀÇ Â÷À̸¦ ÀÚ½ÅÀÖ°Ô ±¸º°ÇÒ ¼ö ¾øÀ» ¶§ È£ÃâµÈ´Ù. - Áï, ¹«¾ùÀÌ ÇнÀµÇ¾î¾ß ÇÏ´ÂÁö Àǽɽº·¯¿ì¸é ÄÄÇ»ÅÍ´Â learn nothing À» ÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀÌ ºñ·Ï º¸¼öÀûÀ¸·Î µé¸±Áö´Â ¸ð¸£Áö¸¸, ¿¡·¯¸¦ ÇÇÇϴµ¥ µµ¿òÀÌ µÈ´Ù. ÀÌ ¿ø¸®´Â ±³»ç°¡ Ç×»ó ¸íÈ®ÇÑ Â÷À̸¦ °®´Â near-miss ¸¦ Á¦°øÇϸé È£ÃâµÉ ÇÊ¿ä°¡ ¾ø´Ù.

µÎ ¹ø° ¿ø¸®´Â "no altering" À̶ó°í ºÒ¸°´Ù. ±³»ç°¡ ÇöÀçÀÇ Á¤ÀÇ¿Í ÀÏÄ¡ (match) ÇÏÁö ¾Ê´Â ¿Ã¹Ù¸¥ ¿¹¸¦ Á¦°øÇϸé, ÄÄÇ»ÅÍ´Â ±×°ÍÀ» ´Ù·ç±â À§ÇÏ¿© ¿Ã¹Ù¸¥ ºÐ·ù¸¦ È®ÀåÇÏ·Á°í Çϱ⠺¸´Ù´Â º°°³ÀÇ Æ¯º°ÇÑ °æ¿ì¿¡ ´ëÇÑ class ¸¦ ¸¸µç´Ù. ¿¹¸¦µé¾î, ÀÚµ¿Â÷ÀÇ Á¤ÀÇ´Â ³»¿¬±â°ü (internal combustion motor) À» °®´Â´Ù´Â Á¦¾àÁ¶°ÇÀ» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î ÄÄÇ»ÅÍ´Â ÀüÂ÷¸¦ Ưº°ÇÑ °æ¿ì¿¡ ´ëÇÑ class ÀÇ ÇÑ ±¸¼º¿øÀ¸·Î ´Ù·ç¾î¾ß ÇÑ´Ù.

ÀÌ µÎ ¿ø¸® ¸ðµÎ ±³»ç°¡ ¿¹¿¡ ´ëÇÏ¿© ÁÖÀÇÇϸé ÇÇÇØÁú ¼ö ÀÖ´Â Ãæµ¹ »óȲ¿¡¼­¸¸ È£ÃâµÇ±â ¶§¹®¿¡, ÀÌ Àå¿¡¼­ ³ªÁß¿¡ °³¹ßµÇ´Â ÇÁ·Î±×·¥¿¡ ÷°¡µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯³ª, ¾î¶² ÇÁ·Î±×·¥µµ °³¹ßÇÒ ¼ö ÀÖ±â Àü¿¡, ÄÄÇ»ÅÍ°¡ Áö½ÄÀ» Ç¥ÇöÇÏ°í ÀúÀåÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö ¹æ¹ýµéÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù.

3. Áö½Ä Ç¥Çö (KNOWLEDGE REPRESENTATION)

ÇнÀÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» °í¾ÈÇÏ´Â ¸í¹éÇÑ ¾î·Á¿òÀ» Á¦¿ÜÇÏ°í, ºÎÂ÷ÀûÀÎ ¹®Á¦´Â ½ÀµæµÈ Áö½ÄÀ» ÄÄÇ»ÅÍ ³»ºÎ¿¡ ÀúÀåÇÏ´Â ¹æ¹ýÀ» ¸¸µå´Â °ÍÀÌ´Ù. Áö½ÄÀÇ Æ¯¼º°ú ÇÁ·Î±×·¡¸ÓÀÇ ¼±È£µµ°¡ Áö½ÄÀÌ Ç¥ÇöµÇ´Â ¹æ¹ýÀ» °áÁ¤ÇÑ´Ù. Áö½ÄÇ¥Çö ºÐ¾ß¿¡¼­ ¹ß´ÞÇÑ ¿©·¯ °¡Áö ±â¹ýµéÀÌ ÀÖ°í °¡Àå Áß¿äÇÑ °ÍÀº ´ÙÀ½°ú °°´Ù :

ÀÌ Àý¿¡¼­´Â ÀÌ ±â¹ýµé °¢°¢¿¡ ´ëÇÏ¿© ¿¬±¸ÇÑ´Ù.

3.1. Æ®¸® (Trees)

ÈÄÁø ¿¬¼â (backward-chaining) Àü¹®°¡½Ã½ºÅÛÀÌ µ¿ÀÛÇÏ´Â ¹æ¹ýÀ¸·Î µÇµ¹¾Æ°¡ »ý°¢ÇØ º¸ÀÚ. ºÐ¸íÈ÷, ÀÌ·± À¯ÇüÀÇ ½Ã½ºÅÛ¿¡ ´ëÇÑ Áö½ÄÀ» Ç¥ÇöÇÏ´Â °¡Àå È¿À²ÀûÀÎ ¹æ¹ýÀº Æ®¸®ÀÌ´Ù. Àü¹®°¡½Ã½ºÅÛÀÌ Æ®¸®¸¦ ÅëÇØ ÁøÇàÇÒ ¶§, Å« ºÎºÐµé (large sections) À» À߶󳻰í Àû´çÇÑ Áö½ÄÀ» »¡¸® ¹ß°ßÇÑ´Ù. Áö½ÄÀÌ Æ®¸®·Î¼­ ¾î¶»°Ô Ç¥ÇöµÉ ¼ö Àִ°¡ ÀÌÇØÇϱâ À§Çؼ­, ±×¸² 3 ¿¡ º¸¿©Áø, »ï°¢Çü, »ç°¢Çü, »ç´Ù¸®²Ã¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇϱâ À§ÇÏ¿© »ç¿ëµÈ Æ®¸®¸¦ »ý°¢ÇØ º¸ÀÚ. ±×¸²¿¡¼­ º¸¿©ÁÖµíÀÌ, ÀÌ Áö½Ä Æ®¸®¸¦ »ç¿ëÇÏ´Â Àü¹®°¡½Ã½ºÅÛÀº Æ®¸®¸¦ ÅëÇØ À̵¿ÇÔ¿¡ µû¶ó »ç¿ëÀÚ¿¡°Ô Ç×»ó ÀûÀýÇÑ Áú¹®À» ÇÒ °ÍÀÌ´Ù.

±×¸² 3. »ï°¢Çü, »ç°¢Çü, »ç´Ù¸®²Ã ÀÇ Áö½Ä Æ®¸®

Æ®¸®´Â Ư¼º»ó °èÃþÀû (hierarchical) ÀÌ´Ù. ±×·¡¼­, °èÃþÀû Áö½Ä¸¸ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª, ¸¹Àº Áö½ÄÀÌ ÀÌ ¹üÁÖ¿¡ ¼ÓÇϱ⠶§¹®¿¡ ÀÌ°ÍÀº ±×´ÙÁö Å« Á¦¾àÀº ¾Æ´Ï´Ù. Æ®¸®¸¦ »ç¿ëÇÒ ¶§ÀÇ °¡Àå Å« ´ÜÁ¡Àº Æ®¸®°¡ È¿À²ÀûÀ̵µ·Ï ±¸¼ºÇÏ°í À¯ÁöÇÏ´Â ¾î·Á¿òÀÌ´Ù. Æ®¸®¿Í ¿¬°üµÈ ¿À¹öÇìµåÀÇ ¼öÁØ (level) Àº, ¾ÆÁÖ ÀûÀº ¾çÀÇ Áö½ÄÀ» ÀúÀåÇϱ⠿øÇÒ ¶§ Æ®¸®¸¦ ¸Å·ÂÀûÀÌÁö ¸øÇÏ°Ô ¸¸µé ¼öµµ ÀÖ´Ù.

3.2. ¸®½ºÆ® (Lists)

¸®½ºÆ®´Â Ç×»ó, Áö½ÄÀ» Ç¥ÇöÇϱâ À§ÇÏ¿© AI ÀÇ ÀüÅëÀû ¹æ¹ýÀÌ´Ù. ÀÌ°ÍÀÇ ÁÖµÈ ÀÌÀ¯´Â, ÃÖÃÊÀÇ AI ¾ð¾îÀÎ Lisp ÀÌ ¸®½ºÆ®¸¦ È¿À²ÀûÀ¸·Î ´Ù·çµµ·Ï ¼³°èµÇ¾ú±â ¶§¹®ÀÌ´Ù. ¸®½ºÆ®¸¦ Áö½ÄÇ¥Çö¿¡ ƯÈ÷ ¸Å·ÂÀûÀÌ°Ô ÇÏ´Â °ÍÀº, ¸®½ºÆ®°¡ C ·Î ó¸®Çϱ⿡ ¸Å¿ì ½±´Ù´Â °ÍÀÌ´Ù.

Áö½ÄÀÌ ¸®½ºÆ®·Î ¾î¶»°Ô Ç¥ÇöµÇ´ÂÁö ÀÌÇØÇϱâ À§Çؼ­, µµ¼­°üÀÇ Ä«µå Ä«Å»·Î±×¸¦ »ý°¢Çغ¸ÀÚ. ¸¸¾à ƯÁ¤ÇÑ ÁÖÁ¦¿¡ ´ëÇÑ Ã¥À» ã°í ÀÖ´Ù¸é, °¢ Ä«µå¸¦ ÈȾ¸é¼­ ´ç½ÅÀÌ Ã£°í ÀÖ´Â °Í¿¡ ¼ÓÇÏÁö ¾Ê´Â °ÍµéÀº ¹ö¸®°í, ¿øÇϴ åÀ» ¹ß°ßÇÒ ¶§ ¸ØÃâ °ÍÀÌ´Ù. ´Ù½Ã ¸»Çϸé, ¸®½ºÆ®·Î ÀúÀåµÈ Áö½ÄÀº ±×°ÍÀ» ã¾Æ³»±â (retrieve) À§Çؼ­ ¼øÂ÷ Ž»ö (sequential search) À» ¿ä±¸ÇÑ´Ù. ±×¸² 4 ´Â »ï°¢Çü, »ç°¢Çü, ±×¸®°í »ç´Ù¸®²Ã¿¡ ´ëÇÑ Áö½ÄÀ» ¸®½ºÆ®·Î¼­ ¾î¶»°Ô ÀúÀåÇÒ ¼ö ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù.

±×¸² 4. »ï°¢Çü, »ç°¡Çü, »ç´Ù¸®²ÃÀÇ Áö½Ä Æ®¸®

¸®½ºÆ®µéÀº ºñ·Ï ¼øÂ÷ÀûÀ¸·Î¸¸ ó¸®µÉ ¼ö ÀÖÁö¸¸, ¸ðµç À¯ÇüÀÇ Áö½ÄÀ» Ç¥ÇöÇϱâ À§ÇÏ¿© ±×°ÍÀ» »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ Áß¿äÇÏ´Ù. ¸®½ºÆ®¸¦ óÀ½¿¡ AI ¿¡ Áß¿äÇÏ°Ô ¸¸µç °ÍÀÌ ¹Ù·Î ÀÌ Ä¿´Ù¶õ À¶Å뼺ÀÌ´Ù. ¶ÇÇÑ ¿©·¯ Àε¦½Ì ±â¹ýÀ» »ç¿ëÇÔÀ¸·Î½á ¸®½ºÆ®¸¦ °ÅÀÇ Æ®¸®¸¸Å­ È¿À²ÀûÀ¸·Î ¸¸µé ¼ö ÀÖÀ½À» ±â¾ïÇØ¾ß ÇÑ´Ù.

3.3. ³×Æ®¿öÅ© (Network)

³×Æ®¿öÅ©·Î Áö½ÄÀ» Ç¥ÇöÇÏ´Â °ÍÀº º¹ÀâÇÑ ¸¸Å­ ¸Å·ÂÀûÀÌ°í °­·ÂÇÏ´Ù!  ¾ðÁ¨°¡, Áö½ÄÀÇ ³×Æ®¿öÅ© Ç¥ÇöÀÌ Ç¥ÁØÀÌ µÉ °¡´É¼ºÀÌ ÀÖÁö¸¸, "ºí·¢¹Ú½º" ·çƾµéÀÌ ÀϹÝÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖÀº ÈÄ ¶ó¾ß ÇÑ´Ù. Áö½Ä ³×Æ®¿öÅ©´Â µÎ°¡Áö Á¶°Ç¿¡ ±âÃʸ¦ µÐ´Ù. ù ¹ø° Á¶°ÇÀº, ³×Æ®¿öÅ©¿¡ ÀÖ´Â Áö½ÄÀÌ °èÃþÀûÀÌ ¾Æ´Ñ (non-hierarchical) ±×·¡ÇÁÀÇ ³ëµå·Î Ç¥ÇöµÈ´Ù´Â °ÍÀÌ´Ù : Æ®¸®¿Í´Â ´Þ¸® ³×Æ®¿öÅ©¿¡¼­ ¸ðµç ³ëµå´Â °°Àº Á߿伺À» °¡Áö¸ç ¾î¶² ³ëµåµµ ½ÃÀÛÁ¡À¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. µÎ ¹ø° Á¶°ÇÀº À¯»çÇÑ À¯ÇüÀÇ Áö½ÄÀº ¼­·Î °¡±õ°Ô ±×·ìÁö¾îÁöµµ·Ï ³ëµåµéÀÌ ¹è¿­µÈ´Ù´Â °ÍÀÌ´Ù : ±×·¯¹Ç·Î, ÀÌ¿ô ³ëµåµéÀº near-miss °ü°è¸¦ °®´Â´Ù. ¿¹¸¦µé¾î, ±×¸² 5 ´Â ±âÇÏÇÐÀû ¸ð¾çµé¿¡ ´ëÇÑ ³×Æ®¿öÅ©¸¦ º¸ÀδÙ.

±×¸² 5. ±âÇÏÇÐÀû ¸ð¾ç ³×Æ®¿öÅ©

³×Æ®¿öÅ©¸¦ Àû´çÇÑ À§Ä¡¿¡ ³Ö°í, ±×¸®°í³ª¼­ Àû´çÇÑ ³ëµå¿¡ µµÂøÇÒ ¶§±îÁö ³×Æ®¿öÅ©¸¦ µû¶ó ÁøÇàÇÔÀ¸·Î½á ³×Æ®¿öÅ© ¸ðµ¨À» ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. À̷лó, ÀÌ ¹æ¹ýÀº »õ·Î¿î ³ëµå·ÎÀÇ ÀüÀÌ (transition) °¡ À¯»çÈ÷ Áõ°¡ÇÏ´Â ¹æÇâ - ¾ð´ö ¿À¸£±â (Hill Climbing) Å½»öÀÇ ÇÑ ÇüÅ - ¿¡ Àֱ⠶§¹®¿¡ ¸¸µé¾îÁö°Ô µÇ¹Ç·Î, ¾ÆÁÖ È¿À²ÀûÀ̾î¾ß ÇÑ´Ù.

(½ÇÁ¦·Î, ±× ¹æ¹ýÀº ÇöÀç ³ëµå¿¡ ¿¬°áÇÏ´Â °¢ ³ëµå¸¦ Å×½ºÆ®ÇÏ°í, Áõ°Å¿Í °¡Àå ÀÏÄ¡ÇÏ´Â ³ëµå¸¦ ¼±ÅÃÇÑ´Ù). ³×Æ®¿öÅ©¸¦ ¾î´À °÷¿¡ ³Ö´ø °£¿¡ ÀÌ ÇÁ·Î½ÃÀú´Â ÀÛµ¿ÇÒ °ÍÀÌÁö¸¸, ¸ñÇ¥¿¡ ´Ù¼Ò °¡±î¿î ³ëµå¿¡ ³Ö´Â °ÍÀÌ °¡Àå ÁÁ´Ù. ±×·¯¹Ç·Î, ´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¸ðµ¨µéÀº ¶ÇÇÑ, °¢ »óȲ¿¡ ´ëÇÑ ¿£Æ®¸® ³ëµå¸¦ ¼±ÅÃÇÏ´Â °ÍÀ» µ½´Â À妽ºµéÀÇ ¸®½ºÆ®¸¦ Æ÷ÇÔÇÑ´Ù. ÃÖ¾ÇÀÇ °æ¿ì·Î, ¸¸¾à ¿ì¿¬È÷ °¡Àå ´àÁö ¾ÊÀº ³ëµå¸¦ ¼±ÅÃÇϸé, ³×Æ®¿öÅ©´Â ¸®½ºÆ®·Î Åðº¸ÇÑ´Ù.

Áö½ÄÀ» Ç¥ÇöÇϱâ À§ÇÑ ³×Æ®¿öÅ© ¸ðµ¨ÀÇ ÀåÁ¡Àº °èÃþÀûÀÎ Áö½Ä°ú °èÃþÀûÀÌ ¾Æ´Ñ Áö½ÄÀ» ¸ðµÎ ½±°í È¿À²ÀûÀ¸·Î ´Ù·ê ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. °èÃþÀûÀÌ ¾Æ´Ñ Áö½ÄÀº ³×Æ®¿öÅ©ÀÇ ¹Ù±ù °¡ÀåÀÚ¸®¿¡ ³õÀÌ·Á´Â °æÇâÀÌ ÀÖ°í, °èÃþÀûÀÎ Áö½ÄÀº Á᫐ (Ãß»óÀûÀÎ Àǹ̿¡¼­) ±Ùó¿¡ ³õÀÌ·Á´Â °æÇâÀÌ ÀÖ´Ù.

¸¹Àº AI ¿¬±¸°¡µéÀº ³×Æ®¿öÅ© ¸ðµ¨ÀÌ Àΰ£ÀÇ Áö½Ä Ç¥Çö ¹æ¹ý°ú °¡Àå ¹ÐÁ¢ÇÏ°Ô ´à¾Ò´Ù°í ¹Ï´Â´Ù. ±×·¯³ª ¹°·Ð ÀÌ°ÍÀº ¿©±â¼­´Â °á·ÐÀûÀ¸·Î ¾Ë·ÁÁöÁö ¾Ê´Â´Ù.

4. Hit-and-Near-Miss ÇÁ·Î½ÃÀú ±¸Çö (IMPLEMENTING THE HIT-AND-NEAR-MISS PROCEDURE)

Áö½ÄÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Â ¼¼°¡Áö °¡´ÉÇÑ ¹æ¹ýµé Áß¿¡¼­, °¡Àå ½±°í °¡Àå ºü¸¥ ¹æ¹ýÀº ¸®½ºÆ®¸¦ »ç¿ëÇÔÀ¸·Î½áÀÌ´Ù. µû¶ó¼­, ¿©±â¼­ °³¹ßµÈ 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 µéÀº ´ÙÀ½ ±¸Á¶¸¦ °®´Â ¹®Àå¿¡ ÀÇÇØ ¹¦»çµÉ °ÍÀÌ´Ù :

±×·¯¹Ç·Î, ¾ÆÄ¡ÀÇ ¿¹´Â ´ÙÀ½À¸·Î½á Ç¥ÇöµÉ ¼ö ÀÖ´Ù.

±×°ÍÀÇ near-miss ÂÊÀº ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Ù.

ÇÁ·Î±×·¥ÀÇ µ¿ÀÛ¿¡ ´ëÇÑ Áß¿äÇÑ Á¡ (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;

    }

4.1. ÇÁ·Î±×·¥ »ç¿ë (Using the Program)

¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ, ÀÌ ÇÁ·Î±×·¥Àº ´ç½Å (±³»ç) ÀÌ ÄÄÇ»ÅÍ (Çлý) À» È¥¶õ½ÃÅ°Áö ¾Êµµ·Ï ¾ö¹ÐÇÑ Çü½Ä (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

4.2. ´õ °³¹ßÇϱâ À§ÇÑ ¹æÇâ (Directions for Further Development)

ÇöÀç ¾²¿©Áø °Íó·³, ÇÁ·Î±×·¥Àº class ³»¿¡¼­ class ¸¦ ¸¸µé±â À§ÇÏ¿© or ¸®½ºÆ® ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ ÀÌ·¯ÇÑ ÀÌÂ÷Àû class ¿¡ ´ëÇÏ¿© ±âÈ£ À̸§ (symbolic names) À» »ç¿ëÇϵµ·Ï ÇÁ·Î±×·¥À» ´Ù½Ã ÀÛ¼ºÇϵµ·Ï ÇØ º¸¶ó.

÷°¡Çϸé Àç¹ÌÀÖ´Ù°í ¾Ë°Ô µÉ ¶Ç ´Ù¸¥ Ç⼺Àº must-not-have °ü°è¸¦ À¯ÁöÇÏ´Â ¼¼ ¹ø° ¸®½ºÆ®¸¦ ¸¸µå´Â °ÍÀÌ´Ù. ºñ·Ï ±â¼úÀûÀ¸·Î ¿ä±¸µÇÁö´Â ¾ÊÁö¸¸, ÀÌ °ü°è´Â ±³»ç°¡ Áö½Äº£À̽º¿¡ Á¤º¸¸¦ ³Ö´Â °ÍÀ» ´õ ½±°Ô ¸¸µé °ÍÀÌ´Ù.

¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ, ÇÁ·Î±×·¥À» ÀÌ Ã¥¿¡¼­ÀÇ ¿¹·Î¼­ ±â´ÉÀ» Çϵµ·Ï ª°Ô À¯ÁöÇÏ´Â °ÍÀº ¾ö°ÝÇÑ °¡¸£Ä¡´Â Çü½Ä (teaching format) À» ¿ä±¸ÇÑ´Ù. Àç¹ÌÀÖ´Â º¯ÇüÀº ÇÁ·Î±×·¥ÀÌ Á¦ÇÑÀ̳ª ÀϹÝÈ­¸¦ ¹ß°ßÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» È®ÀåÇÏ´Â °ÍÀÌ´Ù.

¸¶Áö¸·À¸·Î, ¸Å¿ì ¾ß¸ÁÀÌ ÀÖ´Ù¸é, Á¦ 3 Àå¿¡¼­ °³¹ßµÈ Àü¹®°¡½Ã½ºÅÛ¿¡¼­ »ç¿ëÇϱâ À§ÇÏ¿© Á¤º¸¸¦ ¸ðÀ¸´Â ¼ö´ÜÀ¸·Î¼­ hit-and-near-miss ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ·Á°í ÇØ¾ß ÇÑ´Ù.

ÀÌ ÀåÀ» ÀÐÀ» ¶§, ±â°èÇнÀÀ̶õ, ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¸ÓÀÇ ¾ð¾î¿¡¼­, "ÇÒ ¼ö ÀÖ´Â (do-able) ÀÏÀÌ´Ù ¶ó°í »ý°¢ÇßÀ» Áöµµ ¸ð¸¥´Ù. ÁÖ¿ä ¹®Á¦´Â Å©±â ¹®Á¦ÀÌ´Ù : ´Ü¼øÈ÷ ¹è¿ï °ÍÀÌ ³Ê¹« ¸¹¾Æ¼­ Çö´ëÀÇ ÄÄÇ»ÅÍ ÀúÀå ±â´É°ú ±³»çÀÇ Àγ»¸¦ ³Ê¹« ¿ä±¸ÇÑ´Ù. ¾Æ¸¶µµ ±â°èÇнÀÀº ÄÄÇ»ÅÍ°¡ º¹ÀâÇÑ ÀÚ¿¬¾ð¾î 󸮱⸦ »ç¿ëÇÏ¿© È¥ÀÚ¼­ ¹è¿ï ¼ö ÀÖÀ» ¶§ ´õ ÈçÇØÁú °ÍÀÌ´Ù. (ÀÌ·± ÀÏÀÌ ÀÌ·ç¾îÁøÈÄ, ¿ì¸®´Â ÄÄÇ»ÅÍ¿¡°Ô µµ¼­°ü ¿­¼è¸¦ ÁÖ°í - ¸ðµç °ÍÀ» ¾Ë ¶§ µÇµ¹¾Æ ¿À°Ô ÇÒ ¼ö ÀÖ´Ù.)