Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Algoritmo e Programação
Introdução à Linguagem Prolog
Laboratório de Programação
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
1 Introdução à Programação Linguagem R. 2 Introdução A aprendizagem de uma linguagem de programação desenvolve a capacidade de raciocínio e análise do.
Introdução à Programação Linguagem R
Introdução à Programação Linguagem R
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Introdução a Programação Renata Freire
Introdução à Linguagem Prolog
Introdução à Linguagem Prolog
Algoritmos Mar / 2007.
Lógica de Programação Módulo II
Prolog: Predicados Built-in 2
LIFE: predicados, funções e sorts built-in Jacques Robin Paulo Oliva Leonardo Lemos DI-UFPE.
Programação Lógica: PROLOG
Programação para Engenharia I
Tópicos Preliminares na Linguagem C
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
2. A Linguagem Prolog.
3. Sintaxe e Semântica.
Programação em Lógica Augusto Marks Batista Guilherme dos Santos Fujiyoshi Marlon Bill Santos.
Unidades de Armazenamento
Comunicação Inclusiva Acessibilidade e Programação Web
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Luís Rodrigues – Universidade dos Açores
Inteligência Artificial: A Linguagem Prolog (parte 2)
Sintaxe e Semântica do PROLOG.
Aula Prática - Prolog Sistemas Inteligentes /~if684
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Prolog Programação Lógica Ícaro A. Souza.
Folha de Cálculo Como Dar Nome a Uma ou mais Células?
Informática Teórica Engenharia da Computação
Aula Prática - Prolog Sistemas Inteligentes /~if684
Linguagem de Programação II Parte IX
Introdução a Programação
Seminário 1: Revisão de C
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
PROGRAMAÇÃO I UNIDADE 2.
Fábio de Oliveira Borges
Cássio Cristo Dawyson Guerra Matheu Santos
Programação de Computadores
Uma Breve Introdução á programação lógica
Introdução a Programação Algoritmos
Sistemas Especialistas
PROGRAMAÇÃO I Dados Tipos de dados Variáveis Constantes Expressões
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Algumas notas sobre a linguagem de programação C
Algoritmos Estruturados
Programação Funcional
Programação Lógica com Prolog
Fundamentos de linguagens de programação
Linguagem C.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Inteligência Artificial: A Linguagem Prolog (Parte 1)
Algoritmos.
Programação de Computadores - 1
Elsa Carvalho 1 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Conceitos Prolog.
Professor: André Didier Autor: Francisco Airton
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Algoritmo e Programação
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Vinicius Ponte Machado
Revisão 2º Bimestre Inteligência Artificial - IA Nome: Leonardo Brussolo de Paula.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico. Quanto mais especializados e identificáveis forem os domínios ou área do problema, maiores são as chances de se obter sucesso na aquisição, estruturação e representação do domínio nas bases de conhecimento.

Prolog Prolog é uma linguagem essencialmente declarativa, isto é, o usuário "declara" o modelo do seu problema e deixa o Prolog buscar a solução. Modularidade. Polimorfismo.

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.  Prolog não foi originalmente concebido para manipular estruturas numéricas (ex: inversão de matrizes).

Programas em Prolog são constituído de termos  Constantes: atômicas inteiras; ana, pai  Variáveis: parecidas com átomos e começam por letras maiúsculas ou pelo caracter _ ; X, Pessoa, _23.  Estruturas: Objeto composto por outros objetos; data(1,maio,1994).

Clausulas: regras e fatos pais(olga,rui). % São sempre verdadeiras, fatos filhos(X,Y):-pais(Y,X). % São verdadeiras se % alguma condições % forem satisfeitas Aridade de um predicado é o número de argumentos que ele tem. cabeçacorpo ConclusãoCondições

Matching A principal operação com termos é o matching (casamento). Dados dois termos, dizemos que ele match se:  Eles são idênticos  As variáveis em ambos os termos podem ser instanciadas para objetos de tal forma que depois da substituição das variáveis pelos objetos os termos tornam-se idênticos.

Prolog não permite o uso do que se chama de atribuição destrutiva, isto é, uma vez que uma variável lógica assume um valor, ele não pode se mudado arbitrariamente. Prolog faz uso intensivo de definições recursivas, ou seja definições que fazem parte da própria definição.

Como Prolog responde questões: Scanning e Backtracking Busca satisfazer uma lista de objetivos(goals) Lista de objetivos Executa Success/fail Instanciação de variáveis

Backtracking Quando uma chamada recursiva falha Prolog busca uma clausula alternativa, Prolog abandona a parte que falhou e faz um backtracking para o ponto onde houve a falha. Quando ocorre o backtrack todas as variáveis que foram instanciadas a partir daquele ponto são desfeitas. Isto garante que o Prolog sistematicamente examina todos os caminhos alternativos possíveis até que um eventualmente obtenha sucesso, ou até que todos exaustivamente tenham falhado.

Read e Write Write: permite que se escreva um único argumento na tela. Ex: Saudacao(pessoa):-write(‘alo’),nl. Read:Espera o usuário digitar um átomo seguidos de (.) ponto. Dialogo(N):-write(‘qual seu nome’),nl, read(N).

Aritmética e Lógica Em uma expressão aritmética, podemos ter os seguintes operadores: +: somaX^Y:exponenciação -: subtraçãooutros.... *: multiplicação /: divisão fracionária //: divisão inteira

E1>E2maior que E1<E2menor que E1>=E2maior ou igual E1=<E2menor ou igual X is E1avalia E1 e unifica com X E1=:=E2igualdade entre inteiros E1=\=E2desigualdade entre inteiros

Exercício: Escolher o domínio de um problema. Desenvolva um conjunto de fatos e regras que representem o conhecimento sobre o domínio. Escreva os fatos e regras segundo a sintaxe do Prolog.

Bibliografia BRATKO, I. - Prolog Programming for Artificial Intelligence, Addison-Wesley, (2nd Ed.) The Arity Prolog Compiler e Interpreter, version 6.1, Arity corporation, 1992.