Rete  Algorithm

 

Charles L.Forge °¡ 1979³â¿¡ Carnegie-Mellon ´ëÇп¡¼­ OPS(Official Production System) ¿¡ °üÇÑ ¹Ú»ç³í¹®¿¡¼­ Rete algorithmÀ» ¹ßÇ¥Çß´Ù. ÀÌ°ÍÀº ±âÁ¸ÀÇ Markov algorithmÀ» ¹ßÀü½ÃŲ °ÍÀÌ´Ù. Áï Markov ¿¡ ÀÇÇؼ­ rule ¿¡ priority ¸¦ ºÎ¿©ÇÏ¿© ³ôÀº ¿ì¼±¼øÀ§ÀÇ rule À» ¸ÕÀú ¼öÇàÇÏ´Â control strategy ¸¦ È®¸³ÇÏ¿© expert system ÀÇ ±âÃÊ°¡ µÇ¾ú´Ù.

±×·¯³ª ½Ç ¼¼°èÀÇ expert systemÀ» À§Çؼ­´Â ¼ö¹é, ¼öõ°³ÀÇ ruleÀ» »ç¿ëÇÏ°Ô µÇ¹Ç·Î È¿À²¼ºÀÇ ¹®Á¦°¡ ´ëµÎµÇ¾ú´Ù. »ç¿ëÀÚ°¡ response ¸¦ ¾ò´Âµ¥ ¿À·¨µ¿¾È ±â´Ù·Á¾ß ÇÑ´Ù¸é ½Ã½ºÅÛÀº »ç¿ëµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. µû¶ó¼­ ¸ðµç rule¿¡ ´ëÇؼ­ ¾Ë°í ÀÖÀ¸¸ç °¢ ruleÀ» ¼ø¼­ÀûÀ¸·Î Àû¿ëÇغ¼ ÇÊ¿ä¾øÀ̵µ ¾î¶² ruleÀ» ¼öÇà½ÃÅ°´Â algorithmÀ» ÇÊ¿ä·Î ÇÏ°Ô µÇ¾ú´Ù

Rete algorithm Àº network »ó¿¡ rule ¿¡ °üÇÑ Á¤º¸¸¦ ÀúÀåÇÔÀ¸·Î½á ¼Óµµ¸¦ Çâ»ó½ÃÅ°´Â very fast pattern matcher ÀÌ´Ù. Áï ¸ðµç recognize-act cycle¿¡¼­ ¸ðµç rule ¿¡ ´ëÇÑ facts ¸¦ match ½ÃÅ°´Â °ÍÀÌ ¾Æ´Ï°í, º¯È­µÈ facts ¿¡ ´ëÇؼ­¸¸ match ½ÃŲ´Ù. °¢ cycle¿¡¼­ º¯È­°¡ ¾ø¾ú´ø static data ´Â ¹«½ÃµÇ±â ¶§¹®¿¡ antecedent ¿¡ ´ëÇÑ facts µéÀÇ matching ¼Óµµ¸¦ Å©°Ô Çâ»ó½ÃŲ´Ù. Rete ¿Í °°Àº fast pattern matching algorithm µéÀº expert system ÀÇ ½ÇÁ¦ ÀÀ¿ëÀ» À§ÇÑ ±âÃÊ°¡ µÇ¾ú´Ù. Forge ´Â °è¼ÓÇؼ­ OPS ¸¦ ¹ßÀü½ÃÅ°¾ú´Ù

THE RETE MATCHING ALGORITHM : Dan W. Patterson : ..... ÀüÇüÀûÀÎ Áö½Ä º£À̽º´Â ¼ö¹é ¶Ç´Â ¼öõ°¡Áö ÀÌ»óÀÇ ±ÔÄ¢À» Æ÷ÇÔÇϴµ¥ °¢ ±ÔÄ¢Àº ¸î°¡Áö (¾Æ¸¶µµ 10¿©°¡Áö ÀÌ»óÀÇ) ±ÔÄ¢µéÀ» Æ÷ÇÔÇÑ´Ù. ÀÛ¾÷ ¸Þ¸ð¸® ¿ª½Ã ÀüÇüÀûÀ¸·Î ¼ö¹é °¡Áö ÀÌ»óÀÇ Á¶Ç×µéÀ» Æ÷ÇÔÇÑ´Ù. °á°úÀûÀ¸·Î ÀÛ¾÷¸Þ¸ð¸® (working memory) ¿¡ ´ëÇÑ ¸ðµç ±ÔÄ¢°ú LHS (left hand side) Á¶°ÇµéÀ» ¼Ò¸ðÀûÀ¸·Î ¸ÅĪÇÏ´Â µ¥ ¼ö¸¸¹øÀÇ ºñ±³°¡ ÇÊ¿äÇÏ´Ù ...... ÀÌ·¯ÇÑ ½Ã½ºÅÛÀº °è»ê ½Ã°£ÀÇ 90% Á¤µµ°¡ ¸ÅĪ¿¬»ê°ú °ü·ÃµÇ¾îÁú ¼ö ÀÖ´Ù ........°¢ »çÀÌŬ¸¶´Ù ¸ÅĪ¿¬»êÀÌ ¼ö õ¹ø ¼öÇàµÇ¾îÁö´Â °ÍÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Ù. ÀÌ¿¡ È¿°úÀûÀÎ ¸ÅÄ¡ ¾Ë°í¸®ÁòÀ» °³¹ßÇÏ°Ô µÇ¾ú´Âµ¥ À̸¦ RETE¶ó°í ºÎ¸¥´Ù (Forgy, 1982) .......

Rete Algorithm

Wikipedia : Rete algorithm

The Rete algorithm is an efficient pattern matching algorithm for implementing rule-based ("expert") systems. The Rete algorithm was designed by Dr. Charles L. Forgy of Carnegie Mellon University in 1979. Rete has become the basis for many popular expert systems, including OPS5, CLIPS, JESS, and LISA.

A naïve implementation of an expert system might check each rule against the known facts in the Knowledge base, firing that rule if necessary, then moving on to the next rule (and looping back to the first rule when finished). For even moderate sized rules and facts knowledge-bases, this naïve approach performs far too slowly.

The Rete algorithm (from the Latin 'rete' for net, or network) provides the basis for a more efficient implementation of an expert system. A Rete-based expert system builds a network of nodes, where each node (except the root) corresponds to a pattern occurring in the left-hand-side of a rule. The path from the root node to a leaf node defines a complete rule left-hand-side. Each node has a memory of facts which satisfy that pattern.

As new facts are asserted or modified, they propagate along the network, causing nodes to be annotated when that fact matches that pattern. When a fact or combination of facts causes all of the patterns for a given rule to be satisfied, a leaf node is reached and the corresponding rule is triggered.

The Rete algorithm is designed to sacrifice memory for increased speed. In most cases, the speed increase over naïve implementations is several orders of magnitude (because Rete performance is theoretically independent of the number of rules in the system). In very large expert systems, however, the original Rete algorithm tends to run into memory consumption problems. Other algorithms, both novel and Rete-based, have since been designed which require less memory.

[edit]

Rete II

In the 1980s Charles L. Forgy developed successor of Rete algorithm named Rete II [1] (http://www.pst.com/rete2.htm). Unlike original Rete (which is public domain) this algorithm was not disclosed. Rete II claims better performance for more complex problems (even orders of magnitude (http://www.pst.com/benchcr2.htm)).

[edit]

Reference

[edit]

External links

term :

Áö½Ä (Knowledge)   Áö½Äº£À̽º (Knowledge Base)   Áö½Ä°øÇÐ (Knowledge Engineering)    Áö½Ä°øÇÐÀÚ (Knowledge Engineer)   Áö½Äȹµæ (Knowledge Acquisition)   Áö½Ä Ç¥Çö (Knowledge Representation)    Áö½ÄÇ¥Çö (Knowledge Representation)    Àü¹®°¡½Ã½ºÅÛ (Expert System)   ÈÞ¸®½ºÆ½ (Heuristic)   ÄÄÇ»ÅÍ (Computer)   ÀΰøÁö´É (Artificial Intelligence)

paper :

Charles L. Forgy

THE RETE MATCHING ALGORITHM : Dan W. Patterson