LAGES (SC)
2010
LISTA DE ILUSTRAÇÕES
AG - Algoritmo Genético
IA - Inteligência Artificial
IAC - Inteligência Artificial Conexionista
IAE - Inteligência Artificial Evolucionária
IAS - Inteligência Artificial Simbólica
SE - Sistema Especialista
SEP - Sistema Especialista Probabilístico
SUMÁRIO
1 INTRODUÇÃO ..........................................................................................................6
1.1 Tipos de Problemas ...................................................................................................6
1.2 O que é Inteligência Artificial? .................................................................................6
1.3 Histórico da Inteligência Artificial ............................................................................8
1.4 Domínios de Aplicação .............................................................................................8
1.5 Paradigmas.................................................................................................................9
2 RESOLUÇÃO DE PROBLEMAS POR MÉTODOS DE BUSCA ......................10
2.1 Introdução ................................................................................................................10
2.2 Formulação do Problema .........................................................................................11
2.3 Busca da Solução .....................................................................................................11
2.4 Estratégias de Busca Cega .......................................................................................13
2.4.1 Busca em Largura ........................................................................................................... 13
2.4.2 Busca em Profundidade ................................................................................................... 14
2.4.3 Busca com Profundidade Limitada ................................................................................. 14
2.4.4 Busca em Profundidade Iterativa .................................................................................... 15
2.4.5 Busca de Custo Uniforme ................................................................................................ 15
2.5 Estratégias de Busca Heurística...............................................................................17
2.5.1 Algoritmo A* ................................................................................................................... 17
2.6 Controle de Estados Repetidos ................................................................................18
2.7 Estruturas de Dados para Árvores de Busca ...........................................................19
3 ALGORITMOS GENÉTICOS ...............................................................................21
3.1 Conceitos Básicos ....................................................................................................21
4 SISTEMAS ESPECIALISTAS SIMBÓLICOS ....................................................25
4.1 Conceito e Aplicações .............................................................................................25
4.2 Estrutura de um Sistema Especialista ......................................................................26
4.3 Engenharia do Conhecimento..................................................................................28
4.4 Aquisição e Representação do conhecimento .........................................................29
4.4.1 Regras de Produção ........................................................................................................ 30
4.5 Estratégias de Inferência em Sistemas com Regras de Produção ...........................32
4.5.1 Encadeamento Progressivo (Forward Chaining) ........................................................... 32
4.5.2 Encadeamento Regressivo (Backward Chaining) ........................................................... 33
4.6 Representação de Conhecimento Incerto ................................................................34
4.6.1 Sistemas Especialistas Probabilísticos (SEP) ................................................................. 34
4.6.2 Sistemas Especialistas Nebulosos ou Difusos ................................................................. 43
5
1 INTRODUÇÃO
Apesar das várias décadas de pesquisa na área, ainda não foi possível, e
dificilmente será, criar uma definição única para o termo Inteligência Artificial,
que seja aceita por toda a comunidade científica. Vários conceitos foram
definidos por diferentes autores, sendo alguns apresentados a seguir.
“Inteligência Artificial é o estudo de conceitos que permitem que os
7
• Reconhecimento de Padrões
• Ensino
• Planejamento
• Entretenimento
1.5 Paradigmas
Este capítulo apresenta como um problema pode ser resolvido por meio
de algoritmos de busca em grafos. Inicialmente ele trata da formulação de um
problema, ou seja de sua representação computacional e, em seguida, descreve os
principais algoritmos que podem ser usados para realização das buscas.
2.1 Introdução
• Quebra Cabeça;
• Encontrar a Melhor Rota.
• Grade de Horários.
1
Opcional
12
1) Quatro.
2) Oito.
3) Doze.
distância entre o estado inicial e o nó atual). Para decidir qual o próximo nó a ser
expandido, o algoritmo busca aquele com menor custo associado.
Nem sempre a primeira solução encontrada é a melhor. Portanto, para
garantir que este algoritmo seja ótimo, faz-se necessário continuar a busca após
encontrar a primeira solução, enquanto houver nós com custos menores que o da
solução encontrada para expandir.
2.5.1 Algoritmo A*
lento.
procedure TAlgBusca.InicieRotas;
begin
self.Rotas[1,1]:='Porto Alegre'; self.Rotas[1,2] := 'São Paulo';
self.Rotas[2,1]:='Porto Alegre';self.Rotas[2,2]:='Florianópolis';
self.Rotas[3,1]:= 'Florianópolis'; self.Rotas[3,2] := 'Curitiba';
self.Rotas[4,1]:= 'Curitiba'; self.Rotas[4,2] := 'São Paulo';
self.Rotas[5,1]:= 'Curitiba'; self.Rotas[5,2] := 'Rio de Janeiro';
self.Rotas[6,1]:= 'São Paulo'; self.Rotas[6,2] := 'Belo Horizonte';
self.Rotas[7,1]:= 'São Paulo'; self.Rotas[7,2] := 'Salvador';
self.Rotas[8,1]:='Rio de Janeiro';self.Rotas[8,2] := 'Belo Horizonte';
self.Rotas[9,1]:= 'Rio de Janeiro'; self.Rotas[9,2] := 'Cuiabá';
self.Rotas[10,1]:= 'Belo Horizonte'; self.Rotas[10,2] := 'Cuiabá';
self.Rotas[11,1]:= 'Belo Horizonte'; self.Rotas[11,2] := 'Fortaleza';
20
3 ALGORITMOS GENÉTICOS
colocado é atribuído um valor X, e aos demais são atribuídos valores que vão
diminuindo em um valor fixo de cromossomo para cromossomo.
Exercício: Montar o horário para três turmas de um curso noturno.
Cada turma possui três disciplinas de 4 créditos, sendo as 4 aulas ministradas em
um único dia de 2ª a 4ª.
conseqüências;
9) Tutorial: auxiliar no processo de aprendizagem, identificando as
características do aprendiz e guiando-o através das diversas lições;
Um ser humano para tomar alguma decisão utiliza os fatos que observa
em uma situação, que são armazenados em sua memória de curto termo. Estes
fatos são relacionados com o conhecimento sobre o domínio do problema que
está armazenado em sua memória de longo termo, por meio de seu raciocínio
como mostra a figura 4.
Raciocínio
Sistema Especialista
Base de Memória de
Conhecimento Trabalho
Mecanismo de
Inferência
Interface com
o Usuário
Usuário
Sistema Especialista
Mecanismo de Mecanismo de
Explanação Inferência
Interface com
Usuário
Usuário
conhecimento;
2) Aquisição do conhecimento: é a etapa mais complexa e demorada,
nela deve-se, através de leituras, entrevistas com o especialista e
observações de casos, adquirir o conhecimento necessário para a
resolução do problema;
3) Projeto: Inicia com a escolha da forma que o conhecimento será
representado na base, a estratégia de inferência utilizada e de uma
ferramenta para a implementação do SE;
4) Implementação: Codificação do sistema usando uma linguagem de
programação genérica ou alguma ferramenta específica para
desenvolvimento de sistemas especialistas;
5) Teste: Aqui é validada a estrutura e o conhecimento do sistema.
Esta etapa é executada juntamente com as etapas 2, 3 e 4, unindo o
especialista, o engenheiro do conhecimento e o usuário final;
6) Documentação e Manutenção: Estas etapas são semelhantes às
realizadas no desenvolvimento de outros tipos de software.
2.Melhor 3. Melhor
Tipo Cor
Entrada de Informações
na Memória de Trabalho
Verifica a Primeira
Regra
Verifica a
Próxima Regra
Parar
Definição
dos Objetivos
Criação de
uma Hipótese
Busca Nova
Hipótese
V
V F
Premissa da
regra é a nova Parar
hipótese (não encontrou resposta)
FIGURA 9 - Encadeamento para trás
Uma das grandes virtudes do ser humano reside no fato dele ser capaz
de tomar decisões com base em informações incertas. A incerteza pode surgir
devido à aleatoriedade de eventos, à imprecisão de conceitos, à existência de
informações contraditórias ou à falta de alguma informação. Algumas
abordagens surgiram para criar modelos capazes de representar este tipo de
conhecimento, tornando o sistema mais robusto e mais parecido com um
especialista humano. Dentre elas destacam-se as redes bayesianas, a lógica
nebulosa e a lógica paraconsistente.
CHUVA_TARDE
V F
20,00% 80,00%
P(CHUVA_TARDE = V) = 0.2
P(CHUVA_TARDE = F) = 0.8
Chuva_tarde Chuva_manhã
V F
V 70,00% 30,00%
F 20,00% 80,00%
Chuva_tarde Estação
Verao Inverno
V 65,00% 35,00%
F 40,00% 60,00%
Conjuntos Clássicos
f(x) = 1 se x Є A
f(x) = 0 se x Є/ (não pertence) A
A função pode ser facilmente criada com base nas equações das retas
presentes no gráfico.
1 se x > 180cm
µAlto(x) = (x – 170)/10 se 170cm ≤ x ≤ 180cm
0 se x < 170cm
Da mesma forma que foi criado o conjunto nebuloso Alto podem ser
criados os conjuntos Baixo e Médio, conforme a figura 14 e as fórmulas a seguir.
47
0 se x > 180cm
µMédio(x) = (x - 160)/10 se 160cm ≤ x ≤ 170cm
(180 - x)/10 se 170cm < x ≤ 180cm
0 se x > 180cm
Dendritos
Núcleo
Axônio
FIGURA 16 - Neurônio biológico
x1 w1
x2 w2 Σ φ Y
x3 w3
Θ
FIGURA 17 - Modelo de McCulloch e Pitts
Logística
y = 1 / 1 + e - kx
Tangente Hiperbólica
kx
y- e -kx =) / ( e (kx + e e-kx )
x1 w14
n1
w24 n4 w46 n6 y1
x2
n2 w15 w56
w25
n5 w57 n7 y2
x3 n3 w35
REFERÊNCIAS BIBLIOGRÁFICAS