Características e exemplos de programação lógica

Características e exemplos de programação lógica

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 Commons

Essa 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 aplicativo

Essas 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: nticx

A 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

  1. AI profundo (2020). Programação lógica. Retirado de: Deepai.org.
  2. Wikiversity (2020). Teoria das linguagens de programação/programação lógica. Retirado de: em.Wikiversity.org.
  3. Imperial College London (2006). Programação lógica. Retirado de: Doc.Ic.AC.Reino Unido.
  4. Jia-huai você (2020). Introdução ao programação lógica. Universidade de Alberta. Retirado de: Eng.Ucy.AC.Cy.
  5. C2 Wiki (2020). Programação lógica. Retirado de: wiki.C2.com.