FEOL – FACULDADES DE OLIVEIRA Prof. Rodrigo Bahia Paiva Inteligência Artificial O que é Inteligência Artificial ? Inteligência Artificial Etimologicamente - Inteligência (Origem: Latim) Inter (entre) e legere (escolher) Aquilo que permite ao ser humano escolher entre uma coisa e outra; Habilidade de realizar, de forma eficiente, uma determinada tarefa. Inteligência Artificial Artificial (Origem: Latim) Artificiale Algo não natural, isto é, produzido pelo homem. Inteligência Artificial “Um tipo de inteligência produzida pelo homem para dotar as máquinas de algum tipo de habilidade que simula a inteligência do homem.” Inteligência Artificial Algumas definições de IA: "O ramo da ciência da computação preocupada com a automação de comportamento inteligente." [LUGER & STUBBLEFIELD, 93] "O estudo da computação que torna possível perceber, raciocinar e agir." [WINSTON, 92] "IA é a parte da ciência da computação voltada para o desenvolvimento de sistemas de computadores inteligentes, isto é, sistemas que exibem características, as quais nós associamos com a inteligência no comportamento humano – em geral compreensão da linguagem, aprendizado, raciocínio, resolução de problemas, etc." [FEIGENBAUM, 81] Inteligência Artificial Algumas definições de IA: "É o campo de estudo que tenta explicar e emular o comportamento inteligente em termos de processos computacionais." [SCHALKOFF, 90] "Inteligência artificial é o estudo das idéias que permitem aos computadores serem inteligentes." [WINSTON, 84] "Inteligência Artificial é o estudo das faculdades mentais através do uso de modelos computacionais." [CHARNIAK & McDERMOTT, 85] Inteligência Artificial Algumas definições de IA: "A arte de criar máquinas que executam funções que requerem inteligência quando executadas por pessoas." [KURZWEIL,90] "Inteligência artificial é o estudo de como fazer os computadores realizarem coisas que, no momento, as pessoas fazem melhor." [RICH, Elaine & KNIGHT, Kevin, 93] "[...] atividade que nós associamos com o pensar humano, atividades tais como: tomada de decisão, resolução de problemas, aprendizado[... ]." [BELLMAN, 78] Inteligência Artificial Algumas definições de IA: "A inteligência artificial (IA) é simplesmente uma maneira de fazer o computador pensar inteligentemente." [LEVINE, 88] “Pode ser definida como o ramo da Ciência da Computação que se ocupa da automação do comportamento inteligente.” [LUGER, 2004] Inteligência Artificial A Inteligência Artificial busca entender a mente humana e imitar o seu comportamento [BOOSE, 94], levantando questões tais como: Como ocorre o pensar? Como o homem extrai o conhecimento do mundo? Como a memória, os sentidos e a linguagem ajudam no desenvolvimento da inteligência? Como surgem as idéias? Como a mente processa informações e tira conclusões decidindo por uma coisa ao invés de outra? Essas são algumas perguntas que a IA precisa responder para simular o raciocínio humano e implementar aspectos da inteligência. Inteligência Artificial A inteligência humana está aliada a sua capacidade de interagir com o meio através de habilidades cognitivas (sentidos) e conotativas (ação), ou seja, se movimentar, reconhecer sons (fala) e imagens, se expressar, etc. Inteligência Artificial Existe um esforço, principalmente no campo da robótica, no sentido de implementar “as máquinas inteligentes”, para propiciar: uma maior interação com o meio e desenvolver padrões de inteligência envolvidos na aquisição do conhecimento, reconhecimento, aprendizado, etc. Inteligência Artificial “É mesmo possível se obter inteligência num computador, ou uma entidade inteligente requer a riqueza das sensações e experiências que só podem ser encontradas numa existência biológica?” 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 Reproduzir o comportamento inteligente. Entender entidades inteligentes. Se o ser humano pode, por que não a máquina? (tese de Church-Turing) Tese de Church-Turing Na teoria da computabilidade, a Tese de Church-Turing ou Tese de Church, assim nomeada em referência a Alonzo Church e Alan Turing, é uma hipótese sobre a natureza de artefatos mecânicos de cálculo, como computadores, e sobre que tipo de algoritmos eles podem executar. Geralmente assume-se que um algoritmo deve satisfazer os seguintes requisitos: O algoritmo consiste de um conjunto finito de instruções simples e precisas, que são descritas com um número finito de símbolos. O algoritmo sempre produz resultado em um número finito de passos. O algoritmo pode, a princípio, ser executado por um ser humano com apenas papel e lápis. A execução do algoritmo não requer inteligência do ser humano além do necessário para entender e executar as instruções. * A teoria da computação, um subcampo da ciência da computação e matemática, busca determinar quais problemas podem ser computados em um dado modelo de computação. Algoritmo de Euclides Um exemplo de tal método é o Algoritmo de Euclides para a determinação do máximo divisor comum de dois números naturais. A noção de algoritmo é intuitivamente clara mas não é definida formalmente, pois não está claro o que quer dizer "instruções simples e precisas", e o que significa "inteligência necessária para executar as instruções". O Algoritmo de Euclides busca encontrar o máximo divisor comum entre dois números inteiros diferentes de zero. É um dos algoritmos mais antigos conhecidos, desde que apareceu na obra Elementos de Euclides por volta de 300 AC. O algoritmo não requer fatoração. Embora seja um algoritmo bastante simples, a sua análise revela-se um problema bastante complexo. Não se sabe ao certo qual a complexidade esperada deste algoritmo para valores muito grandes de n, mas estima-se que seja aproximadamente 12(ln2)π2)lnn. Algoritmo de Euclides Exemplo Tomemos os números 348 e 156: dividendo ← 348 divisor ← 156 resto(348/156) = 36 ≠ 0 Como o resto não é zero, substituímos o dividendo e o divisor: dividendo ← 156 divisor ← 36 resto(156/36) = 12 ≠ 0 Repetimos o passo anterior: dividendo ← 36 divisor ← 12 resto(36/12) = 0 retornar 12 Portanto, o máximo divisor comum de 348 e 156 é 12. Tese de Church-Turing Informalmente a tese enuncia que nossa noção de algoritmo pode ser formalizada (sob a forma de funções computáveis) e que computadores podem executar esses algoritmos. Além disso, qualquer computador pode, teoricamente, executar qualquer algoritmo, isto é, o poder computacional teórico de cada computador é o mesmo e não é possível construir um artefato de cálculo mais poderoso que um computador. A tese pode ser considerada uma lei física, já que não pode ser matematicamente demonstrada. O que é IA? Abordagens Centradas em torno de seres humanos Ciência empírica, envolvendo hipóteses e confirmação experimental. Centradas em torno da racionalidade Envolve uma combinação de Matemática e Engenharia. O que é IA? Agindo de forma humana: a abordagem do teste de Turing Processamento de linguagem natural Representação de conhecimento Raciocínio automatizado Aprendizado de máquina Visão Computacional Robótica O que é IA? Pensando de forma humana: a estratégia de modelagem cognitiva Ciência cognitiva - reúne modelos computacionais da IA e técnicas experimentais da psicologia para tentar construir teorias precisas e verificáveis a respeito dos processos de funcionamento da mente humana. O que é IA? Pensando racionalmente: a abordagem das “leis do pensamento” Tentativa de codificação do “pensamento correto” – processos de raciocínios irrefutáveis. Seus silogismos forneceram padrões para estruturas de programas que sempre resultavam em conclusões corretas ao receberem premissas corretas. As leis do pensamento deveriam governar a operação da mente. O que é IA? Pensando racionalmente: a abordagem de agente racional Agente – é simplesmente algo que age (latim – agere – fazer). Agente racional – age para alcançar o melhor resultado ou, quando há incerteza, o melhor resultado esperado. Os fundamentos da IA Matemática Filosofia Lingüística Economia IA IA Cibernética Neurociência Psicologia Engenharia de Computação História da IA Inteligência Estudada há mais de 2000 anos por filósofos Raciocínio, memória, aprendizado, visão. Inteligência Artificial surgiu na década de 50 estuda a inteligência de maneira teórica e experimental. História da IA Church e Turing estabelecem limites para aquilo que pode ser resolvido por computadores, introduzindo o conceito de computabilidade (1936). "Mas podem as máquinas pensar?" Famosa pergunta feita em 1950 por Alan Turing (Teste de Turing) História da IA Primeiro trabalho (1943) - McCulloch and Pitts: implementação dos operadores lógicos através de uma rede neural. Primeiro Evento (1956) Newell and Simon – Logic Theorist (resolvedor de teoremas). História da IA GPS (General Problem Solver, 1960 ) - Newell and Simon. Linguagem LISP (1958) – McCarthy. Micromundos (1963) – Minsky (problemas de domínios limitados). O mundo dos blocos (1968). Linguagem Prolog (1970) - Edinburgh/Marseilles. Surge o nome Inteligência Artificial, após um workshop entre grandes nomes como: John McCarthy, Arthur Samuel (IBM), Ray Solomonoff e Oliver Selfridge (MIT). História da IA Primeiro experimento feito para tentar realizar o “Teste de Turing” - Eliza (1966) um programa criado pelo pesquisador Joseph Weizenbaum, do MIT, que simulava uma psicóloga virtual usando trechos das frases dos usuários para compor as respostas e estimulava o “paciente” a se aprofundar cada vez mais nos detalhes dos seus problemas. Exemplo de diálogo com a Eliza: Eliza: Olá, conte-me o seu problema. Usuário: Eu não me relaciono bem com as outras pessoas. Eliza: E por que você acha que você não se relaciona bem com as outras pessoas? Usuário: Pois estou sempre sozinho. ... Exemplo de software de Inteligência Artificial para criação de personagens virtuais (chatter boot) : www.inbot.com.br História da IA 1969 - ressurgimento do entusiasmo Sistemas especialistas 1970/1980 - Alguns sistemas famosos: SHRLDU (interface em linguagem aplicado ao mundo de blocos) natural MYCIN (diagnóstico médico) LUNAR (interface para geólogos interrogarem sobre as amostras de rochas trazidas pela Appolo na missão lunar - o primeiro usado por pessoas que não os projetistas do sistema). História da IA 1980 - Projeto japonês: a quinta geração de computadores (IA, Prolog, PLN) repercussões no financiamento global para a área de IA. 1980 - com projetos mais reais, a IA começa a ser utilizada na indústria, promovendo cortes de despesas e otimização de tarefas. R1 - o primeiro "expert system" de sucesso que iniciou suas atividades na Digital Equipment - economia de 40 milhões de dólares por ano. História da IA 1997 - Deep Blue vence Kasparov algoritmos de busca computadores de alta velocidade hardware específico para xadrez A IA é o elemento fundamental nas mais diversas ferramentas disponíveis na Internet. Deep Blue Deep Blue (azul profundo) foi um supercomputador e um software criados pela IBM especialmente para jogar xadrez com 256 co-processadores, capazes de analisar aproximadamente 200 milhões de posições por segundo. Em fevereiro de 1996, o campeão do mundo de xadrez, Garry Kasparov, natural do Azerbeijão, atualmente radicado na Rússia, considerado o melhor jogador de todos os tempos, ganhou três partidas, empatou duas e perdeu uma contra Deep Blue, obtendo a pontuação final de 4 a 2 (o empate dá 0,5 ponto para cada um dos lados). A única derrota de Kasparov nesse match foi justamente na primeira partida, a qual passou a ser o primeiro jogo de xadrez em que um computador venceu um campeão do mundo sob regras normais de tempo. Mesmo recuperando-se nos jogos seguintes, ao final do match, Kasparov declarou que era o último humano campeão de xadrez, talvez prevendo o que aconteceria no ano seguinte. Em maio de 1997, após uma severa atualização, Deep Blue venceu Kasparov em um novo confronto de 6 partidas, com 2 vitórias, 3 empates e 1 derrota (pontuação final: 3,5 a 2,5), tornando-se o primeiro computador a vencer um campeão mundial de xadrez num match com regras de tempo oficiais. A derrota de Kasparov no segundo match é uma das maiores polêmicas do mundo do xadrez. Naquela ocasião, o grande mestre acusou a IBM de ter trapaceado dizendo que jogadores humanos intervieram durante a segunda partida. A IBM se defendeu dizendo que os ajustes no programa e intervenções ocorriam somente entre uma partida e outra. Kasparov pediu os arquivos (printouts dos log files), porém a IBM se recusou a fornecê-los. Na base de dados do computador havia mais de 700 mil partidas de Mestres e Grandes Mestres, porém quando Kasparov pediu à IBM algumas partidas jogadas pelo Deep Blue para que entendesse melhor seu oponente, o pedido foi negado. Kasparov pediu ainda um novo match, porém a IBM não teve interesse e aposentou o computador. Há um documentário de 2003 (Game Over: Kasparov and the Machine) que conclui que esta vitória foi armada para elevar o valor das ações da companhia. História da IA Atualmente - usada em grande escala, posta a prova pelos militares americanos na operação Desert Storm, na guerra do Iraque (Mísseis teleguiados e sensores de visão noturna) Tendências - passagem de sistemas experimentais para aplicações reais de grande escala representação de conhecimento reconhecimento da fala robótica visão internet Exemplos de Aplicação da IA 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, etc. Processamento de linguagem natural: tradução automática, verificadores ortográficos e sintáticos, interface vocal, reconhecimento da fala, de locutor, 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. Exemplos de Aplicação da IA 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) programação automática interfaces adaptativas bancos de dados dedutivos e ativos mineração de dados (data mining) sistemas distribuídos, etc. IA - Limitações Ainda existem muitas limitações nas questões relacionadas à Inteligência Artificial? Órgãos/Empresas de IA Empresas especializadas em IA: Grandes empresas desenvolvendo e utilizando IA: IBM, HP, Sun, Microsoft, Unisys, Google, Amazon.com, ... Grandes empresas utilizando IA: http://dmoz.org/Computers/Artificial_Intelligence/Companies/ www.businessweek.com/bw50/content/mar2003/a3826072.htm Wal-Mart, Abbot Labs, US Bancorp, LucasArts, ... Órgãos governamentais utilizando IA: US National Security Agency Pluridisciplinaridade da IA Inspiração Tarefas •Filosofia •Matemática - Lógica - Proba. e Estat. - Cálculo • Pesquisa Operacional • Economia • Sociologia • Lingüística • Psicologia • Biologia • Automação e Controle • Computação tradicional Problemas •Busca heurística • Representação do conhecimento e Raciocínio automático • Planejamento • Aprendizagem e Aquisição de Conhecimento • Sistemas Multi-Agente • Reconhecimento de Padrões Aplicações •Jogos • Sistemas Especialistas • Percepção Computacional •Classificação • Previsão • Monitoramento • Diagnóstico e Interpretação • Conserto - Visão • Escalonamento - Processamento de Voz • Alocação • Filtragem - Integração de Sensores • Descoberta • Processamento de Linguagem Natural • Robótica - Navegação - Manipulação • Design • Controle • Simulação Em Busca de Soluções Busca Heurística Epistemologia (ciência do conhecimento) existem 3 linhas na teoria do conhecimento: empirismo (Locke). racionalismo (Kant). intercionismo (Piaget, Vigotsky). Filosoficamente Empirismo (Locke): é um movimento que acredita nas experiências como únicas (ou principais) formadoras das idéias, discordando, portanto, da noção de idéias inatas. Locke argumentou que a mente seria, originalmente, um "quadro em branco", sobre o qual é gravado o conhecimento, cuja base é a sensação. Ou seja, todas as pessoas, ao nascer, o fazem sem saber de absolutamente nada, sem impressão nenhuma, sem conhecimento algum. Todo o processo do conhecer, do saber e do agir é aprendido pela experiência, pela tentativa e erro. Racionalismo (Kant): o homem nasceria com certas idéias inatas, as quais iriam "aflorando" à consciência e constituiriam as verdades acerca do Universo. A partir dessas idéias, o homem poderia entender os fenômenos particulares apresentados pelos sentidos. O conhecimento da verdade, portanto, independeria dos sentidos físicos. Intercionismo (Piaget, Vigotsky): a aprendizagem é um processo que começa no nascimento e acaba na morte. A aprendizagem dá-se através do equilíbrio entre a assimilação e a acomodação, resultando em adaptação. Segundo este esquema, o ser humano assimila os dados que obtém do exterior, mas uma vez que já tem uma estrutura mental que não está "vazia", precisa adaptar esses dados à estrutura mental já existente. Busca Heurística Heurística - Informação específica do domínio que pode ser usada para guiar o processo de busca. Em muitos casos uma heurística envolve a aplicação de uma função que avalia um nó particular e prediz a qualidade dos seus nós sucessores. Uma função heurística de avaliação no jogo-davelha poderia ser o número de linhas, colunas e diagonais ainda disponíveis, quanto maior este número maior a chance de vitória. Busca Heurística 1. Os problemas de IA empregam heurísticas, basicamente, em duas situações: Um problema pode não ter uma solução exata por causa das ambigüidades inerentes na sua formulação ou pela disponibilidade dos dados. Exemplos: Diagnóstico médico, Sistemas de visão. 2. Um problema pode ter uma solução exata, mas o custo computacional para encontrá-la pode ser proibitivo. Exemplo: Jogo de xadrez. Busca Heurística As heurísticas podem falhar. Uma heurística é apenas uma conjectura informada sobre o próximo passo a ser tomado na solução de um problema. A heurística é baseada na experiência e na intuição. Uma heurística pode levar um algoritmo de busca a uma solução subótima ou, inclusive, levá-lo a não conseguir encontrar uma solução. George Polya define heurística como “o estudo dos métodos e das regras de descoberta e invenção” (Polya, 1945) – relacionada com o termo grego original, o verbo eurisco (“Eu descubro”). Quando Arquimedes emergiu de seu famoso banho segurando a coroa de ouro, ele gritou “Eureka!” (“Eu descobri!”). Busca Heurística Estratégias de Busca Heurística Usam conhecimento específico do problema na busca da solução. Mais eficientes do que a busca não informada. Algoritmo geral: Busca pela Melhor Escolha - BME (Best-first search) Seleciona para expansão o nó que tiver o menor custo estimado até a meta (objetivo), segundo uma função de avaliação f(n). Tipicamente f(n) usa uma função heurística h(n) = custo estimado do caminho mais econômico do nó n até um nó objetivo (Restrição inicial: se n é um nó objetivo, h(n)=0). Busca Heurística Uma forma de uso da informação heurística sobre um problema consiste em computar estimativas numéricas para os nós no espaço de estados; Uma estimativa indica o quanto um nó é promissor com relação ao alcance de um nó-objetivo; A idéia é continuar a busca sempre a partir do nó mais promissor no conjunto de candidatos; O programa de busca do melhor caminho (escolha) é baseado neste princípio. Busca Heurística Busca do melhor caminho - pode ser derivada de um refinamento da busca em largura. Busca em largura - sempre escolhe para expansão os menores caminhos-candidatos (isto é, os nós extremos menos profundos da busca). Busca do melhor caminho - refina este princípio calculando uma estimativa heurística para cada candidato e escolhe para expansão o melhor candidato de acordo com esta estimativa. Busca Heurística Greedy best-first search (Busca gulosa pela melhor escolha) Tenta expandir o nó mais próximo à meta, na suposição de que isso provavelmente levará a uma solução rápida. Avalia nós para expandir com base unicamente na função heurística: f(n) = h(n) Exemplo: encontrar a melhor rota (rota mais curta) de uma cidade a outra, num mapa. h(n) = distância em linha reta entre as cidades e a cidademeta. Busca Heurística Exemplo: Localização de rotas na Romênia, usando a heurística de distância em linha reta (hDLR) Objetivo: Bucharest (Bucareste) 176 100 Um mapa rodoviário simplificado de parte da Romênia. Busca Heurística Busca pela melhor escolha - Busca Gulosa Distância em linha reta para Bucharest: Exemplo – Passo a Passo ... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta hDLR. Os nós são identificados por seus valores de h. Exemplo – Passo a Passo ... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta hDLR. Os nós são identificados por seus valores de h. Exemplo – Passo a Passo ... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta hDLR. Os nós são identificados por seus valores de h. Exemplo – Passo a Passo ... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta hDLR. Os nós são identificados por seus valores de h. Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta hDLR. Os nós são identificados por seus valores de h. Busca Heurística Não é completa pode entrar em ciclos e não encontrar a solução se não detectar estados repetidos; pode se perder em um caminho infinito e nunca retroceder para tentar outras opções. Não é ótima No exemplo encontrou caminho (Arad, Sibiu, Fagaras, Bucharest) que é 32km maior que (Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucharest) Dependendo do problema e da qualidade da heurística a complexidade pode ter uma redução substancial. Busca Heurística BME mais “famoso”: Busca A* Objetivo: Minimizar o custo total estimado da solução. Função de avaliação: f(n) = g(n) + h(n) • g(n) = distância (custo) do nó inicial ao nó n • h(n) = distância (custo) estimada de n ao nó final • Assim, f(n) estima o custo da melhor solução que passa por n. A* expande o nó de menor valor de f na fronteira do espaço de estados. Busca Heurística Quando n é encontrado pelo processo de busca, tem-se a seguinte situação: Um caminho de i para n já deve ter sido encontrado e o seu custo pode ser calculado como a soma dos custos dos arcos no caminho, e pode servir como uma estimativa g(n) do custo mínimo de i para n. h(n) é mais problemático porque o espaço entre n e t ainda não foi explorado, e portanto h(n) é meramente um palpite baseado no conhecimento geral do algoritmo sobre o problema particular. Não existe um método universal para construção de h, pois depende do domínio do problema. Busca Heurística Exemplo: Localização de rotas na Romênia, usando a Busca A* Objetivo: Bucharest (Bucareste) 176 100 Um mapa rodoviário simplificado de parte da Romênia. Busca Heurística Busca pela melhor escolha - Algoritmo A* Distância em linha reta para Bucharest: 449 75 + 374 239 239 + 178 140 + 253 220 417 118 + 329 447 393 220 + 193 413 317 418 366 415 455 496 336 + 160 317 + 98 Exemplo – Passo a Passo ... Exemplo – Passo a Passo ... Exemplo – Passo a Passo ... Exemplo – Passo a Passo ... Exemplo – Passo a Passo ... Exemplo – Passo a Passo Estágios em uma busca A* por Bucareste. Os nós estão rotulados f = g + h. Os valores de h são distâncias em linha reta para Bucareste. Busca Heurística Desempenho do A* A análise do caráter ótimo de A* é direta se for usada com BUSCA-EM-ÁRVORE: A* será ótima se h(n) for uma heurística admissível. Conseqüência mais importante da consistência (também chamada monotonicidade) é: A* usando BUSCA-EM-GRAFO é ótima se h(n) é consistente. Busca Heurística Desempenho do A* A* é completa e ótima se h(n) for admissível ou consistente • h admissível: nunca superestima o custo de atingir a meta • h consistente (ou monotônica): h(n) c(n,a,n’ ) h(n’ ) , n, n’ – n’ é sucessor de n, gerado pela ação a; – c(n,a,n’) é o custo de sair de n e atingir n’. – Se h é consistente, os valores de f(n) ao longo de qualquer caminho são não-decrescentes. Busca Heurística Desempenho do A* A* é otimamente eficiente: nenhum outro algoritmo ótimo garante expandir menos nós que A*. Infelizmente há, na maioria das vezes, crescimento exponencial do número de nós com o comprimento da solução (complexidade temporal). O maior problema é a complexidade espacial: A* armazena todos os nós gerados! Assim, A* não é aplicável em muitos problemas de grande escala. Usa-se variantes que encontram soluções subótimas. Busca Heurística Com Memória Limitada IDA* (Iterative Deepening A*) igual ao aprofundamento iterativo, porém seu limite é dado pela função de avaliação (f) , e não pela profundidade (d). necessita de menos memória do que A* SMA* (Simplified Memory-Bounded A*) O número de nós guardados em memória é fixado previamente. Busca Heurística Solução de problemas usando técnicas de busca heurística: Função de avaliação: compromisso (conflito) entre dificuldades em definir e usar a função de avaliação não consideram conhecimento genérico do mundo (ou “senso comum”) tempo gasto na seleção de um nó e redução do espaço de busca Achar o melhor nó a ser expandido a cada passo pode ser tão difícil quanto o problema da busca em geral.