1
Inteligência Artificial: Uma
Panorâmica
Claudio Cesar de Sá
[email protected]
UDESC/CCT/DCC
COCA – Grupo de Computação Cognitiva Aplicada
2
Inteligência Artificial
Roteiro
 Definições e evolução histórica
 Aplicações
 Abordagens e problemas principais
 Comparação com a computação convencional
 As três (03) IAs
 Nossos Projetos
 Bibliografia (Links)
Ciências do Artificial
 Ciências naturais
• objetivo: analisar e descrever a natureza (observação)
– “ mostrar que a complexidade é apenas uma máscara da simplicidade”
• ex.: Química, Física, Botânica, etc.
 Ciências do artificial
• objetivo: prescrever e sintetizar “artefatos” (transformação)
– criar artefatos que satisfaçam as necessidades humanas, de acordo
com as leis naturais
– ex. cadeira de madeira, cura da AIDS, um programa de computador, etc
• metodologia: essencialmente empírica
– compreensão por construção/simulação e avaliação do resultado
3
O que é inteligência?
Teste de Turing
Podemos ficar pensando se um dia um computador poderá fazer o
mesmo. Como poderíamos saber se um computador estará
pensando num belo dia?
Does the Turing Test still have relevance?
4
Modern Turing Test
 “On the web, no one knows you’re and….”
 Problem: ‘bots’
• Automated agents swamp services
 Challenge: Prove you’re human
• Test: Something human can do, ‘bot can’t
 Imagens:
• Distorted images: trivial for human; hard for ‘bot
 Key: Perception, not reasoning
5
Inteligência Artificial (IA)
 Objetivo: desenvolver sistemas para realizar tarefas que, no
momento
• são melhor realizadas por seres humanos que por máquinas, ou
• não possuem solução algorítmica viável pela computação
convencional
problemas que não possuem
uma solução algorítmica
IA
problemas solúveis
por seres humanos
Se o ser humano pode, por que não a máquina?
(tese de Church-Turing)
6
Definindo a IA:
Fato 1: “Joãozinho trabalha como cortador de cana durante o período da manhã,
e tem uma produtividade de 20Kg em 04 (quatro horas)´´
Fato 2: “Mariazinha trabalha como cortadora de cana durante o período da tarde,
e tem uma produtividade de 15Kg em 04 (quatro horas) ´´
Fato 3: “Joãozinho e Mariazinha começam a namorar´´
Fato 4: “Mariazinha é transferida para o turno da manhã´´
Pergunta: “Qual a produtividade em Kg de cana por período destes dois
personagens, após esta transferência de turno?´´
1.
2.
3.
4.
20+15 = 35
20+15 > 35
20+15 < 35
20+15 ~ 35 (típica da IA)
7
Onde está a IA em nossos dias ...
1. Programa que reconhece carácteres a partir do texto
varrido por um scanner
2. O programa que faz a digitação automática do texto que
voce fala
3. O aspirador de pó autônomo (literalmente um robô)
4. O aparelho de ar-condicionado que busca manter a
temperatura ambiente constante, e buscando reduzir o
custo de energia
5. O buscador na WEB que faz uma análise sintática e
semântica do texto em repositórios
6. O câmbio, a suspensão, o ar-condicionado de alguns
carros
7. O traçador de rotas (ruas) em uma cidade entre dois
pontos quaisquer
8
O que acontece então ....
O que
faremos
com isto?
teorias
9
Domínio Público
tecnologias
P&D
Uso em larga
escala
Produtos e mais
produtos
Esquecimento das origens !
“Once it works, it’s not AI anymore. It’s engineering.” (J. Moore,
Wired)
PROBLEMAS ABORDADOS PELA I.A.
Características dos problemas adequados à I.A.:
 São muito variados e têm pouco em comum entre si;
 São difíceis: complexidade (3 tipos) algoritmica (quanto ao
pgm em software), computacional (quanto ao esforço em
máquina (hardware)) e da solução (“tentativa-e-erro”: nãodeterminismo);
 Exigem armazenamento de volumes imensos de
conhecimento;
 Conhecimento:
 Difícil de caracterizar.
 Impreciso.
 Muda constantemente.
10
Mais Aplicações
 Matemática: demonstração de teoremas, resolução simbólica de
equações, geometria, etc.
 Pesquisa operacional: otimização e busca heurística em geral
 Jogos: xadrez, damas, go, etc.
 Processamento de linguagem natural: tradução automática,
verificadores ortográficos e sintáticos, interfaces para BDs, etc.
 Sistemas tutores: modelagem do aluno, escolha de estratégias
pedagógicas, etc.
 Percepção: visão, tato, audição, olfato, paladar...
 Robótica (software e hardware): manipulação, navegação,
monitoramento, etc.
11
Aplicações
 Sistemas especialistas: Atividades que exigem conhecimento
especializado e não formalizado
• Tarefas: diagnóstico, previsão, monitoramento, análise,
planejamento, projeto, etc.
• Áreas: medicina, finanças, engenharia, química, indústria,
arquitetura, arte, computação,...
 Computação:
•
•
•
•
•
•
engenharia de software (sobretudo na Web)
bancos de dados dedutivos
interfaces adaptativas
mineração de dados (data mining)
sistemas distribuídos
programação automática, etc.
12
Trajetórias de Robôs
X  Xc
2
 Y  Yc  Rrobot2
2
13
Coloração do Mapa
 color a map with three colors so that adjacent countries have
different colors
A
C
G
B
D
E
F
14
Continuação
15
 most-constrained-variable heuristic
A
C
G
B
D
E
F
8-Rainhas
1
3
3
3
5
1
2
2
4
2
2
1
2
1
16
Popular Tasks of Today
 Data mining
 Intelligent agents and internet applications
• Softbots (Ex: http://ai.bpa.arizona.edu/resume/dmitri/query.html)
• believable agents
• intelligent information access
 Scheduling applications
 Configuration applications
 Airport gate scheduling:
• Satisfy constraints on gate size, passenger transfers, traffic flow
• Uses AI techniques of constraint propagation, rule-based reasoning,
and spatial planning
18
Interação com outras ciências
Matemática
Filosofia
Lingüística
Sociologia
IA
Psicologia
Computação
Neuro-fisiologia
Genética
19
20
Máquinas inteligentes?
21
evolução em direção ao paradigma dos agentes
Pensando
“A automação de atividades que nós
associamos com o pensamento humano
(e.g., tomada de decisão, solução de
problemas, aprendizagem, etc.)” (50-60)
“O estudo das faculdades mentais
através do uso de
modelos computacionais” (60-70)
Idealmente
(racionalmente)
Humanamente
“A arte de criar máquinas que realizam
funções que requerem inteligência
quando realizadas por pessoas” (50-70)
“O ramo da Ciência da Computação
que estuda a automação de
comportamento inteligente”
Agindo
Inteligência Natural e Inteligência Artificial
1.
Comparação entre inteligência natural e artificial
Atributo e grau de dificuldade
Inteligência Natural
Inteligência Artificial
Obter um grande volume de informações
externas
Alto
Baixo
Usar sensores (olhos, ouvidos, tato, olfato)
Alto
Baixo
Ser criativo e imaginativo
Alto
Baixo
Aprender com a experiência
Alto
Baixo
Ser esquecido
Alto
Baixo
Realizar cálculos complexos
Baixo
Alto
Ser flexível
Alto
Baixo
Usar diversas fontes de informações
Alto
Baixo
Transferir informações
Baixo
Alto
Custo da obtenção de inteligência
Alto
Baixo
22
MODELO DE HIERARQUIA DE INFORMAÇÕES
BOM-SENSO
Desafio da pesquisa
CONHECIMENTO
Inteligência Artificial
INFORMAÇÕES
Sistemas tradicionais
DADOS
EXEMPLO
HIERARQUIA DE INFORMAÇÕES
BOM-SENSO
Deve ser pela mudança de clima
CONHECIMENTO
Recomendação: Aspirina e cama
INFORMAÇÕES
Está com febre
DADOS
Temperatura = 39oC
Em resumo:
A IA não é um fenômeno isolado, mas uma família de
atividades por vezes relacionadas, em que cada uma busca
capturar algum aspecto da inteligência dos seres humanos
e de seu modo de ser. Os cientistas da computação,
engenheiros eletrônicos, psicólogos, lingüistas, fisiologistas
e biólogos estão envolvidos nessa busca, que os leva a
pesquisar a linguagem natural, a robótica, os sistemas
perceptivos, os sistemas especialistas, as redes neurais e o
software inteligente.
25
DIVISÕES DA I.A.
I.A. Simbólica
Conhecimento explícito
• Ciência Cognitiva
• Ex: Estados, Lógica, Regras, Casos.
•
I.A. Conexionista
Conhecimento implícito
• Neuro-Ciências
• Ex: Redes Neuronais.
•
I.A. Evolutiva
Representação de soluções candidatas
• Ciência Biológica (em particular, Teoria da Evolução)
• Ex: Algoritmos Genéticos.
•
Paradigmas de Raciocínio (e da IA)
 Simbólico: metáfora lingüística
• ex. sistemas de produção, agentes, lógica, ...
 Conexionista: metáfora cerebral
• ex. redes neurais
 Evolucionista: metáfora da natureza
• ex. algoritmos genéticos, vida artificial,
27
Evolução da IA
28
 Surgiu na década de 50
 Agindo humanamente (anos 50-70): Teste de Turing
• Problema: “mito do cérebro eletrônico“
 Pensando humanamente (anos 50-60): simulação cognitiva (Simon
& Newell)
• Boas inspirações (GPS, Sistemas Especialistas,...) mas
fraca justificativa para os resultados obtidos
 Pensando idealmente (anos 60-70): A escola logicista
(McCarthy)
• Desenvolvimento de formalismos de representação de
conhecimento
• Problemas: escasez de recursos computacionais, limitação
dos tipos de inferências
 Agindo idealmente (anos 80-90): Agente inteligente (Newell,
Minsky, Russel & Norvig)
• Abrangente (atividades), unificador (domínios da IA),
excelente framework para projeto e análise de programas.
Issues with Classical AI
 Oversold! (Excesso de Expectativa)
 Narrow: Navigate an office but not a sidewalk
 Brittle: Sensitive to input errors
• Large complex rule bases: hard to modify,
maintain
• Manually coded
 Cumbersome: Slow think, plan, act cycle
29
Modern AI
 Situated intelligence (Inteligência “bem-posicionada”)
• Sensors, perceive/interact with environment
• “Intelligence at the interface” – speech, vision
 Machine learning
• Automatically identify regularities in data
 Incomplete knowledge; imperfect input
 Comportamento Emergente
 Probabilistic, chaos, etc.
30
PRINCIPAIS TÉCNICAS
 Estados e Busca Heurística
 Regras
 Lógica
 Casos
 Frames e Scripts
 Redes Semânticas
 ..........
 Computação Evolutiva (evolutiva)
 Redes Neurais (conexionista)
Paradigma Simbólico
ou IA Simbólica
 West é criminoso ou não?
• “A lei americana diz que é proibido vender armas a uma nação
hostil. Cuba possui alguns mísseis, e todos eles foram vendidos
pelo Capitão West, que é americano” (coisas de seres humanos ...)
 Como resolver automaticamente este problema de
classificação?
 Segundo a IA (simbólica), é preciso:
• Identificar o conhecimento do domínio (modelo do problema)
• Representá-lo utlizando uma linguagem formal de representação
• Implementar um mecanismo de inferência para utilizar esse
conhecimento
32
Conhecimento: organizando...
 Programa em IA = Agente racional
• entidade de software que age em um ambiente segundo um
princípio de racionalidade
 Precisa ter conhecimento sobre:
•
•
•
•
•
•
quais são suas propriedades relevantes do mundo
como o mundo evolui
como identificar os estados desejáveis do mundo
quais as conseqüências de suas ações no mundo
como medir o sucesso de suas ações
como avaliar seus próprios conhecimentos
33
Conhecimento: Representação e Uso
 Raciocínio:
• processo de construção de novas sentenças a partir de outras
sentenças.
 Deve-se assegurar que o raciocínio é plausível (sound)
fatos
segue-se
fatos
Mundo
Representação
sentenças
implica
sentenças
34
LÓGICA
•Provar um teorema a partir de um conjunto de premissas.
• Exemplo:
Provar o teorema herbívoro(zebra), a partir das premissas:
animal(zebra).
vegetal(grama).
come(zebra,grama).
"x"y[animal(x) E come(x,y) E vegetal(y)=> herbívoro(x)].
Símbolos X Representações X Problemas
• Todos estudantes são mortais.
• Paulo é um estudante.
"x estudantes(x)  mortais(x).
estudante(paulo).
mortal( X ) :- estudante( X ).
estudante( paulo ).
Um conhecimento, coisas de
Humanos. Fácil !
Uma representação
intermediária,
Coisas de engenheiros.
Em código Prolog. Pronto para
executar.
36
Uma ferramenta
claudio@Goedel:~/pesquisa/livro/prolog/pgms$ prolog
% /home/professores/claudio/.plrc compiled 0.00 sec, 2,152 bytes
Welcome to SWI-Prolog (Multi-threaded, Version 5.2.13)
Copyright (c) 1990-2003 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- consult('mortal.pl').
% mortal.pl compiled 0.00 sec, 696 bytes
Yes
??- estudante(X).
X = paulo ;
No
?- mortal(Y).
Y = paulo ;
No
?-
/* mais soluções ? */
/* mais soluções ? */
37
ESTADOS e BUSCA HEURÍSTICA
Problema do Carteiro Viajante
CAMP
130
180
110
ITU
SJC
90
80
SP
150
230
100
160
UBA
SANT
ITU
130
X
180
160
Solução:
ITU - SP - SJC - UBA
Custo: 320 Km
80
SP
CAMP
SANT
100
110
90
SJC
SANT
X
230
SANT
X
CAMP
150
100
230
X
UBA
Custo: 320
Qual é o melhor
percurso
ITU > UBA ?
180
SJC
UBA
X
Custo: 340
SP
X
REGRAS
SISTEMAS
BASEADOS
EM
REGRAS
Conhecimento representado em regras do tipo:
SE
<Condição 1>
<Condição 2>
ENTÃO
<Conclusão 1>
<Conclusão 2>
EX: Análise de restritivos (em inst. bancária)
SE
tipo - restritivo = Ação de Busca
E pessoa analisada = Jurídica
E quantidade de ocorrências < 2
ENTÃO
Análise Restritivo = Não Relevante
CASOS
 Simulação de Raciocínio:
SISTEMAS
BASEADOS
EM CASOS
Problemas atuais são
resolvidos através da analogia
com casos do passado, onde
problemas semelhantes foram
solucionados.
Ex. Diagnose Médica.
SISTEMAS BASEADOS EM CASOS
Principais Elementos:
BASE DE CASOS
ACESSO POR ANALOGIA
NOVO
CASO
ACESSO POR
ANALOGIA
CASOS
ANÁLOGOS
BASE DE
CASOS
Paradigma Conexionista
Redes Neurais
 Definição “Romântica”:
Técnica inspirada no funcionamento do cérebro, onde neurônios
artificiais, conectados em rede, são capazes de aprender e de
generalizar.
 Definição “Matemática”:
Técnica de aproximação de funções por regressão não-linear.
 É uma outra abordagem:
• linguagem -> redes de elementos simples
• raciocínio -> aprender diretamente a função entrada-saída
43
Redes Neurais
Utiliza um modelo do processamento paralelo
do cérebro humano.
Cada neurônio tem ligações múltiplas com
vários outros.
Cada ligação tem um peso.
É treinada para “aprender” vários exemplos
(configuração de pesos).
REDES NEURAIS
E
N
T
R
A
D
A
S
A
Í
D
A
Redes Neurais
s1
w1i
sj
wji
sn
e(i)  w ji  sj
e(i)



s(i)
s(i)  f (e(i))
wni
camada
de entrada
camada
escondida
camada
de saída
Paradigma Evolutivo
 EVOLUÇÃO
• Diversidade é gerada por cruzamento e mutações
• Os seres mais adaptados ao seus ambientes sobrevivem (seleção
natural)
• As características genéticas de tais seres são herdadas pelas
próximas gerações
47
Paradigma Evolutivo
 Definição:
• Método probabilista de busca para resolução de problemas
(otimização) “inspirado” na teoria da evolução
 Idéia:
• indivíduo = solução
• faz evoluir um conjunto de indivíduos mais adaptados por
cruzamento através de sucessivas gerações
• fitness function f(i): R ->[0,1]
48
COMPUTAÇÃO EVOLUTIVA
PID
Ajuste do PID:
Kp,Ti e Td
Processo
0,00 > K,Ti,Td < 200,00
3
Espaço: (20.000) = 8 x 10
Kp
PID (Indivíduo):
Ti
Td
População Inicial (100 indiv.):
Crossover:
Kp
Ti
Td
Kp
Ti
Kp
Ti
Td
Kp
Ti
Mutação:
Kp
Ti
Td
Kp
Ti
Td
Kp
Ti
Td
Kp
Ti
Td
12
Kp
Ti
Td
Kp
Ti
Td
...
Td
Kp
Ti
Td
Td
Kp
Ti
Td
Seleção Adaptativa:
os melhores individuos
sobrevivem
COMPUTAÇÃO EVOLUTIVA
Start
Population
Scoring of each individual
by means of a Fitness function
Selection of the
best ones
Selected
sub-population
Is there a
satisfactory
candidate
solution?
No
Aplication of Genetic Operators
(Reproduction, Crossover, Mutation...)
Y es
End
Após os 03 paradigmas ....
Algumas direções as pesquisas indicam onde está o
ganho:
1. IA Distribuída: sociedade de agentes e solução
distribuída do problema
2. Arquiteturas Híbridas: combinações de técnicas
3. Robótica
4. “Nanotecnologia”: computadores vestíveis, sistemas
embarcados,
5. Arquiteturas ....
6. Inspirações Biológicas
51
Sistemas Simbólicos: arquitetura
52
Sistemas sub-simbólicos: arquiteturas
53
Tensões Centrais da IA
54
conhecimento em intenção (regras)
Sistemas de PLN
Sistemas
Nebulosos
(fuzzy)
Robôs
numérico
Algoritmos
genéticos
Sistemas baseados em
Redes Neurais
Sistemas
Especialistas
Redes
Bayesianas
Sistemas
baseado
em casos
simbólico
Sistemas de
Aprendizagem
simbólica indutiva
conhecimento em extensão (exemplos)
Problemas genéricos da IA
 Representação de conhecimento (RC)
 Aquisição de conhecimento e Aprendizagem (ACA)
 Busca heurística e resolução de problemas (BH)
 Planejamento (PL)
 Tratamento de incerteza (TI)
 Reconhecimento de padrões (RP)
 Ambientes/linguagens de desenvolvimento
 Avaliação de sistemas
55
Computação convencional x IA:
classes de problemas
 Solução matemática (NÃO), conhecimento (SIM)
=> IA simbólica
 Modelo do problema (NÃO), exemplos de solução (SIM)
• => IA (aprendizagem)
 Autonomia, adaptabilidade, interoperabilidade, ...
• => IA simbólica
 Repositório de conhecimento especialista (expertise)
• => IA simbólica
56
Computação Convencional x IA:
metas
 Tarefas para as quais os seres humanos são
• ineficientes x eficientes
 Completeza da entrada
 Fornecimento de explicações inteligíveis
 Adaptabilidade para novas instâncias do problema
 Privilégio das soluções heurísticas
57
Computação convencional x IA:
métodos
 Algoritmo passo a passo x
Mecanismo geral de inferência + conhecimento
... ou então aprendizado
 Dados e controle embutidos em código procedimental x
Separação entre conhecimento declarativo e controle
 SPIV (specify prove implement verify) x RUDE (run understand
debug edit)
 Linguagens de programação: imperativas x “alto-nível” (funcional,
lógica, orientada a objeto, baseada em restrições)
 IA: Usa metáforas de sistemas naturais (neurônio, evolução,
memória, sociedade, língua,...)
58
59
State of the Art
 Deep Blue beats Kasparov
 NASA’s Remote Agent program controls a
spacecraft autonomously
 High accuracy continuous speech recognition with
fairly large vocabularies (2000 words, 2% error)
 Usable natural language interface to air travel
system
 No Hands Across America: Automated vehicle
drives cross-country on freeways
State of the Art
 Medical diagnosis in specialized fields is sometimes assisted
by AI programs
 AI logistics programs were critically important in the Gulf
War.
 PROVERB can solve crossword puzzles faster than most
humans.
60
Visões da IA (para pensar)
 Weak vs. strong
 Scruffy vs. neat
 Engineering vs. cognitive
61
IA no Brasil
 Fracamente representada nas graduações em computação
• no máximo, 1 disciplina obrigatória
• Sem pré-requisitos. Estudantes chegam sem a fundamentação
necessária.
• No melhor dos casos, depois do sexto período
• Ementa restrita e desatualizada
 Economicamente ainda incipiente
• por falta de demanda ou de profissionais bem formados?
 Visão “destorcida e incompleta” do que é IA
 No exterior é o contrário
• MIT, Stanford, Carnegie Mellon, Berkeley, Imperial College,
Cambridge
• Mercado fatura alto
62
Grupo de Computação Cognitiva Aplicada - COCA
 http://www.joinville.udesc.br/dcc/coca/
 Projetos já finalizados:
1. Sistema de controle fuzzy para aquários. Escrito em Assembly
de um microcontrolador. Méritos: abordagem multidisciplinar, com
IA, aquarismo e controle fuzzy. Desenvolvimento de uma placa
coletora de dados. Finalmente um patente no INPI foi requerida;
2. Sistema Neuro-Fuzzy Modificado por Kohonen. Um sistema
híbrido destinado a identificação de sistemas. Mérito: muita
implementação computacional, e vários artigos publicados.
63
Grupo de Computação Cognitiva Aplicada - COCA
 Projetos em andamento:
1. Sistema de Controle Fuzzy de Chocadeiras em granjas industriais;
2. Um livro sobre IA Simbólica com enfoque há uma abordagem
metodológica de problemas;
3. Um livro sobre a Linguagem Haskell. Uma Linguagem de
Programação para Engenheiros, curiosos em programação, etc.
Ver protótipo em:
http://geocities.yahoo.com.br/lpg3udesc/
4. Solução de um problema da CSN (ou Belgo Mineira) com uma
abordagem de Alg. Genéticos;
64
Links interessantes (em português)
 http://www.ec.ucdb.br/~marco/courses02b/ai1/calendar.html
 http://www.das.ufsc.br/gia/iaft/ (Inteligência ArtificialFerramentas e Teorias, Guilherme Bittencourt )
65
Outros
 http://www-2.cs.cmu.edu/~tom/mlbook.html (aprendizagem
de máquinas, quase todo livro disponível, escrito em LaTeX)
 http://www.gy.com/Science/Math/Recreations/ (link sobre
jogos ... Uma motivação sobre o que pensar do que é
inteligência)
 http://www.particle.kth.se/~lindsey/nnwLinks.html (completo
sobre Redes Neurais)
 http://www.cs.berkeley.edu/~russell/ai.html (um dos
melhores, é o ponto de partida para tudo que há de
importante na WEB)
66
Download

IA Simbólica x IA Conexionista - WWW2