1 / 162

Introdução aos Sistemas Inteligentes

Introdução aos Sistemas Inteligentes. DCA-FEEC-UNICAMP. Prof. Ricardo Gudwin gudwin@dca.fee.unicamp.br http://www.dca.fee.unicamp.br/~gudwin Telefone: (19) 3788-3819. Sistemas Inteligentes. Sistemas Inteligentes sistemas que exibem um comportamento considerado inteligente

Télécharger la présentation

Introdução aos Sistemas Inteligentes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução aos Sistemas Inteligentes DCA-FEEC-UNICAMP Prof. Ricardo Gudwin gudwin@dca.fee.unicamp.br http://www.dca.fee.unicamp.br/~gudwin Telefone: (19) 3788-3819

  2. Sistemas Inteligentes • Sistemas Inteligentes • sistemas que exibem um comportamento considerado inteligente • Definições na Literatura • existem em profusão, desde as mais ingênuas, até as mais elaboradas e detalhadas • polêmicas • incompletas • Palavra-Chave • Inteligência • O que é isso ?

  3. Inteligência • O que é inteligência ? • Envolve • conhecimento • raciocínio • pensamento • idéias • Capacidade de resolver problemas • Capacidade de compreender uma situação • Capacidade de planejar o futuro e realizar ações de modo que os plano se concretizem • Capacidade de aprender coisas novas • Capacidade de atingir objetivos • Capacidade de determinar objetivos

  4. Inteligência • Sabemos o que é inteligência ? • Podemos avaliar se algum sistema em particular (natural ou artificial) é ou não inteligente • Podemos determinar diversos atributos para um sistema que consideremos inteligente • Não temos uma definição geral e completa para o que seja inteligência • Podemos dizer algumas coisas sobre a inteligência • existe em diferentes níveis (intensidades) • atua sobre diferentes domínios (múltiplas inteligências) • é uma propriedade composta e derivada • em seres humanos, pode ser desenvolvida

  5. Inteligência • Quem se interessa por estudá-la ? • Filósofos - para entendê-la • Educadores - para desenvolvê-la em seres humanos • Engenheiros - para criar sistemas que a possuam • Desde quando a estudam ? • Desde os primeiros filósofos gregos • Áreas do conhecimento que lhe são afins • Filosofia (do pensamento), Pedagogia (desenvolvimento da inteligência), Biologia celular (comunicação celular), Medicina (sistemas imunológicos), Etologia (inteligência nos animais), Psicologia e Psiquiatria (distúrbios da inteligência), Engenharia dos Materiais (materiais inteligentes), Política (como negociar), Retórica (como convencer), Computação (sistemas inteligentes), etc ...

  6. Taxonomia das Inteligências • Inteligência Natural (Análise) • Inteligência de compostos materiais • Inteligência em compostos orgânicos • Inteligência celular • Inteligência em animais • Inteligência no homem • desenvolvimento, terapêutica em distúrbios, modelagem, uso • Inteligência Artificial (Síntese) • dispositivos mecânicos/materiais • dispositivos eletrônicos (computadores) • software

  7. Paradigmas e Inteligência • Dois hemisférios do cérebro humano • especializados em diferentes formas de tratar problemas • utilizando dois tipos distintos de paradigmas • Sequencial ou Lógico: baseado em uma abordagem de solução de problemas que considera somente uma pequena porção das informações disponíveis em um dado instante de tempo qualquer • Paralelo ou Gestalt: processa informação de forma global, ou “tudo de uma vez”. Percepção, por exemplo • Hemisfério esquerdo (paradigma sequencial) • produção e compreensão de linguagem, raciocício lógico, planejamento, tempo,… • Hemisfério direito (paradigma paralelo) • comparação e identificação de imagens visuais, raciocínio por analogia, coordenação, sentido de corpo, ...

  8. Inteligência Artificial • Inteligência Artificial • Termo cunhado em um workshop no Dartmouth College no verão de 1956 por John MacCarthy para o estudo da inteligência • Núcleo da Inteligência Artificial • tem suas raízes nas teorias funcionais/estruturais da inteligência • estruturas físicas e formais como uma base para o comportamento inteligente • Evolução Histórica • ciclos de altos e baixos, principalmente devido a promessas não cumpridas e expectativas exageradas em função dos primeiros resultados obtidos • fracassos levaram a uma visão mais realista e madura, permitindo um ressurgimento a partir da década de 80

  9. Inteligência Artificial e Sistemas Inteligentes • Problemas nos Métodos da Inteligência Artificial • Frame Problem: impossibilidade de se manter um modelo simbólico do mundo em ambientes complicados evoluindo em tempo real • Symbol-Grounding Problem: diz respeito ao vazio da representação simbólica em termos do que acontece realmente no ambiente, pois os símbolos somente apoiam-se uns nos outros • Frame-of-Reference Problem: diz respeito às diferenças entre os significados dos símbolos utilizados pelo sistema e pelos designers do sistema na elicitação do conhecimento • Situatedness: diz respeito ao mundo em constante mudança • Limitações na Computação Simbólica • Problema Numérico-Simbólico

  10. Sistemas Inteligentes • Campo da ciência e engenharia de computação que procura estudar e reproduzir por meios computacionais sistemas com características normalmente atribuídas à inteligência humana, tais como: • Soluções de Problemas • Lógica • Métodos de Raciocínio e Pensamento • Representação e Processamento de Conhecimento • Tomada de Decisões • Aprendizagem • Percepção e Visão • Compreensão de Linguagem (e signos de um modo geral) • Emoções e Julgamento de Valores

  11. O ABC da Inteligência InteligênciaBiológica InteligênciaArtificial InteligênciaComputacional

  12. Inteligência Computacional Sistemas e Lógica Fuzzy Inteligência Artificial Sistemas Cognitivos Lógica Fuzzy Redes Neurais Computação Evolutiva Redes Neurais Computação Evolutiva e Probabilística Semiótica Computacional Sistemas Inteligentes Inteligência Computacional

  13. Evolução Histórica • Década de 40: Cibernética (Wiener) • Década de 50: Estratégias de Busca e Outras (Shannon, Turing) 1956: Dartmouth Summer Research Project on Artificial Intelligence • Década de 60: LISP, Robótica,Visão, Sistemas Especialistas, Evolução, Fuzzy • Década de 70: Representação do Conhecimento, Algoritmos Genéticos • Década de 80: Aprendizagem, Redes Neurais, Indústria da IA • Década de 90: Inteligência Computacional, Agentes, Semiótica, Vida Artificial, Swarm Intelligence

  14. Panorama dos Sistemas Inteligentes Sistemas Inteligentes Inteligência Artificial Clássica Inteligência Computacional Novos Paradigmas Sistemas Multi-Agentes Busca em Grafos Lógica Fuzzy Representação do Conhecimento Semiótica Computacional Redes Neurais Lógica e Inferência Computação comPalavras Sistemas Especialistas Computação Evolutiva Computação comEmoções LISP e Prolog

  15. Inteligência Artificial Clássica Representação e Solução de Problemas Algoritmos de Busca Estratégias de Jogos Lógica Matemática Sistemas Especialistas (Sistemas Baseados em Conhecimento) Redes Bayesianas

  16. Áreas Clássicas da Inteligência Artificial Sistemas Especialistas KBS Apredizagem Processamento de Linguagem Natural IA Base de Dados Estratégias de Busca Representação de Conhecimento Programação Automática Lógica Solução de Problemas Computação Simbólica Robótica/ Sistemas de Sensoriamento Visão/ Reconhecimento de Imagens

  17. Representação e Solução de Problemas • Problema • abstraído na forma de: • conjunto de estados • ações possíveis: transições entre estados • grafo • Sistema Resolvedor de Problemas • sistema decide sequências de ações que levarão do estado atual ao estado desejado • Meta • definição das condições que gerarão à satisfação do problema • Formulação do Problema • escolha dos estados e ações a serem considerados • define o grau de detalhamento na abordagem do problema

  18. Representação e Solução de Problemas • Solução • sequência de ações que levarão à satisfação do problema • encontrada por meio de um mecanismo de busca • uma vez encontrada, leva o sistema à fase de execução • um problema pode ter mais de uma solução • Algoritmo de Busca • algoritmo que, a partir do estado inicial, percorre os nós do grafo que representa o problema, buscando por um caminho ou nó que represente a solução do problema • Questões • Busca é a melhor maneira de resolver o problema ? • Quais algoritmos de busca resolvem o problema ? • Qual algoritmo é o mais eficiente para um dado problema ?

  19. Algoritmos de Busca • Algoritmos Básicos de Busca • não informados (busca cega) • depth-first, breadth-first, non-deterministic • informados • hill-climbing, beam search, best-first • Outros Algoritmos de Busca • otimização • branch and bound, programação dinâmica, simulated-annealing • heurísticos • A, A* e variações • Aplicações • KBS, sequenciamento de produção, planejamento estratégico, logística, etc…

  20. Árvores de Busca: Nomenclatura

  21. Grafo e Árvore de Busca

  22. Busca em Profundidade(Depth-first Search)

  23. Busca em Amplitude(Breadth-first Search)

  24. Busca Não-Determinística

  25. Buscas do Tipo Best-first • Busca A* • Função de avaliação f(n) = g(n) + h(n) • g(n) - custo atual do caminho (cost-uniform search) • h(n) - função heurística (greedy search) • comprovadamente completa e ótima dada uma única restrição sobre h(n) - heurística admissível • Heurística Admissível • função h nunca deve superestimar o custo de se chegar à meta • Busca IDA* (Iterative Deepening A*) • semelhante ao ID search, mas ao invés de utilizar um limite de profundidade, utiliza um limite para a função f • cada iteração expande somente os nós dentro de um contorno para o valor corrente de f, aumentando gradativamente esse contorno

  26. Exemplo de Busca SMA*

  27. Jogos e Problemas de Busca • Presença do Oponente • introduz incerteza • estado é alterado não somente em função das decisões tomadas - problema da contingência • Complexidade da Árvore de Busca • número de estados a serem testados é muito maior • normalmente não há tempo suficiente para calcular todas as possíveis consequências de um movimento • Questões • Como encontrar o suposto melhor movimento ? • Como agir quando o tempo de decisão é limitado ? • Como agir quando o jogo inclui algum tipo de não-determinismo ?

  28. Estratégia Minimax • Max e Min • dois jogadores • Problema de Busca • estado inicial, conjunto de operadores, teste de terminação, estados terminais e função de utilidade • Estratégia • conjunto de movimentos que levem a um nó terminal, independentemente das jogadas adversárias • inclui o movimento correto de Max para qualquer possível movimento de Min • Estratégia Minimax • tenta maximizar a função de utilidade considerando que o oponente fará de tudo para minimizá-la a seu turno

  29. Estratégia Minimax • Algoritmo • Gere toda a árvore do jogo, até os nós terminais • Aplique a função de utilidade para cada nó terminal para calcular seu valor • Use a utilidade dos nós terminais para calcular a utilidade dos nós um nível acima na árvore de busca • caso o nível de cima seja jogada de Min escolha a mínima utilidade • caso o nível de cima seja jogada de Max escolha a máxima utilidade • Continue até que a raiz da árvore seja atingida • Escolha sempre a jogada que trará uma maior utilidade

  30. Variações da Estratégia Minimax • Estratégia Minimax • infactível, em seu formato original • busca até os nós terminais é impossível em casos práticos • Possível Variação • utilizar uma função de avaliação ao invés de uma função de utilidade • teste terminal pode ser substituído por um teste de término antecipado de busca, com profundidade arbitrária • Consequência • decisões imperfeitas • factibilidade de implementação • Dificuldades • encontrar uma função de avaliação adequada

  31. Alfa-Beta Pruning(Poda Alfa-Beta) • Criação de Toda a Árvore de Busca • desnecessária e consumidora de recursos • Poda • corte de parte da árvore de busca, evitando sua criação • Estratégia Minimax • busca em profundidade • Alfa • valor da melhor escolha em um ponto do programa para uma decisão de Max • Beta • valor da melhor escolha (menor valor) em um ponto de programa para uma decisão de Min

  32. Alfa-Beta Pruning(Poda Alfa-Beta) • Busca Alfa-Beta • atualiza continuamente os valores de alfa e beta, podando uma sub-árvore quando se sabe que esta será pior do que os valores correntes de alfa e beta • Efetividade do Método • depende da ordem em que os nós sucessores são avaliados • melhora significativamente a estratégia minimax e suas variações • reduz a complexidade de O(bd) para O(bd/2) no melhor caso • Variações do Método • podem levar a complexidade para O((b/log b)d) em média • Em alguns casos • podem fazer a diferença entre um novato e um especialista

  33. Jogos com Inserção de Acaso • Alguns Jogos • incluem o elemento aleatório (cartas, dados, etc … ) • exemplo: gamão • Variação da Estratégia • incluir nós aleatórios em adição aos nós Max e Min • Ao invés de um valor Minimax • valor esperado - usa a média dos possíveis resultados • Dois valores esperados • Expectmin - jogada aleatória depois de Min • Expectmax - jogada aleatória depois de Max • Poda Alfa-Beta • pode ser utilizada também

  34. Estado da Arte em Jogos • Melhoria do Hardware • não dos algoritmos • computadores específicos para o jogo de xadrez • Deep Thought - profundidade de 10 a 11 movimentos • Deep Blue - profundidade de 14 movimentos • Outros jogos • Damas, Othello, Gamão, Go • De maneira geral • cálculo da decisão ótima em jogos é ainda intratável • maioria dos algoritmos utiliza heurísticas e aproximações • Alternativas ao Minimax/Alfa-beta • Meta-reasoning e Planning

  35. Lógica Matemática, Representação, Inferência • Lógica • linguagem formal pelo meio da qual podemos expressar conhecimentos • mecanismos de raciocínio nesta linguagem • meios de processar o conhecimento expresso • Agentes que Raciocinam Logicamente • Criam representações do mundo • Usam um procedimento de inferência para obter novas representações sobre o mundo • Utilizam estas novas representações para deduzir o que fazer • Inferência • Mecanismo por meio do qual novos conhecimentos são gerados

  36. Lógicas • Lógica Proposicional (Cálculo Proposicional) • simbolos representam proposições • conectivos Booleanos (e, ou , negação, implicação, equivalência) • Lógica de Primeira Ordem (Cálculo de Predicados) • objetos e predicados • quantificadores • Lógica Temporal • mundo ordenado por um conjunto de pontos ou intervalos (tempo) - verdades estão associadas a esses pontos • Lógica Fuzzy • valor-verdade pode conter valores intermediários entre 0 e 1 • baseada na teoria dos conjuntos fuzzy

  37. Caracterização de uma Lógica • Premissa Ontológica • diz respeito ao tipo de fenômeno do mundo que pode modelar • o que existe no mundo • Premissa Epistemológico • diz respeito aos possíveis estados de conhecimento que um agente pode ter utilizando vários tipos de lógica • o que um agente pode dizer sobre o que existe no mundo

  38. Caracterização de uma Lógica • Definição de uma Lógica • Sintaxe, Semântica e Regras de Inferência • Sintaxe • define sentenças bem formadas dentro de uma lógica • normalmente definida na forma de uma gramática • Semântica • define o mapeamento das premissas ontológicas nas premissas epistemológicas • normalmente definida na forma de uma tabela-verdade, ou na forma de uma expressão analítica derivada desta • Regras de Inferência • operadores que definem como podemos gerar novas sentenças a partir de sentenças bem formadas em uma lógica

  39. Lógica Proposicional • Semântica • Supondo que: • O é o conjunto das sentenças bem formadas • E é o conjunto de estados lógicos que podem ser associados a uma sentença bem formada = {verdadeiro, falso} (ou {true, false}) • função de interpretação • fi : O  E • tabela-verdade

  40. Regras de Inferência Modus Ponens: And-Elimination: And-Introduction: Or-Introduction: Double-Negation Elimination: Resolution:

  41. Lógica de 1ª Ordem • Lógica Proposicional • fatos ou proposições: entidades atômicas e diferenciadas • impossível generalizar conhecimentos envolvendo proposições semelhantes • Resultado • número muito alto de fatos e regras sendo processados • inviável uso prático mesmo em problemas simples • Lógica de 1a ordem • permite uma descrição ontológica mais rica • mundo consiste de objetos, isto é, coisas com identidades individuais • objetos podem ter propriedades • podem existir relações e funções entre os objetos

  42. Lógica de 1ª Ordem • Sintaxe para uma Lógica de 1a ordem Sentença  Sentença_Atômica | Sentença Conectivo Sentença | Quantificador Variável …. Sentença |  Sentença | (Sentença) SentençaAtômica  Predicado (Termo,…) | Termo = Termo Termo  Função(Termo, ...) | Constante | Variável Conectivo   |  |  |  Quantificador   |  Constante  A | B | X1 | FHC Variável  x | y | a | ……. Predicado  Antes _De | Cor | …. Função  Mãe | f | g |

  43. Lógicas de Ordem Superior • Lógica de Primeira Ordem • permite o uso de quantificadores para objetos mas não para predicados, relações ou funções entre objetos • Lógicas de Ordem Superior • permitiriam o uso de quantificadores também para predicados, relações e funções entre objetos • x,y (x = y)  (p p(x)  p(y)) • possuem maior poder expressivo do que a lógica de 1a ordem • dificuldades em encontrar mecanismos de raciocínio para lógicas de ordem superior • sabe-se que problema geral de resolução de lógicas de ordem superior é indecidível • lógicas de ordem superior normalmente não são utilizadas

  44. Sistemas Especialistas • Base de Conhecimento • conjunto de representações sobre o mundo (KB) • cada elemento do conjunto é uma sentença • sentença: expressão de uma linguagem de representação de conhecimento • background knowledge (conhecimento inicial) • Mecanismos para • Inserção de conhecimentos na base de conhecimentos • Consulta aos conhecimentos na base de conhecimentos • Mecanismo de Inferência • permite, a partir de uma consulta, derivar conhecimentos que estão armazenados na base de conhecimentos de maneira implícita

  45. Especialista Aplicação Conhecimento Aplicação Engenheiro do Conhecimento Engenharia do Conhecimento Aplicação Base de Conhecimento

  46. Construindo Bases de Conhecimento • Engenharia do Conhecimento • processo de construção de bases de conhecimento • Engenheiro do Conhecimento • investiga algum domínio do conhecimento em particular • determina quais conceitos são importantes • cria uma representação formal para os objetos e relacionamentos nesse domínio • normalmente não é um especialista no domínio em questão, mas se serve de uma interação com esses especialistas para construir a base de conhecimento • Lógica de 1a ordem • ferramenta para a representação do conhecimento e raciocínio • não oferece nenhum conselho sobre quais fatos devem ser expresso nem o vocabulário a ser utilizado

  47. Construindo Bases de Conhecimento • Aquisição do Conhecimento • metodologia para a elicitação do conhecimento necessário para representar um domínio • normalmente obtém-se o conhecimento por meio de entrevistas com especialistas do domínio • criação de cenários e estudos de casos • Engenharia de Ontologias • metodologia para a escolha da terminologia e representação de conhecimentos gerais sobre algum domínio em particular, em uma linguagem formal • Engenharia do Conhecimento • semelhante, sob certos aspectos, à fase de análise da engenharia de software, quando se tenta levantar a organização de processos do mundo real e criar uma descrição destes

  48. Mecanismo de Inferência:Encadeamento Direto procedure FORWARD_CHAIN(KB, p) if there is a sentence in KB that is a renaming of pthen return Add p to KB for each (p1  …  pn  q) in KB such that for some i, UNIFY(pi, p) =  succeeds do FIND_AND_INFER(KB, [p1, ….,pi-1, pi+1, …., pn], q, ) end procedure FIND_AND_INFER(KB, premises, conclusion, ) ifpremises = [ ] then FORWARD_CHAIN(KB, SUBST(, conclusion) else for eachp’ in KB such that UNIFY(p’, SUBST(, FIRST(premises))) = 2do FIND_AND_INFER(KB, REST(premises), conclusion, COMPOSE(, 2)) end

  49. Mecanismo de Inferência:Encadeamento Reverso function BACK_CHAIN(KB, q) returns a set of substitutions BACK_CHAIN_LIST(KB,[q],{}) function BACK_CHAIN_LIST(KB,qlist,) returns a set of substitutions inputs: KB, a knowledge base; qlist, a list of conjuncts forming a query ( already applied); , the current substitution local variables: answers, a set of substitutions, initially empty ifqlist is empty then return {} q  FIRST(qlist) for eachqi’ in KB such that i  UNIFY(q, qi’) succeeds do Add COMPOSE(, i) to answers end for each (p1  …  pn  qi’) in KB such that i  UNIFY (q, qi’) succeeds do answers  BACK_CHAIN_LIST(KB,SUBST(i,[p1 … pn ],COMPOSE(, i))  answers end return the union of BACK_CHAIN_LIST(KB,REST(qlist), ) for each   answers

  50. P(A/B) = P(B/A)P(A) P(B) P(A/B,E) = P(B/A,E)P(A/E) P(B/E) A B S Redes Bayesianas • Valor-Verdade de Proposições • Pode ser substituído pela idéia de Crença • Relações entre Crenças • Inferência Probabilística (Indutiva) • Relações de Dependências entre Crenças • Podem ser representadas em um grafo • Propagação probabilística de Crenças segue a regra de Bayes

More Related