Programação Prolog: Dê ao seu AI AI a melhor vida.

Divulgação: Seu suporte ajuda a manter o site funcionando! Ganhamos uma taxa de indicação por alguns dos serviços que recomendamos nesta página.


Prolog é uma linguagem de programação lógica. Como tal, pode parecer totalmente bizarro para pessoas com experiência em coisas como C ++ ou Perl. A ideia é muito simples. Em um programa, você define fatos e regras (as relações entre os fatos). E com base nisso, você pode executar consultas. No entanto, com essas funções simples, muito pode ser feito

Para lhe dar uma idéia do poder do Prolog, ele foi projetado para processar a linguagem natural. Você provavelmente já ouviu falar de ELIZA – um dos primeiros chatbots já escritos. Esse é o tipo de coisa que o Prolog foi projetado para fazer.

De fato, existem versões Prolog do ELIZA online. Mas este é apenas o começo. É amplamente utilizado em várias áreas que pensamos amplamente como “inteligência artificial”, especialmente em sistemas especializados.

Como funciona o Prolog

Prolog pode ser confuso para pessoas que têm experiência com linguagens processuais. Embora certamente tenha aspectos processuais, é principalmente uma questão de criar um sistema de fatos e como eles se relacionam. Então você deixa o Prolog gerenciar os detalhes de como isso é feito. A programação processual geralmente envolve fazer muitas perguntas “se”. O Prolog tem esse aspecto incorporado no sistema de dados.

Para ter uma idéia básica sobre o Prolog, precisamos falar sobre seus três aspectos fundamentais: fatos, regras e consultas.

  • Fatos: estes são exatamente o que você pensaria. Ele informa algumas informações ao sistema. No exemplo a seguir, estamos declarando que Heather gosta de Thomas:
    • curtidas (heather, thomas).
  • Regras: eles criam expressões lógicas. Eles usam coisas como o operador: -, que basicamente significa “se:
    • likes (thomas, heather): – likes (heather, thomas).

    Isto afirma que Thomas gosta de Heather se “Heather gosta de Thomas” for verdadeiro. Observe que o fato original é uma regra implícita que poderia ter sido escrita como:

    • gostos (heather, thomas): = true.
  • Consultas: isso nos permite fazer perguntas ao sistema. Por exemplo:
    • ? curtidas (thomas, heather).

    Isso faz a pergunta: “Thomas gosta de Heather?” E Prolog responderia: “sim”. Isso porque primeiro estabelecemos que Heather gostava de Thomas com um fato. Em seguida, criamos uma regra que afirmava que Thomas gostava de Heather, se ela gostasse dele..

Outro aspecto importante do Prolog é o uso de variáveis. Você deve ter notado como todos os exemplos fornecidos até agora são minúsculos. No Prolog, um elemento (chamado de “átomo”) que começa com uma letra maiúscula é uma variável. Imagine que queríamos descobrir quais amigos Heather tinha, poderíamos criar uma variável Friends para fazer isso:

? curtidas (heather, Amigos).

Isso faz a pergunta: “Quem gosta de urze?” E o Prolog carrega Friends com o que foi definido. No nosso caso, é Thomas. Mas poderia ser uma lista de pessoas.

Recursos

Agora que você tem uma idéia básica do que é o Prolog, vamos ver alguns recursos para você começar como programador de lógica.

Tutoriais

  • Introdução ao Prolog: este é um tutorial muito simples, mas que lida com alguns problemas básicos que outros tutoriais tendem a encobrir.
  • Experimente a programação lógica! Uma introdução suave ao prólogo: isso é focado na programação lógica como um paradigma de programação diferente.
  • Prolog: – Tutorial: esta é uma introdução detalhada e orientada a exemplos para o idioma.
  • Learn Prolog Now: este é um tutorial completo que começa no início e aborda assuntos avançados.

Tutoriais em vídeo

Além dos tutoriais padrão, há vários bons tutoriais em vídeo no Prolog. Eles são uma maneira surpreendentemente fácil de aprender os fundamentos.

  • Tutorial de Prolog de Derek Banas: este é um excelente tutorial em vídeo de uma hora que ajuda você desde o início: instalando o Prolog no seu computador.
  • Programando no Prolog: esta é a introdução em vídeo em quatro partes do Simple Engineer usando o SWI-Prolog, que roda em quase tudo.
  • Programação lógica: faz parte de uma série de palestras de Pallab Dasgupta sobre inteligência artificial. Este é sobre programação lógica acima de tudo. Há também uma palestra de acompanhamento sobre o Prolog especificamente.

Livros Prolog

Se você estiver realmente interessado, consulte um livro, que pode levá-lo ao assunto mais detalhadamente.

  • Sucesso da programação do Prolog em um dia de Sam Key: um pequeno livro que apresenta o Prolog em um dia (ou à noite).
  • Programação em Prolog por Clocksin Mellish: esta é uma introdução completa e concisa ao Prolog.
  • Prolog Programming for Artificial Intelligence por Ivan Bratko: apesar do que parece, esta é uma introdução ao Prolog – e uma que aborda profundamente o assunto.
  • The Art of Prolog: Técnicas avançadas de programação de Sterling e Shapiro: este é um clássico, mas não uma introdução. É algo que você deve conferir depois de se sentir confortável com o idioma.

Implementações Prolog

Existem vários compiladores e intérpretes Prolog gratuitos disponíveis.

  • Intérprete de brinquedo Prolog: este é um intérprete on-line da Universidade Monash que é uma ótima ferramenta para verificar pequenos pedaços de código. É especialmente bom para usar com os tutoriais antes de você se preocupar em instalar um compilador no seu computador.
  • SWI-Prolog: esta é uma implementação Prolog amplamente usada disponível para praticamente todas as plataformas.
  • GNU Prolog: este é o compilador gratuito de Daniel Diaz.
  • Compiladores e implementações gratuitas do Prolog: a lista de outras implementações do Prolog do país livre.

Outros recursos

Existem muitos outros recursos disponíveis. Algumas delas datam de um longo caminho, portanto, esteja ciente de que algumas informações podem estar desatualizadas.

  • Guia de Recursos Prolog: este é um recurso bastante antigo, mas contém uma grande quantidade de informações úteis.
  • Programação no mundo real no SWI-Prolog: possui muitas informações para os codificadores do SWI-Prolog, mas muitas delas serão úteis para pessoas que usam outros ambientes. De particular interesse são as perguntas frequentes para ## Prolog.
  • Prolog WikiBook: esta é uma excelente visão geral do idioma com muito material avançado.
  • Stack Overflow Prolog: este é o fórum on-line para programadores com uma enorme quantidade de informações. Verifique também a página Perguntas marcadas sobre o prólogo.
  • Grupo SWI-Prolog do Google: este não é um grupo muito ativo, mas ainda há muitas pessoas com conhecimento. Verifique também o grupo comp.lang.prolog.

Sumário

Se você quer se concentrar nele ou apenas usá-lo para complementar suas outras ferramentas de programação, o Prolog é uma ótima linguagem para estudar. Como linguagem de programação lógica, você pensa em problemas de maneiras menos processuais. Com os recursos aqui, você pode aprender e avançar na sua programação Prolog.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me