Um mecanismo de regras é um software que irá processar um pedido de acordo com um banco de dados de regras. Em um sistema de motor de regras , o usuário seleciona um conjunto de regras e , em seguida, envia um " pedido ", o que é processado de acordo com as regras. Os resultados deste processo são então comunicada pelo sistema . Este modelo de processamento de informação é útil para uma variedade de aplicações . Prolog
A melhor maneira de entender como os motores de regras de trabalho é aprender a linguagem de computador Prolog . A linguagem Prolog consiste em um mecanismo de regras e um conjunto de convenções sobre como escrever regras. Aprender Prolog trabalha ensina como um mecanismo de regras funciona - e todas as questões que surgem com mecanismos de regras como retrocesso e como representam fatos e regras . Depois de as regras terem sido escritas , Prolog é dado uma declaração de que ele tenta encontrar no banco de dados de fatos. Se isso não é um fato, mas é a conclusão de uma regra, os antecedentes da regra tornar as novas declarações de busca. Recursão e retrocesso continuar até que as regras estão satisfeitos ou não pode ser satisfeito, e então o sistema Prolog pronuncia a declaração original verdadeiro, falso ou indecidível .
Programa Arquitetura
Se o comitê do projeto permitir, você deve escrever o seu motor de regras em Prolog . Se não for, provavelmente vai olhar muito como Prolog - todos os mecanismos de regras fazer. Na primeira parte do projeto, escrever os fatos. Esta parte é como um banco de dados. Em seguida escrever as regras - as regras devem ser agrupadas por conclusão. Se " A e B implica X " e " C e D implica X" , bem como, em seguida, essas duas regras são sobre X e devem ser agrupadas . X é definido ou descrito por A e B, bem como por C e D. O mecanismo de regras , em primeiro lugar procurar na base de dados para ver se o pedido corresponder a uma entrada na base de dados . Se assim for , o sistema responde " Sim ". Caso contrário, o mecanismo de regras olha para as conclusões a todas as regras - se não houver correspondência , o sistema responde: " Não." Se a declaração corresponde X , dois caminhos serão considerados: A e B, e C e D. Se perseguir A e B não leva a nada , o sistema de " Backtracks " e considera C e D. Usando Prolog torna isso fácil , pois o mecanismo de regras é construída na linguagem.
Teste do Sistema
Quando o mecanismo de regras funcionamento olha um comunicado, ele tenta " entre dentes " a declaração . Na lógica, isso significa encontrar um link ( através das regras) a partir da declaração com os fatos . Se a instrução (ou sua negação ) está nos fatos, você está feito. Se não, em seguida, verificar para ver se a afirmação é a conclusão de uma regra. Se não, então a declaração não pode ser decidido. Se a declaração coincide com a conclusão de uma regra , substitua a declaração de meta com os antecedentes da regra. Isto está fazendo uma ligação , indo para trás através de uma regra. Se esta pesquisa falhar, pode ser necessário voltar atrás e considerar uma regra diferente , cuja conclusão combinava com o comunicado. Você deve testar o sistema , dando-lhe declarações progressivamente mais complexas. Primeiro tente uma declaração que corresponde a um fato no banco de dados . Em seguida, use uma declaração que requer apenas uma regra. Em seguida, use uma declaração que exige retrocesso , etc