Prolog

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1013 palavras )
  • Download(s) : 0
  • Publicado : 25 de agosto de 2012
Ler documento completo
Amostra do texto
PROLOG

1. Introdução
Prolog é uma linguagem de programação lógica e declarativa. O seu nome, Prolog, é a abreviação de "PROgramming in LOGic" (PROgramando em LÓgica). A herança do Prolog inclui a pesquisa on validadores de teorems e outros sistemas de dedução automatizados desenvolvidos nos anos 60 e 70.
Prolog é o maior exemplo de uma linguagem de programação de quarta geração suportanto oparadigama de programação declarativo.

2. Histórico
A linguagem Prolog teve sua concebida por Colmerauer e Roussel em 1972, sendo sua primeira versão feita em Fortran por Battani e Meloniem 1973.
Desde então tem sido utilizada para aplicações de computação simbólica, como banco de dados relacionais,compreensão de linguagem natural, automação de projetos,análise de estruturas bioquímicas esistemas especialistas.

Nos anos 70. R.A.Kowaski fornece as bases teóricas do Prolog; Alain Comerauer e colegas fazem a primeira implementação do Prolog.
Nos anos 80. David Warren da Universidade de Edinburgh constrói o primeiro compilador; Torna-se popular com o Turbo-Prolog da Borland.


Alguns fatos sobre Prolog:
" O termo Prolog é derivado da expressão "Programming in Logic", uma vez queé baseado em Lógica de Predicados de 1a ordem.
" Foi criado em 1973, na Universidade de Marseille, França.
" Propósito da criação: criar programas para tradução de linguagem natural (= linguagens faladas, como português, inglês).
" Não é uma linguagem padronizada: padrão ANSI esta sendo formalizado. Enquanto isso, o livro de Clocksin e Mellish, "Programming in Prolog" (1984) é um padrão nãooficial.
" Geralmente é interpretado, mas pode ser compilado.
" Escolhida para o projeto japonês da linguagem de 5a. Geração.

Prolog e Outras Linguagens
C, Pascal, Basic: são linguagens Procedimentais (ou imperativas) - especificam como deve ser feita alguma coisa. Codificam algoritmos.
C++, SmallTalk, Eiffel: são linguagens Orientadas a Objetos - especificam objetos e seus métodos.
Prolog: éuma linguagem declarativa - especifica o quê se sabe e o quê deve ser feito.
Prolog é mais direcionada ao conhecimento, menos direcionada aos algoritmos.
Prolog não possui estruturas de controle como do-while, repeat-until, if-then-else, for, case ou switch como os encontrados em outras linguagens: em Prolog utiliza-se métodos lógicos para declarar como o programa atinge seu objetivo.
A forçado Prolog reside em sua capacidade de Busca e Casamento de Padrões.

Características Técnicas
Possui uma sintaxe baseada em formulações com predicados lógicos, onde se "apresenta" ao programa informações verdadeiras e relações entre essas informações.
Usa o "backward chaining" (encadeamento regressivo), onde que para que alguma informação seja verdadeira, todas as premissas dessa informaçãodevem também serem verdadeiras.


APLICAÇÕES
• Prolog é uma linguagem declarativa, isto é, o usuário "declara" o modelo do seu problema e deixa o Prolog buscar a solução.
• Permite construir protótipos rapidamente.
• Elegância e facilidade de compreensão.
• Linguagem de 5a geração.
• Modularidade.
• Polimorfismo.
• Alocação e desalocação automática de memória dinâmica.
• Compilaçãoincremental.
• Metaprogramação (programas que manipulam outros programas).

Limitações:
Requer grande quantidade de memória para realizar os processos de busca envolvidos na resposta de uma pergunta no caso do programador não explorar os aspectos "procedimentais" da linguagem.
O Prolog não foi originalmente concebido para manipular estruturas númericas (ex. inversão de matrizes).


SistemasBaseados no Conhecimento (SBCs): ou Knowledge-based systems, são sistemas que aplicam mecanismos automatizados de raciocínio para a representação e inferência de conhecimento. Esses sistemas costumam ser identificados como simplesmente "de inteligência artificial aplicada" e representam uma abrangente classe de aplicações da qual todas as demais seriam aproximadamente subclasses.

Sistemas de...
tracking img