PROLOG
Artigo: PROLOG. Pesquise 862.000+ trabalhos acadêmicosPor: Ceci0705 • 13/9/2014 • 1.239 Palavras (5 Páginas) • 701 Visualizações
A LINGUAGEM PROLOG
A linguagem PROLOG é uma linguagem de programação declarativa para processamento simbólico. Ela é uma linguagem de programação que se enquadra na programação em lógica matemática e está associada à inteligência artificial e à linguística computacional. Sendo uma linguagem puramente lógica e concreta, considera seus componentes extra-lógicos.
Esse nome surgiu da abreviação PROgrammation em LOGique, por volta de 1972 por Alain Colmerauer e Philippe Roussel baseados no conceito de interpretação procedimental das cláusulas de Horn que, na lógica, é uma cláusula com, no máximo, um literal positivo. Surgiu a partir da vontade de usar a lógica como linguagem declarativa de representação e uni-la à representação procedimental, a popular da época de 1960.
O Prolog é uma linguagem diferente, mas de uma simplicidade marcante. Essa diferença decorre do fato de o Prolog ser uma linguagem funcional, e não uma linguagem procedural.
A linguagem de programação Prolog nasceu de um projeto que não tinha por foco a implementação de uma linguagem de programação, mas o processamento de linguagens naturais, então resultou em uma versão preliminar da linguagem Prolog em fins de 1971 sendo que a versão definitiva apareceu em fins de 1972.
O desenvolvimento do Kernel Language, realizado para o primeiro sistema operacional do PROLOG, foi um marco do desenvolvimento moderno da linguagem e veio dos projetos de computadores de quinta geração.
Atualmente, o Prolog é utilizado em diversas aplicações na área de computação simbólica, incluindo-se aí: bases de dados relacionais, sistemas especialistas, lógica matemática, prova automática de teoremas, resolução de problemas abstratos e geração de planos, processamento de linguagem natural, projeto de arquiteturas, logística, resolução de equações simbólicas, construção de compiladores, análise bioquímica e projeto de fármacos.
CONCEITOS BÁSICOS
A programação em Prolog consiste em:
• Identificar os objetos em um contexto de discurso;
• Identificar relações (ou predicados) de interesse entre estes objetos;
• Declarar fatos e regras a respeito destas relações; e
• Consultar o sistema acerca das relações declaradas
A PROLOG é uma linguagem declarativa, ou seja, normalmente as linguagens procedimentais ou orientadas a objetos apresentam como chegar à solução, o PROLOG utiliza a lógica como coleção de fatos e regras apresentando a descrição do problema, exigindo mais conhecimento em algoritmos e não utiliza métodos de controle usualmente utilizados em linguagens de programação.
Um programa pode rodar num modo interativo, a partir de consultas (queries) formuladas pelo usuário, usando a base de dados e as regras relacionais para produzir a solução através do mecanismo de unificação.
Ela é baseada no subconjunto do cálculo de predicados de primeira ordem, por isso, a execução de algo em PROLOG é a prova do teorema por resolução de primeira ordem. Alguns conceitos fundamentais são unificação (substituições que fazem expressões diferentes se tornarem idênticas), recursão (repetição de um objeto de forma similar à já exibida) e backtracking (refinamento de forma a eliminar soluções sem antes analisa-las).
Os elementos básicos da linguagem Prolog são herdados da lógica de predicados. Esses elementos são fatos, regras e consultas.
FATOS
Estabelece uma relação incondicional entre objetos. Em Prolog se fornece fatos e regras para uma base de dados; então se executam consultas ou (queries) a essa base de dados. A unidade básica do Prolog é o predicado, que é postulado verdadeiro. Um predicado consiste de uma cabeça e um número de argumentos.
A estrutura do fato é a formação de um predicado (relação sobre qual os objetos irão interagir), seus objetos ou átomos e a finalização da instrução com um ponto. Devendo ser sempre nessa ordem, e o predicado e o(s) objeto(s) devem ser escritos em letra minúscula, pois a ordem pode interferir no resultado da aplicação.
REGRAS
O segundo tipo de predicado no Prolog é a regra, também chamada de "cláusula". Estabelece uma relação condicional entre objetos, ou seja, nos permitem definir novas relações em termos de outras relações já existentes. As regras são utilizadas para construção de questões complexas.
Para utilização das regras, usamos o “-“ que significa a condição “se”.
Regras podem ser formuladas mais facilmente se desenharmos antes um grafo de relacionamentos. Nesse tipo de grafo, objetos são representados por nós e relacionamentos são representados por arcos. Além disso, o arco que representa a relação que está sendo definida deve ser pontilhado. Um grafo de relacionamento permite visualizar graficamente uma regra, facilitando a sua definição/codificação. A vantagem em se empregar os grafos de relacionamentos é que eles nos permitem visualizar melhor os relacionamentos existentes entre as variáveis usadas numa regra.
A composição de um grafo de relacionamento permite visualizar como uma regra é definida em termos de uma série de fatos básicos.
HÁ A CRIAÇÃO DE UM PROGRAMA, QUE É A COMPOSIÇÃO DE FATOS E REGRAS.
• Regras recursivas
Regras recursivas devem ser permitidas a fim de tornar a linguagem útil para muitas aplicações. Um predicado definido por uma regra recursiva deve necessariamente
...