Características e exemplos de programação lógica
- 4462
- 588
- Conrad Schmidt
O Programação lógica É um paradigma de programação que usa circuitos lógicos em vez de apenas funções matemáticas para controlar como os fatos e regras são declarados.
Em vez de um fluxo de controle cuidadosamente estruturado que determina quando executar e como avaliar chamadas para funções ou outras instruções, as regras lógicas do programa são escritas como cláusulas ou predicados lógicos.
Exemplos de programação lógica em Prolog. Fonte: por Kuldeepsheoran1 - Captura de tela, CC por -sa 3.0, Wikimedia CommonsEssa abordagem, que é frequentemente usada em programação genética e evolutiva, geralmente diz a um modelo que objetivo para alcançar, em vez de como alcançá -lo.
Cada regra contém um cabeçalho e um corpo com uma lógica formalizada, em vez de uma função matemática executável. Por exemplo, "e é verdade (cabeça): se C1, C2 e C3 forem verdadeiros (corpo)". Os fatos ou resultados são expressos sem um corpo, como "e é verdadeiro".
No entanto, com algumas linguagens de programação, como Prolog. Por exemplo, "para resolver e adicionar C1, C2 e C3".
[TOC]
Características da programação lógica
A programação lógica é substancialmente diferente das outras estratégias de programação existentes. Em vez de instruções para um computador com o programa, as relações entre objetos são estabelecidas. Dessa maneira, o computador pode raciocinar esses relacionamentos e, assim, atingir soluções lógicas.
Dentro de um programa lógico, existem dois conjuntos principais de código: fatos e regras. As regras se aplicam aos fatos para obter conhecimento sobre o meio ambiente.
Verdade e dedução lógica
Programas lógicos podem ser decifrados através de dois conceitos importantes: verdade e dedução lógica. A verdade vem se o cálculo no programa for verdadeiro ou não, sob a implementação dos símbolos do programa. A dedução lógica determina se uma cláusula lógica é uma consequência do programa.
Pode atendê -lo: tipos de software de aplicativoEssas instruções sempre serão interpretadas como frases e cláusulas lógicas, o resultado de sua execução sendo uma consequência lógica dos cálculos que contêm.
Lógica de primeira ordem
É um ramo da lógica propositiva. Considere se os objetos são verdadeiros ou falsos de uma perspectiva parcial do mundo, chamada domínio. A programação lógica é baseada em uma generalização da lógica de primeira ordem.
Esta lógica é composta de sintaxe e semântica. Sintaxe é a linguagem formal usada para expressar conceitos. Por outro lado, a semântica das fórmulas lógicas de primeira ordem indica como determinar o valor verdadeiro de qualquer fórmula.
Essa lógica é baseada em um alfabeto e uma linguagem de primeira ordem, além de um conjunto de axiomas e regras de inferência.
Formulário da Clausal
É um subconjunto de lógica de primeira ordem. Possui uma forma normalizada em que uma frase é definida por um prefixo ou cadeia universal de quantificadores universais e um conjunto livre de quantificadores de cláusula.
Ao solicitar uma consulta do programa, o corpo da cláusula cujo cabeçalho pode coincidir será considerado. É o mesmo que aplicar uma regra de inferência na lógica.
Como uma passagem de inferência, duas cláusulas são escolhidas que têm como propriedade que uma contém um dilema X (um literal positivo) e o outro contém um dilema ¬x (um literal negativo). Esses dilema são conhecidos como complementares.
A partir dessas duas cláusulas iniciais, uma nova cláusula resolutiva é construída usando todos os literais, exceto os complementares.
Inteligência artificial
A programação lógica é uma metodologia usada para procurar computadores para deduzir, porque é útil representar o conhecimento. A lógica é usada para representar conhecimento e inferência para lidar com isso.
Pode atendê -lo: nticxA lógica usada para representar o conhecimento é o formulário de cláusula. É usado porque a primeira lógica de ordem é bem conhecida e é capaz de representar todos os problemas computacionais.
Prolog é uma linguagem de programação baseada em idéias de programação lógica. A idéia de Prolog é fazer com que a lógica pareça uma linguagem de programação.
Exemplos de programação lógica
Exemplo 1
- Fato: Rubí é um gato.
- Regra: todos os gatos têm dentes.
- Consulta: Rubí tem dentes?
- Conclusão: Sim.
A regra "todos os gatos têm dentes" podem ser aplicados a Rubí, porque há um fato que diz "Rubí é um gato". Este exemplo não está escrito com nenhuma sintaxe de uma linguagem de programação real.
Exemplo 2
Este exemplo pode ser escrito em Prolog, por ser uma das linguagens de programação lógica mais conhecidas:
- Feminino (Alissa).
- masculino (Bobby).
- masculino (Carlos).
- Feminino (Doris).
- Son_ (Doris, Carlos).
- Son_ (Carlos, Bobby).
- Son_ (Doris, Alissa).
- Pai_ (f, p):- masculino (f), filho_ (p, f).
É difícil ler este programa, porque o Prolog é notavelmente diferente de outros idiomas. Qualquer componente do código que se assemelha “feminino (Alissa)." é um fato.
Uma regra é "pai_ (f, p):- masculino (f), filho_ (p, f)". O símbolo ":-" pode ser lido como "é verdade se". As letras maiúsculas significam que as variáveis podem ser aplicadas a qualquer objeto, para que F possa significar Carlos, Doris, Alissa ou Bobby. Este código pode ser traduzido como:
- Alissa é uma mulher.
- Bobby é um homem.
- Carlos é um homem.
- Doris é uma mulher.
Pode atendê -lo: dispositivos de saída: características, quais são o uso, tipos, exemplos- Doris é filha de Carlos.
- Carlos é filho de Bobby.
- Doris é filha de Alissa.
- "F é o pai de P" é verdadeiro se F é um homem e se p é o filho de F.
Consulta
Suponha que você queira consultar o programa para obter mais informações. Você pode procurar pedir que seja de quem é o padre Bobby com: ?- Pai_ (Bobby, x). O sistema indicará a seguinte resposta: x = carlos.
Nesse caso, um relacionamento está acontecendo onde um de seus valores é uma variável. O que ele fez foi aplicar objetos diferentes a esse relacionamento até que um deles fosse logicamente sólido.
O único pai de Carlos é Bobby, e Bobby é um homem. Isso satisfez a regra.". Quando x é igual a "carlos", a lógica é sólida.
Outras consultas
Outras consultas mais gerais podem ser feitas ao Prolog, que fazem o sistema gerar vários resultados:
- ?- Pai_ (pai, filho).
- Pai = Bobby
- Criança = Carlos
- Pai = Carlos
- Criança = Doris
Como poderia ser observado, a programação lógica não requer informações que Alissa ou Bobby são pessoas para obter conhecimento sobre eles. De fato, não é necessário indicar que existe um conceito chamado.
Na maioria das linguagens de programação não -lógica, esses conceitos devem primeiro ser definidos antes de escrever programas que processam informações sobre pessoas.
Referências
- AI profundo (2020). Programação lógica. Retirado de: Deepai.org.
- Wikiversity (2020). Teoria das linguagens de programação/programação lógica. Retirado de: em.Wikiversity.org.
- Imperial College London (2006). Programação lógica. Retirado de: Doc.Ic.AC.Reino Unido.
- Jia-huai você (2020). Introdução ao programação lógica. Universidade de Alberta. Retirado de: Eng.Ucy.AC.Cy.
- C2 Wiki (2020). Programação lógica. Retirado de: wiki.C2.com.
- « Propriedades do trapézio retângulo, relacionamentos e fórmulas, exemplos
- Propriedades, relacionamentos e fórmulas, exemplos, exemplos, exemplos »