| AI :: Prolog :: Introdução AI :: Prinog :: INTRODUÇÃO O Módulo Perl contém o que e o porquê da programação lógica. |
Baixe Agora |
AI :: Prolog :: Introdução Classificação e resumo
- Licença:
- Perl Artistic License
- Nome do editor:
- Curtis Poe
- Site do editor:
- http://search.cpan.org/~ovid/
AI :: Prolog :: Introdução Tag
AI :: Prolog :: Introdução Descrição
AI :: Prinog :: INTRODUÇÃO O Módulo Perl contém o que e o porquê da programação lógica. Ai :: Prolog :: INTRODUÇÃO O Módulo Perl contém o que e o porquê da programação lógica.Você já pode pular isso se você já conhece a programação lógica.Nota que a maior parte deste foi puxada do meu write-up sobre a programação lógica em Perl em Http: //www.perlmonks.org/?node_id=424075.in Perl, geralmente você pode anexar uma lista a outra com isso: my @z = (@x, @Y); no entanto, isso está dizendo ao idioma o que fazer. Como seres sencientes, podemos olhar para isso e inferir mais informações. Dado @z e @x, poderíamos inferir @Y. Dado apenas @z, poderíamos inferir todas as combinações de @x e @Y que podem ser combinadas para formar @ z.perl não podem fazer isso. Na programação lógica, no entanto, definindo o que anexar () parece, recebemos todas as outras informações. No Prolog, parece com isso: anexar ([], x, x). Anexar (, Y, ): - Anexar (x, y, z). (Na verdade, há algo chamado um corte "após a primeira definição, mas manteremos isso simples. ) O que o código acima diz é "Anexar uma lista vazia a uma lista não vazia, produz a lista não vazia". Esta é uma condição limite. Os programas lógicos freqüentemente exigem uma análise cuidadosa de condições de limite para evitar loops infinitos (semelhantes a como as funções recursivas em Perl geralmente devem ter uma condição de terminação definida neles.) A segunda linha é onde a maior parte do trabalho é concluída. No Prolog, para identificar a cabeça (primeiro elemento) de uma lista e sua cauda (todos os elementos, exceto o primeiro), usamos a sintaxe . Desde ": -" é lido como "se" no Prolog, o que isso diz, se quisermos concatenar (A, B, C) e (D, E, F): Dada uma lista com uma cabeça de W e uma cauda de X: @ List1 = QW / ABC /; (QW / A / é W, a cabeça e QW / BC / é x, a cauda) se for anexado à lista Y: @Y = qw / def /; temos uma lista com uma cabeça de W e uma cauda de Z: @ list2 = qw / abcdef /; somente se x anexado a y formas z: x é qw / bc /. Y é qw / d e f /. Z é QW / B C D E F /. Requisitos: · Perl.
AI :: Prolog :: Introdução Software Relacionado