Logic  Programming

  

³í¸®ÇÁ·Î±×·¡¹ÖÀº ¼±¾ðÀû (declarative) ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀÌ´Ù. Áï Çظ¦ ã±â À§ÇÑ ÀÏ·ÃÀÇ ´Ü°èµéÀ» ÁÖ¸ñÇϱ⠺¸´Ù´Â, ±× ÇØ°¡ °¡Á®¾ß ÇÏ´Â ÀÏ·ÃÀÇ ¼Ó¼º (attribute) µé¿¡ ÁÖ¸ñÇÏ´Â °ÍÀÌ´Ù. °¡Àå ³Î¸® »ç¿ëµÇ´Â ³í¸®ÇÁ·Î±×·¥ ¾ð¾î´Â Prolog ÀÌ´Ù. ¿äÁîÀ½ÀÇ ±×·± Æз¯´ÙÀÓÀÇ ¾ð¾î´Â Mercury and Oz °¡ ÀÖ´Ù. ´ë·« ±× °úÁ¤Àº ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÈ´Ù.

»ç½Ç (facts) + ±ÔÄ¢ (rules) = °á°ú (results)

°ü·ÃµÇ´Â Æз¯´ÙÀÓÀ¸·Î´Â ÀÏ·ÃÀÇ »ç½Çµé (facts) ·ÎºÎÅÍ ÀÏ¹Ý ±ÔÄ¢ (general rule)À» ãÀ¸·Á°í ½ÃµµÇÏ´Â inductive logic programming ÀÌ ÀÖ´Ù.

³í¸®ÇÁ·Î±×·¡¹ÖÀÇ ÇÙ½ÉÀº ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¹Ö¿¡ Çü½Ä³í¸® (formal logic) ½ºÅ¸ÀÏÀ» Àû¿ëÇÑ °ÍÀÌ´Ù. ¼öÇÐÀÚ¿Í Ã¶ÇÐÀÚµéÀº ÀÌ·ÐÀ» °³¹ßÇϱâ À§ÇÑ µµ±¸·Î¼­ ³í¸® (Logic) À» ã´Â´Ù. ¸¹Àº ¹®Á¦µéÀÌ ÇϳªÀÇ ÀÌ·ÐÀ¸·Î¼­ ÀÚ¿¬½º·´°Ô Ç¥ÇöµÈ´Ù. ÇϳªÀÇ ¹®Á¦°¡ ÇعýÀ» ÇÊ¿ä·Î ÇÑ´Ù´Â °ÍÀº, »õ·Î¿î °¡¼³ÀÌ ±âÁ¸ À̷аú ¸ð¼øµÇ´ÂÁö ¾Æ´ÑÁö¸¦ ¹¯´Â °Í°ú °°´Ù. ÇϳªÀÇ Áõ¸í (proof)À» ±¸ÃàÇÏ´Â °úÁ¤ÀÌ Àß ¾Ë·ÁÁø´Ù¸é, ³í¸®´Â Áú¹®¿¡ ´äÇÏ´Â ¹ÏÀ» ¸¸ÇÑ ¹æ¹ýÀ¸·Î »ý°¢µÉ °ÍÀÌ´Ù. ³í¸®ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀº ÀÌ·¯ÇÑ °úÁ¤À» ÀÚµ¿È­ ÇÑ´Ù. ÀΰøÁö´É (Artificial Intelligence) Àº ³í¸®ÇÁ·Î±×·¡¹ÖÀÇ ¹ßÀü¿¡ Ä¿´Ù¶õ ¿µÇâÀ» ³¢ÃÆ´Ù.

¿ø¼þÀÌ¿Í ¹Ù³ª³ª ¹®Á¦ (Monkey and Banana Problem) Àº ³í¸®ÇÁ·Î±×·¡¹Ö ¿µ¿ª¿¡¼­ ¿¬±¸µÇ´Â À¯¸íÇÑ ¹®Á¦ÀÌ´Ù. ¿ø¼þÀÌ°¡ ¹Ù³ª³ª¿¡ ´Ù°¡°¡´Â °æ·Î¸¦ ÇÁ·Î±×·¡¸Ó°¡ ¸í½ÃÀûÀ¸·Î ³ªÅ¸³»ÁÖÁö ¾Ê¾Æµµ, ÄÄÇ»ÅÍ´Â ½ÇÁ¦·Î ¿ø¼þÀÌ°¡ ¹Ù³ª³ª¿¡ À̸£´Â °¡´ÉÇÑ ±æÀ» Ãß·ÐÇØ ³½´Ù.

³í¸®ÇÁ·Î±×·¡¹ÖÀº ¹®Á¦°¡ Á¸ÀçÇÏ´Â ¼¼°è¸¦ ¹¦»çÇÏ´Â ³í¸®Àû ¸ðµ¨ (logic model)À» âÁ¶ÇÑ´Ù. ³í¸®ÇÁ·Î±×·¡¹Ö Á¢±Ù¹æ½ÄÀ̶õ ±× ¸ðµ¨¿¡ ´ëÇÑ »õ·Î¿î ¹®Àå (statements)¸¦ âÁ¶ÇÏ´Â °ÍÀÌ´Ù. ±× ¼¼°èÀÇ »óÅ¿¡ ´ëÇÑ Áö½ÄÀº ¸Å½Ã°£ È®ÀåµÈ´Ù. ÇϳªÀÇ ¹®Á¦´Â ÀϹÝÀûÀ¸·Î ´Ü ÇϳªÀÇ °¡¼³·Î¼­ ¼­¼úµÈ´Ù. ³í¸® ÇÁ·Î±×·¥Àº ±× °¡¼³ÀÌ ½ÇÁ¦·Î ±× ¸ðµ¨¿¡ ´ëÇÑ ÇϳªÀÇ Á¤¸® (theorem) ÀÎÁö¸¦ Áõ¸íÇÔÀ¸·Î½á ±× ¹®Á¦¸¦ ÇØ°áÇÑ´Ù.

³í¸®ÇÁ·Î±×·¡¹ÖÀÇ À¯¸íÇÑ ÀÀ¿ë¿µ¿ªÀº Àü¹®°¡½Ã½ºÅÛ (Expert System) °ú ÀÚµ¿ Á¤¸®Áõ¸í (Theorem Proving) (ÇÁ·Î±×·¥ÀÌ ±âÁ¸ ÀÌ·ÐÀ» È®ÀåÇÏ´Â Âü½ÅÇÑ Á¤¸®¸¦ »ý¼ºÇϴ°Í) ÀÌ´Ù. ... (Wikipedia : Logic Programming)

term :

³í¸®ÇÁ·Î±×·¡¹Ö (Logic Programming)    Prolog     Robert A. Kowalski   John A. Robinson   µµÃâ¹ý (Resolution)

paper :

Á¦¾à³í¸® ÇÁ·Î±×·¡¹Ö (Constraint Logic Programming) : ÀÌÀç±Ô ¿Ü

inductive logic programming