Introdução Introdução Inteligência Computacional Prof. João Alberto Fabro
Estrutura da ApresentaçãoEstrutura da ApresentaçãoInício
Inteligência
Artificial...
O que se estuda!
Como foi estudado...
(Sistemas Especialistas)
Estrutura da ApresentaçãoEstrutura da Apresentação
Inteligência Computacional
Algoritmos Genéticos
Redes Neurais
Lógica Fuzzy
Inteligência Artificial x Computacional Inteligência Artificial x Computacional
• Inteligência...
• Inteligência Artificial– -Símbolos, Lógica Clássica, Conhecimento
• (Sistemas Especialistas)
– - O que se faz em IA!(Problemas da IA)– -Histórico (como chegamos até aqui...)
• Inteligência Computacional– Redes Neurais
– Algoritmos Genéticos
– Sistemas Nebulosos (Fuzzy)
Conceitos BásicosConceitos Básicos
A INTELIGÊNCIA É SÓ HUMANA?A INTELIGÊNCIA É SÓ HUMANA?
Em um primeiro momento, a inteligência era geralmente associada a Em um primeiro momento, a inteligência era geralmente associada a uma característica unicamente humana, de representação de uma característica unicamente humana, de representação de conhecimentos e resolução de problemas, refletindo um ponto de conhecimentos e resolução de problemas, refletindo um ponto de vista altamente antropocêntrica. Mas, ainda assim, nós, humanos, vista altamente antropocêntrica. Mas, ainda assim, nós, humanos, não compreendemos a nós mesmos, como funciona nossa não compreendemos a nós mesmos, como funciona nossa “inteligência” e nem mesmo a origem de nossos pensamentos. “inteligência” e nem mesmo a origem de nossos pensamentos.
Hoje em dia, para muitos pesquisadores, a idéia de inteligência Hoje em dia, para muitos pesquisadores, a idéia de inteligência passou a ser associada com a idéia de sobrevivência. passou a ser associada com a idéia de sobrevivência.
FogelFogel: “Inteligência pode ser definida como a capacidade de um : “Inteligência pode ser definida como a capacidade de um sistema de adaptar seu comportamento para atingir seus objetivos sistema de adaptar seu comportamento para atingir seus objetivos em uma variedade de ambientes”.em uma variedade de ambientes”.
Inteligência - Conceitos BásicosInteligência - Conceitos Básicos
““I propose to consider the question, ‘Can machines think?’ I propose to consider the question, ‘Can machines think?’ This should begin with definitions of the meaning of the terms This should begin with definitions of the meaning of the terms ‘machine’ and ‘think’.”‘machine’ and ‘think’.” A. TuringA. Turing, Computing Machinery , Computing Machinery
and Intelligence, 1950and Intelligence, 1950
““Se queres discutir comigo, define primeiro teus termos.” Se queres discutir comigo, define primeiro teus termos.” DescartesDescartes
O QUE É INTELIGÊNCIA?O QUE É INTELIGÊNCIA?
HelmHelm: “A atividade inteligente consiste na compreensão do : “A atividade inteligente consiste na compreensão do essencial de uma situação e numa resposta reflexa essencial de uma situação e numa resposta reflexa
apropriada”.apropriada”.
PiagetPiaget: “Adaptação ao ambiente físico e social”.: “Adaptação ao ambiente físico e social”.
Inteligência Artificial Inteligência Artificial
Área de Pesquisa Multidisciplinar:
Biologia
Computação
Engenharia
- Estuda maneiras de simular/obter comportamento inteligente!
- Fazer as máquinas realizarem tarefas que requerem inteligência!
PROBLEMAS DE PESQUISA EM IAPROBLEMAS DE PESQUISA EM IA
• Resolução de problemas (planejamento)Resolução de problemas (planejamento)
• Quebra-cabeças, Jogos,Quebra-cabeças, Jogos,
• Problemas que requerem conhecimento especialistaProblemas que requerem conhecimento especialista
• Raciocínio por senso-comumRaciocínio por senso-comum
• Percepção (visão e fala)Percepção (visão e fala)
- reconhecimento de imagens, de voz reconhecimento de imagens, de voz
• Processamento de linguagem naturalProcessamento de linguagem natural
• Extração de conhecimento(Knowledge Data Discovery,Aprendizado)Extração de conhecimento(Knowledge Data Discovery,Aprendizado)
• Desenvolver sistemas que auxiliem no aprendizado de alunosDesenvolver sistemas que auxiliem no aprendizado de alunos
• Paralelização de linguagens de IAParalelização de linguagens de IA
• Distribuição da resolução de problemasDistribuição da resolução de problemas
• Sistemas Multi-AgentesSistemas Multi-Agentes
Áreas de Pesquisa em IAÁreas de Pesquisa em IA
> Intelligent Information Systems> Intelligent Software Engineering> Intelligent Agents> Intelligent Networks> Intelligent Databases> Brain Models(Neural Networks)> Evolutionary Algorithms> Data mining> Machine Learning> Reasoning Strategies> Automated Problem Solving> Distributed AI Algorithms and Techniques> Distributed AI Systems and Architectures> Expert Systems> Fuzzy Logic> Genetic Algorithms> Heuristic Searching> Knowledge Acquisition> Knowledge Discovery
> Knowledge Representation> Knowledge-Intensive Problem Solving Techniques> Languages and Programming Techniques for AI> Software Tools for AI> Integration of AI with other Technologies> Evaluation of AI Tools> Social Impact of AI> Applications - Computer Vision> Applications - Signal Processing> Applications - Military> Applications - Surveillance> Applications - Robotics> Applications - Medicine> Applications - Pattern Recognition> Applications - Face Recognition> Applications - Finger Print Recognition> Applications - Finance and Marketing> Applications - Stock Market> Emerging Applications
HistóricoHistórico
••Formalmente a área foi criada em 1956 quando o nome foi cunhado Formalmente a área foi criada em 1956 quando o nome foi cunhado (Darthmouth College).(Darthmouth College).• • Entretanto, por 2000 anos filósofos estudaram como o ver, apreender, Entretanto, por 2000 anos filósofos estudaram como o ver, apreender, recordar e raciocinar pode ser realizado?recordar e raciocinar pode ser realizado?• • O desejo de criar artefatos capazes de reproduzir um comportamento O desejo de criar artefatos capazes de reproduzir um comportamento inteligente encontra suas origens em tempos remotos:inteligente encontra suas origens em tempos remotos:
- Autômatos (relógios, jogador de xadrez, Frankenstein)- Autômatos (relógios, jogador de xadrez, Frankenstein)- Analytical Engine, Babbage, 1842 - “Ela seria capaz de - Analytical Engine, Babbage, 1842 - “Ela seria capaz de compor peças musicais de qualquer grau de complexidade e compor peças musicais de qualquer grau de complexidade e extensextensãão” (comentário de Lady Lovelace)o” (comentário de Lady Lovelace)
Precursores da IAPrecursores da IA
• George Boole, inventou a álgebra booleana, Suas idéias se incorporam George Boole, inventou a álgebra booleana, Suas idéias se incorporam como base da matemática e da filosofia.como base da matemática e da filosofia.
• Alan Turing, propôs um teste para decidir se um computador exibe Alan Turing, propôs um teste para decidir se um computador exibe inteligência.inteligência.
HistóricoHistórico
• • Época Pré-históricaÉpoca Pré-histórica (até 1875, Camillo Golgi visualizou o neurônio) (até 1875, Camillo Golgi visualizou o neurônio)
•ObjetivoObjetivo: criar mecanismos apresentando comportamento inteligente.: criar mecanismos apresentando comportamento inteligente.
•MetodologiaMetodologia: Mecanismos usando mecânica de precisão.: Mecanismos usando mecânica de precisão.
•LimitaçõesLimitações: Complexidade, dificuldades de construção.: Complexidade, dificuldades de construção.
•Época AntigaÉpoca Antiga (1875-1943) (McCulloch & Pitts) (1875-1943) (McCulloch & Pitts)
• ObjetivoObjetivo: Entender a Inteligência Humana.: Entender a Inteligência Humana.
• MetodologiaMetodologia: Estudos de psicologia e neurofisiologia.: Estudos de psicologia e neurofisiologia.
•LimitaLimitaçõçõeses: Grandes distâncias entre a psicologia e a neurofisiologia.: Grandes distâncias entre a psicologia e a neurofisiologia.
•Época Pré-Clássica Época Pré-Clássica (1943-1956)(1943-1956)
•ObjetivoObjetivo: Simular a : Simular a inteligência inteligência humana - situações pré-determinadas.humana - situações pré-determinadas.
•MetodologiaMetodologia: Inspiração na Natureza, Nascimento da Cibernética: Inspiração na Natureza, Nascimento da Cibernética
•LimitaLimitaççõesões: Limitação das capacidade computacionais.: Limitação das capacidade computacionais.
HistóricoHistórico
•Época Clássica Época Clássica (1956-1970)(1956-1970)
•ObjetivoObjetivo: Simular a inteligência Humana e expandir ao máximo as aplicações : Simular a inteligência Humana e expandir ao máximo as aplicações da IA.da IA.
•MetodologiaMetodologia: Solucionadores gerais de problemas e lógica.: Solucionadores gerais de problemas e lógica.
•LimitaçõesLimitações: Subestima: Subestimaçãção da complexidade computacional dos problemas.o da complexidade computacional dos problemas.
•Época RomânticaÉpoca Romântica (1970-1980) (1970-1980)
•ObjetivoObjetivo: Simular a inteligência humana em situações pré-determinadas.: Simular a inteligência humana em situações pré-determinadas.
•MetodologiaMetodologia: formalismos de representação de conhecimento : formalismos de representação de conhecimento adaptados ao tipo de problema, mecanismos de ligação procedural adaptados ao tipo de problema, mecanismos de ligação procedural
visando maior eficiência computacional.visando maior eficiência computacional.
•LimitaLimitaççõesões: Subestimação da quantidade de conhecimento necessária para : Subestimação da quantidade de conhecimento necessária para tratar mesmo o mais banal problema de senso comum.tratar mesmo o mais banal problema de senso comum.
HistóricoHistórico
• Época ModernaÉpoca Moderna (1980-1990) (1980-1990)
•ObjetivoObjetivo: Simular o comportamento de um especialista humano ao : Simular o comportamento de um especialista humano ao resolver problemas em um domínio específico.resolver problemas em um domínio específico.
•MetodologiaMetodologia: Sistemas de regras, representação da incerteza, : Sistemas de regras, representação da incerteza, popularização do Prolog.popularização do Prolog.
•LimitaLimitaççõesões: Subestimação da complexidade do problema de aquisição : Subestimação da complexidade do problema de aquisição do conhecimento.do conhecimento.
•• Época AtualÉpoca Atual(Pós-Moderna? Contemporânea?) (1990-????)(Pós-Moderna? Contemporânea?) (1990-????)
••ObjetivoObjetivo: Resolver problemas cada vez mais difíceis!: Resolver problemas cada vez mais difíceis!
•MetodologiaMetodologia: Qualquer que funcione!(: Qualquer que funcione!(Inteligência ComputacionalInteligência Computacional, , proveniente do simples fato que máquinas de inspiração proveniente do simples fato que máquinas de inspiração
biológica resolvem problemas difíceis!)biológica resolvem problemas difíceis!)
•LimitaLimitaççõesões: Complexidade dos problemas tratados.: Complexidade dos problemas tratados.
Inteligência ComputacionalInteligência Computacional
– O que é “Inteligência Computacional”?– Áreas de Aplicação– Lógica Nebulosa (Fuzzy)– Redes Neurais– Algoritmos Genéticos– Conclusões
O que é Inteligência Computacional?O que é Inteligência Computacional?
“Técnicas e sistemas computacionais que
imitam aspectos humanos, tais como:
percepção, raciocínio, aprendizado,
evolução e adaptação”.
Inspiração na NaturezaInspiração na Natureza
Sistemas Especialistas - inferência humana
Lógica Fuzzy - processamento lingüístico
Redes Neurais - neurônios biológicos
Algoritmos Genéticos - evolução biológica
Sistemas Híbridos - aspectos combinados
Novos Sistemas ComputacionaisNovos Sistemas Computacionais
Suporte à DecisãoClassificação de DadosReconhecimento de PadrõesPrevisãoOtimizaçãoControleModelagemPlanejamentoDescoberta de Conhecimento
Automação Inteligente IAutomação Inteligente I
Planejamento da ProduçãoMonitoração do ControleDetecção e Diagnóstico de FalhasManutenção PreventivaSimulação e Modelagem de ProcessosRobóticaReconhecimento de Imagens, VozInferência/Predição de Propriedades
Automação Inteligente IIAutomação Inteligente IIPlanejamento da Produção: Algoritmo Genético busca a ordem das tarefas que otimiza a produção (tempo, recursos, custos, etc) e satisfaz as restrições
Detecção e Diagnóstico de Falhas: Redes Neurais são treinadas com dados históricos para prever antecipadamente falhas em equipamentos; Sistema Especialista ou Lógica Nebulosa dá o diagnóstico e indica procedimentos.
Manutenção Preditiva: Redes Neurais são treinadas com a leitura dos sensores para apontar a perspectiva de falhas em programas de manutenção preventiva.
Robótica: Navegação de Robôs móveis por Redes Neurais, com planejamento de trajetórias por Algoritmos Genéticos.
Automação Inteligente IIIAutomação Inteligente III
Simulação e Modelagem de Processos: Rede Neural é treinada para representar a dependência entre o estado e uma medida de qualidade de um processo. Após treinada, a RN atua como um modelo do processo industrial.
Reconhecimento de Imagens, Voz: Redes Neurais treinadas com padrões de imagens/voz são usadas para fins de segurança, seleção e identificação.
Inferência/Predição de Propriedades: Redes Neurais são treinadas para modelar a relação entre as variáveis de entrada de um processo e as propriedades físicas de um produto, permitindo que o operador possa influenciar no processo sem ter que esperar pela análise laboratorial de amostras.
Áreas de Aplicação em NegóciosÁreas de Aplicação em Negócios
Avaliação de FinanciamentoPrevisão de Demanda de ProdutosAvaliação de RiscoPerfil do ConsumidorGerência de CarteiraPrevisão de Ativos Financeiros Detecção de Fraude (Cartões de Crédito, Sistemas de Telefonia)Planejamento da Produção e Distribuição
Sistemas EspecialistasSistemas Especialistas
Conceitos Básicos:
São programas que armazenam e manipulam o
conhecimento adquirido de um especialista.
=
-> Requer entrevistas e observações para extrair o
conhecimento.
-> Conhecimento é representado em formato
manipulável pelo computador.
Representação do ConhecimentoRepresentação do Conhecimento
Regras de produção:
Regra 1:
IF <condição_1> AND <condição_2>...
THEN <ação_A> AND <ação_B> ....
Exemplos:
IF carro = BMW AND cidade = São Paulo
THEN seguro = 10% valor carro
IF carro = Fiat AND cidade = Curitiba
THEN seguro = 5% valor carro
Organização de Sistemas EspecialistasOrganização de Sistemas Especialistas
Aquisição de
Conhecimento
Máquina de
Inferência
Base de Conhecimento
IF Carro = BMW AND cidade = SP
THEN seguro = 10%
IF Carro = Fiat AND cidade = CWB
THEN seguro = 5%
Memória de
Trabalho
carro = Fiat
cidade = Curitiba
Sistema de
Explicações
AvaliaçãoAvaliação
Adequada para aplicações onde:
o conhecimento (o especialista) é acessível,
as regras são conhecidas
e fáceis de serem formuladas por este especialista,
e quando explicações são necessárias.
AvaliaçãoAvaliação
Vantagens utiliza representação explícita do conhecimentoprogramas fáceis de ler e de compreendercapazes de gerar justificativas (explicações)
Desvantagens ausência de mecanismo automático de aprendizado processo longo e caro de extração do conhecimento exigência de declarações precisas dos especialistas
Lógica NebulosaLógica Nebulosa
Técnica inteligente que tem como
objetivo modelar o modo aproximado
de raciocínio, imitando a habilidade
humana de tomar decisões em um
ambiente de incerteza e imprecisão
Lógica NebulosaLógica Nebulosa
Permite que os sistemas inteligentes de
controle e suporte à decisão lidem com informações
imprecisas (nebulosas - fuzzy)
Exemplos:
• investimento de alto risco
• pressão média
• fluxo muito intenso
• temperatura alta
• muito jovem
Conjunto NebulosoConjunto Nebuloso
Indica uma definição (imprecisa) de um termo lingüístico (também impreciso) utilizado comumente pelas pessoas:
Ex: A cantina externa é perto daqui!
A cantina interna é meio longe(meio perto): (0.5/perto=±100m)
Conjuntos Nebulosos e PertinênciaConjuntos Nebulosos e Pertinência
Você é Alto, Baixo ou de estatura mediana?
Resposta CRISP(Não Fuzzy, rígida):
- Até 1,65 é baixo! De 1,85 acima é alto! Entre os dois, mediano!
Resposta Fuzzy(nebulosa, não rígida):
-1,60 é 0,25/baixo+0,75/mediano, i.e., é mais mediano do que baixo!
Lógica Fuzzy - ControleLógica Fuzzy - Controlese (x1(distância até a esquina) é grande) e (x3(ângulo com a parede) é nulo)
e (x2 e x4 (distâncias laterais) não são pequenas)
então (y(atuação no volante do carro) é nulo->vá em frente).
Lógica Nebulosa - AvaliaçãoLógica Nebulosa - Avaliação
Técnica utilizada em aplicações:
• onde o conhecimento envolve
conceitos subjetivos e intrinsicamente
imprecisos;
• e onde deseja-se obter explicações
sobre o resultado do problema.
Lógica Nebulosa - AvaliaçãoLógica Nebulosa - Avaliação
Vantagens
facilidade de lidar com dados imprecisos. facilita a descrição das regras pelos especialistas. menor número de regras. explicação do raciocínio.
Desvantagens
especificação das funções de pertinência. necessidade de um especialista e/ou dados históricos.
Redes NeuraisRedes Neurais
Modelo Computacional inspirado nos
neurônios biológicos e na estrutura do
cérebro, com capacidade de adquirir,
armazenar e utilizar conhecimento
experimental.
Relação com a NaturezaRelação com a Natureza
CérebroNeurônio BiológicoRede de Neurônios10 bilhões neurôniosAprendizadoGeneralizaçãoAssociaçãoReconhecimento de Padrões
Redes Neurais ArtificiaisNeurônio ArtificialEstrutura em Camadascentenas/milharesAprendizadoGeneralizaçãoAssociaçãoReconhecimento de Padrões
AvaliaçãoAvaliação
Indicada para o reconhecimento de
padrões em aplicações com dados
ruidosos ou incompletos, e quando
regras claras não podem ser
facilmente formuladas.
AvaliaçãoAvaliação
Vantagens modelagem de sistemas não lineares aprendizado automático tolerante a dados ruidosos e incompletos resposta rápida e precisa modelos compactos
Desvantagensausência de explicaçõessensível a quantidade de dados disponível
Algoritmos GenéticosAlgoritmos GenéticosAlgoritmo de busca/otimização inspirado na seleção natural e reprodução genética.
Combina sobrevivência do mais apto e cruzamento aleatório de informação
Qual a finalidade de Algoritmos Genéticos?
Algoritmos Genéticos empregam um processo adaptativo e paralelo de busca de soluções em problemas complexos.
Analogia com a NaturezaAnalogia com a Natureza
Evolução Natural Indivíduo Cromossoma Reprodução Sexual Mutação População Gerações Meio Ambiente
Algoritmo Genético Solução Representação Operador Cruzamento Operador Mutação Conjunto de Soluções Ciclos Problema
Qual a finalidade de Algoritmos Genéticos?Qual a finalidade de Algoritmos Genéticos?
Adaptativo
– informação corrente influencia a busca futuraParalelo
– várias soluções consideradas a cada momentoProblema Complexo
– de difícil formulação matemática ou com grande
espaço de busca (grande número de soluções)
Operações BásicasOperações Básicas
Seleção: privilegia os indivíduos mais aptos
Reprodução: indivíduos (palavras binárias) são reproduzidas com base na aptidão
Crossover: troca de genes (pedaços de palavras)
Mutação: troca aleatória de um gene (bit da palavra)
AvaliaçãoAvaliação
Aplicado em problemas complexos de
otimização – de difícil modelagem
matemática, com variedade de regras e
condições, ou com grande número de
soluções a considerar.
AvaliaçãoAvaliação
VantagensTécnica de busca globalOtimização de problemas
mal estruturadosDispensa formulação
matemática precisa do problema
DesvantagensDificuldade na representação do cromossomaEvolução demorada em alguns problemas