Programação logica

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2113 palavras )
  • Download(s) : 0
  • Publicado : 11 de junho de 2012
Ler documento completo
Amostra do texto
Alguns Aspectos de Programação em Lógica e Prolog

Introdução

A lógica, desde Aristóteles, sempre esteve ligada ao pensamento cientifico. Ela constitui a base para deduzir conseqüências a partir de certas premissas, para estudar a validade ou falsidade de sentenças, dada a validade ou a falsidade de outras sentenças; para verificar a validade de argumentos e para estabelecer a consistênciade um conjunto de sentenças.

Já os computadores surgiram na história há muito pouco tempo, ao compará-los com a lógica. Quase todos os computadores de hoje em dia são baseados no modelo de Von Neumann que surgiu na década de 40. Esta máquina é uma concretização da máquina de Alan Turing. A máquina proposta por Von Neumann é constituída por um “grande” conjunto de células de memória e uma unidadede processamento com algumas células de memória locais chamadas registradores.


Figura 1. Esquema básico da máquina de Von Neumann.


A unidade de processamento pode copiar dados armazenados nas células de memória para os registradores, realizar operações com esses dados nos registradores e transferir os resultados de volta para as células de memória. Um programa para a máquina de VonNeumann deverá fornecer instruções que realizem as operações descritas acima.

O desenvolvimento de computadores baseados na máquina de Von Neumann encontrou muitas limitações tecnológicas e de engenharia que foram sendo resolvidas através dos anos. Porém, á medida que os problemas referentes à construção de computadores eram resolvidos, os problemas relativos a como utiliza-los surgiam. Em outraspalavras, os computadores eram capazes de realizar instruções fornecidas pelo homem, porém o homem ainda não era plenamente apto a programar os computadores para resolver problemas práticos que surgiam. A única linguagem disponível na época era a linguagem especifica de cada máquina através da qual o programador fornecia instruções ao “estilo Von Neumann”.

A construção de programas escritos emlinguagem de máquina era complexa e tomava muito tempo. A partir daí, linguagens mais fáceis para a compreensão humana começaram a aparecer: Fortran, Algol e Pascal, mas todas elas apresentavam características marcantes da máquina de Von Neumann subjacente, que apesar de fáceis ainda eram orientadas a máquina, em que o homem construía programas pensando em termos de operações do computador.

AProposta de programação em lógica.

Até o inicio da década de 70 utilizava-se a lógica apenas como uma ferramenta para projetar computadores (mais especificamente para projetar circuitos) e para auxiliar na construção de programas escritos em Algol ou Fortran. A partir do inicio da década de 70, trabalhos de Robert Kowalski propunham a utilização da lógica diretamente como uma linguagem deprogramação. A essa nova área da ciência que nascia, deu-se o nome de programação em lógica. Os programas construídos utilizando a lógica diretamente como linguagem de programação receberam o nome de programas lógicos.

Em termos gerais, proposta da programação em lógica é a seguinte: um programa lógico é constituído por um conjunto de axiomas e por um conjunto de regras de inferência. De posse desseprograma podemos fazer “perguntas” a ele. Essas perguntas na verdade são formulas as quais desejamos saber se podem ser deduzidas (ou não) a partir dos axiomas e regras de inferência contidos no programa lógico.



As perguntas na verdade são fórmulas, as quais submetemos ao programa lógico, que constituem a entrada do programa lógico. Dada uma entrada, dizemos que o processo de tentarmosdemonstrar essa entrada a partir dos axiomas e regras de inferência do programa lógico é a execução do mesmo.

Paralelamente aos trabalhos de Robert Kowalski, Alain Colmerauer e seus colegas desenvolveram um programa que capturava a idéia do mecanismo de tentar provar as perguntas a partir de um conjunto de axiomas e regras de inferência. Esse programa recebeu o nome de PROLOG (do francês...
tracking img