Prolog (Programação em Lógica ) foi desenvolvido na França para a criação de tradutores de linguagem natural. Ele foi aperfeiçoado na Escócia para escrever provadores de teoremas automáticas para a matemática e lógica. Ele chamou a atenção internacional quando foi escolhida para o projeto japonês " quinta geração " . Programas Prolog consistem de uma lista cuidadosamente ordenada de regras (escrito como cláusulas de Horn ) . O usuário faz uma pergunta e as respostas do programa - em termos de regras. É um paradigma extremamente útil . O padrão Chifre Cláusulas
cláusulas de Horn foram inventados em 1951 pelo matemático americano Alfred Horn. Em suas palavras, uma cláusula de chifre é " uma disjunção de literais que têm no máximo um literal positivo. " Uma cláusula típico chifre parece com isso: " . Negativo " (não A) ou ( não B) ou C. O literal positivo é C, A e B são Se a cláusula chifre tem exatamente um literal positivo - como Prolog cláusulas chifre fazer - ela é chamada de cláusula de chifre definitiva. Cláusulas de Horn são geralmente escritos em um formato simplificado, mas equivalentes. A declaração disjuntiva ( não A) ou ( não B) ou C é logicamente equivalente à afirmação (A e B ) implica C. Este é simplificado para : A, B - : C ( em que o " - " representa a seta implicação) . A cláusula mais simples chifre é um único literal positivo ( em que não há nenhuma seta) - . Este é o mesmo para ambas as cláusulas de Horn e Prolog
As cláusulas Prolog Chifre
< regras p> Prolog parecido com cláusulas de Horn , exceto a seta aponta na direção oposta. A regra de gramática que uma frase é composta por um sintagma nominal e um sintagma verbal está escrito S: - NP, VP . O conjunto de regras pode também conter o ditado que um sintagma nominal é composto de um artigo e um substantivo , escrito NP : - A, N. Se houver outra regra afirmando que uma frase de substantivo é um substantivo plural , pode ser escrito NP : - PN . Quando todas as regras estão em vigor , o usuário pode enviar uma "sentença " para o programa eo programa vai tentar igualar o "sentença " com as regras. Prolog trabalha para trás através das regras - se a questão coincide com a conclusão ( literal positivo ) de uma regra, os antecedentes ( literais negativos ) tornam-se as novas perguntas. Se todas as questões eventualmente corresponder-se com os fatos , a "sentença " é uma sentença válida. Este processo funciona para correspondência matemática, lógica e outros sistemas baseados em regras , bem como ele funciona para a gramática .
The Cut Cláusula
Existem três tipos de cláusulas de chifre que são usados em Prolog : o (sem seta) declaração de fato , a regra ( com uma seta , um literal positivo e pelo menos um literal negativo ) e da CUT . Cláusulas Corte conter o "!" símbolo . Quando o interpretador Prolog vê o símbolo de corte ( pronuncia-se " bang" ) , ele exclui as regras restantes que têm o mesmo literal positivo, a regra que contém o estrondo. Isto pode ter vários efeitos sobre os programas - pode representar certos resultados negativos, ele pode evitar ou lidar sem problemas com falhas , ou pode simplesmente eliminar parte do espaço de busca e acelerar o programa
< br. >