Você está na página 1de 47

DA EDUCAO Universidade FederalMINISTRIO de Ouro Preto - UFOP Universidade Federal de Ouro Preto UFOP Instituto de Cincias e Aplicadas InstitutoExatas

s de Cincias Exatas e Aplicadas Campus Joo Monlevade Campus Joo Monlevade 1

PLANO DE TRABALHO ANO: 2012 SEMESTRE: 01


Professor Ano/Semestre

Flvio Vincius Cruzeiro Martins


Departamento/Unidade Data da Ultima Atualizao

2012/1 23/02/2012 40

Administrativo

02

30 8 00 Inteligncia Artificial Quadro Resumo Aula 03


Ensino Pesquisa Extenso

DECEA-JM / ICEA

Carga Horria Total:

07:30/08:00 08:00/09:00 09:00/10:00 10:00/11:00 11:00/12:00

SEGUNDA TERCApor meio QUARTA QUINTA Resoluo de Problemas de Busca

SEXTA

SABADO

Busca sem Informao


Atendimento SEGUNDA Atendimento Atendimento Atendimento CEA518 CEA518 TERCA Atendimento Atendimento Atendimento Atendimento Atendimento QUARTA Adm Adm CEA518 CEA518 QUINTA PREP_AULA PREP_AULA PREP_AULA PREP_AULA PREP_AULA QUINTA Otim. RSSF Otim. RSSF Otim. RSSF SEXTA PREP_AULA PREP_AULA Otim. RSSF Otim. RSSF SEXTA Otim.Energ. SABADO SABADO

13:00/14:00 14:00/15:00 15:00/16:00 16:00/17:00 17:00/18:00

18:10/19:00 19:00/19:50 19:50/20:40 21:00/21:50 21:50/22:40

a Isabel TERCA Prof. Gomes Barbosa SEGUNDA QUARTA Atendimento Atendimento isabel@decea.ufop.br

CEA457 CEA457 CEA472 CEA472

CEA472 CEA472 CEA457 CEA457

Otim.Rot.V Otim.Rot.V

Aprovado pela Assemblia do DECEA DATA: __/__/___ (____ Reunio)

Formulrio verso 02 de

05/04/2004

Agente de Resoluo de Problemas

Agentes de resoluo de problemas

Tipo de agente baseado em objetivos. Decidem o que fazer encontrando seqncias de aes que levam a estados desejveis.

Devem maximizar sua medida de desempenho.

Soluo de problemas requer

Definio do objetivo Formulao do problema Estratgia para achar a soluo

Agente de Resoluo de Problemas



Objetivo: representado por um conjunto de estados do mundo exatamente aqueles em que o objetivo alcanado. Aes: fazem o agente mudar de um estado para outro (transio de estados). Tarefa do agente: encontrar um conjunto de estados (de preferncia, o melhor) que o levem do estado inicial a um dos estados objetivos. necessrio decidir quais aes e estados precisam ser levados em considerao: abstrao.

Exemplo: Romnia
Example: Romania
Oradea

71
Zerind

Neamt

75
Arad

151

87
Iasi

140
Sibiu

118
Timisoara

99

Fagaras

92
Vaslui

80 Rimnicu Vilcea
Pitesti

111 70

Lugoj Mehadia

97 146

211

142 98
Urziceni

101 138

85

Hirsova

75
Dobreta

120
Craiova

Bucharest

86

90
Giurgiu

Eforie

Chapter 3

Exemplo: Frias na Romnia


Agente est em frias a Romnia, atualmente na cidade de Arad. Passagem de volta saindo de Bucareste. Vo para Bucareste sai amanh.

Objetivo: estar em Bucareste Estados: conjunto de cidades Aes: dirigir de uma cidade para outra Soluo: seqncia de cidades.

Exemplo: Arad,Sibiu,Fagaras,Bucarest.

Resoluo de Problemas por Busca



Para atingir um mesmo objetivo, um agente pode executar diferentes seqncias de aes. O processo de procurar por uma dessas seqncias chamado de busca. O agente deve executar as seguintes etapas:

Formular o problema e o objetivo.

Quais so os estados e as aes a considerar? Qual (e como representar) o objetivo?

Realizar uma busca para encontrar a seqncia de aes que levem ao objetivo. Executar a seqncia de aes encontradas.

Resoluo de Problemas por Busca

Formular

Buscar

Executar

Agente de Resoluo de Problemas


Problem-solving agents
Restricted form of general agent:
function Simple-Problem-Solving-Agent( percept) returns an action static: seq, an action sequence, initially empty state, some description of the current world state goal, a goal, initially null problem, a problem formulation state Update-State(state, percept) if seq is empty then goal Formulate-Goal(state) problem Formulate-Problem(state, goal) seq Search( problem) action Recommendation(seq, state) seq Remainder(seq, state) return action

Note: this is oine problem solving; solution executed eyes closed. Online problem solving involves acting without complete knowledge.
Chapter 3 4

Agente de Resoluo de Problemas

O algoritmo AGENTE-DE RESOLUO-DE-PROBLEMAS-SIMPLES foi projetado para ambientes estticos, no sendo capaz de prever mudanas no ambiente. necessrio que o estado inicial seja completamente observvel e que o ambiente seja discreto e determinstico. Para ambiente mais complexos, no ser otimamente eficiente. Existem algoritmos mais eficientes para esses casos. Assim, um agente de resoluo de problemas simples supe que o ambiente esttico, observvel, discreto e determinstico.

Formulao do Problema

Um problema pode ser definido formalmente por quatro componentes: 1. Estado inicial do problema

Estado em que o agente comea.

2. Descrio das aes possveis

Formulao mais comum: funo sucessor:

Recebem um estado como entrada e retornam pares <ao, estado>. Estado x: SUCESSOR(x) retorna o par <estado,ao> Estado inicial e funo sucessor: definem o espao de estados do problema.

3. Teste do objetivo

Determina se um estado um estado objetivo.

4. Funo custo de caminho


Atribui um custo numrico a cada caminho.

10

Espao de Estados

O conjunto de todos os estados acessveis a partir de um estado inicial chamado de espao de estados. Os estados acessveis so aqueles dados pela funo sucessor. O espao de estados pode ser interpretado como um grafo:

ns denotam estados arcos denotam aes (transies entre estados)

Uma seqncia de estados conectados por aes em um espao de estados denomina-se um caminho no espao de estados.

11

Selecionando um Espao de Estados



O mundo real muito complexo. A formulao de um problema requer abstrao para eliminar detalhes irrelevantes do mundo real, de modo a se definir um espao de estados que possa ser explorado. O espao de estados uma abstrao.

abstrao da representao do estado abstrao das aes e execuo de aes

Abstrao vlida: se qualquer soluo abstrata pode ser expandida em uma soluo mais detalhada; Abstrao til: se cada ao abstrata mais fcil de executar que o problema original.

12

Denio da Soluo

A soluo para um problema de busca uma seqncia de aes que, quando executadas pelo agente, transforma o estado inicial em um estado objetivo. Uma soluo uma seqncia de aes que levam do estado inicial para o estado objetivo. Soluo um caminho desde o estado inicial at o estado objetivo. Soluo tima: tem o menor custo de caminho dentre todas as solues existentes.

13

Exemplo: Aspirador de P

Estados: definidos pela posio do agente e presena de sujeira.

O agente pode estar em uma entre duas posies, cada uma das quais pode estar suja ou limpa. 2 x 22 = 8 estados possveis que podem estar sujos ou limpos.

Estado inicial: qualquer estado pode ser designado como estado inicial. Funo sucessor: gera os estados vlidos que resultam da execuo de uma das trs aes: esquerda, direita, aspirar. Teste do objetivo: verifica se todos os quadrados esto limpos. Custo de caminho: cada passo tem custo 1, e assim o custo do caminho o nmero de passos do caminho.

14

ple: vacuum world


1

Exemplo: Aspirador de P

lution??
2

15

Espao de Estados: Aspirador de P

Os arcos denotam aes: L (Esquerda), R (Direita) e S (Aspirar).

16

Exemplo: Quebra-cabea de 8 peas

Estados: especifica a posio de cada uma das oito peas e do espao vazio. Estado inicial: qualquer estado pode ser designado como estado inicial. Funo sucessor: gera os estados vlidos que resultam da tentativa de executar uma das quatro aes: o espao vazio se desloca para a esquerda, direita, acima ou abaixo. Custo de caminho: cada passo custo 1, e assim o custo do caminho o custo dos passo do caminho.

17

Exemplo: Problema das 8 Rainhas

Estados: qualquer disposio de 0 a 8 rainhas no tabuleiro. Estado inicial: nenhuma rainha no tabuleiro. Funo sucessor: colocar uma rainha em qualquer quadrado vazio. Teste de objetivo: 8 rainhas esto no tabuleiro de forma que nenhuma rainha ataque qualquer outra.

18

Exemplo: Viagem na Romncia


Exemplo:)Romnia)

Estados: conjunto de cidades. Estado inicial: Arad. Aes: dirigir de uma cidade para outra.
Aula)3)B)18/08/2010) 5)

Teste do objetivo: estar em Bucareste. Custo: distncia entre as cidades.

19

Busca no Espao de Estados

rvore de Busca

Construda com a aplicao da funo sucessor a partir do estado inicial. Pode ser muito maior que o espao de estados.

Raiz da rvore: n correspondente ao estado inicial. Expanso de um n: aplicao da funo sucessor quele n. A deciso de qual n expandir define a estratgia de busca. Borda (fringer): coleo de ns que foram gerados mas ainda no expandidos.

20

Busca no Espao de Estados



Borda (fringer): ns gerados mas no expandidos. Representao: conjunto de ns Estrutura de dados: fila (queue):

FIFO: first-in, first-out LIFO: last-in, first-out (stack) Priority borda

21

Busca no Espao de Estados



N estado Um estado uma representao de uma configurao fsica. Um n da rvore guarda vrias informaes:

Estado, Pai, Ao, Custo, Profundidade

22

Busca no Espao de Estados



rvore de busca no equivalente a espao de estados. H 20 estados no mapa da Romnia (espao de estados), mas infinitos caminhos a percorrer. Logo, neste caso, a rvore de busca tem tamanho infinito.

Caminho infinito: Arad-Sibiu-Arad-Sibiu-Arad ...

23

Algoritmo Busca em rvore - Descrio Informal


Tree search algorithms
Basic idea: oine, simulated exploration of state space by generating successors of already-explored states (a.k.a. expanding states)
function Tree-Search( problem, strategy) returns a solution, or failure initialize the search tree using the initial state of problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end

Chapter 3

25

24

Algoritmo Geral de Busca em rvore


Implementation: general tree search
function Tree-Search( problem, fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) loop do if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test(problem, State(node)) then return node fringe InsertAll(Expand(node, problem), fringe) function Expand( node, problem) returns a set of nodes successors the empty set for each action, result in Successor-Fn(problem, State[node]) do s a new Node Parent-Node[s] node; Action[s] action; State[s] result Path-Cost[s] Path-Cost[node] + Step-Cost(node, action, s) Depth[s] Depth[node] + 1 add s to successors return successors

Chapter 3

30

25

Estratgia de Busca

Especifica em que ordem devemos visitar os ns da rvore de busca para achar uma soluo. Uma estratgia de busca definida pela escolha da ordem de expanso dos ns. As principais estratgias de busca podem ser divididas em dois grupos:

Busca sem informao: utiliza apenas a informao disponvel no problema. Busca com informao: utiliza conhecimento especfico do problema, alm da prpria definio do problema.

26

Estratgias de Busca
Estratgias so avaliadas de acordo com os seguintes critrios: Completeza: o algoritmo sempre encontra a soluo se ela existir. Otimizao: a soluo encontrada a de menor custo. Complexidade de Espao e Tempo

complexidade de tempo: nmero de ns gerados. complexidade de espao: nmero mximo de ns na memria.

Complexidade de espao e de tempo so medidas em


d: profundidade da soluo mais rasa.

termos de:

b: fator de ramificao (nmero mximo de sucessores de qualquer n).

m: comprimento mximo de qualquer caminho no espao de estados (pode ser infinito).

27

Estratgias de Busca sem Informao



Busca em Largura Busca de Custo Uniforme Busca em Profundidade Busca em Profundidade Limitada Aprofundamento Iterativo

28

Busca em Largura (BFS)



Expande a raiz, depois os sucessores da raiz, depois os sucessores dos sucessores... Expande o n mais raso ainda no expandido. FIFO

29

Busca em Largura (BFS)

30

Busca em Largura (BFS)

31

Agentes Racionais

32

Busca em Largura

Completa: sim. tima: sim

Considerando que o custo de caminho uma funo no decrescente da profundidade do n. Por exemplo, quando todas as aes tiverem o mesmo custo.

Considerando fator de ramificao b, soluo no nvel d

Tempo: 1+b+b2+b3+... + bd+(bd+1-b) = O(bd+1) Espao: O(bd+1) (mantm todos os ns na memria) Espao mais problemtico que o tempo.

33

Busca de Custo Uniforme



tima para qualquer custo de passo. Semelhante Busca em Largura, mas expande o n de menor custo de caminho. No se importa com o nmero de passos que um caminho tem, mas com o seu custo total. Completa (se cada passo tem um custo maior ou igual que uma constante positiva ). Idntica Busca em Largura, se todos os custos de passos forem iguais.

34

Busca em Profundidade (DFS)



Expande o n mais profundo.

Depth-rst A busca prossegue imediatamente atsearch o nvel mais profundo da rvore de busca, onde os ns no tem sucessores.
LIFO

Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
A B D H I J E K L F M N C G O

35

Busca em Profundidade (DFS)


Depth-rst search
Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
A B D H I J E K L F M N C G O

Chapter 3

44

36

Busca em Profundidade (DFS)


Depth-rst search
Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
A B D H I J E K L F M N C G O

Chapter 3

45

37

Busca em Profundidade (DFS)


Depth-rst search
Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
A B D H I J E K L F M N C G O

Chapter 3

46

38

Busca em Profundidade (DFS)


Depth-rst search
Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
A B D H I J E K L F M N C G O

Chapter 3

47

39

Busca em Profundidade (DFS)


Depth-rst search
Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
A B D H I J E K L F M N C G O

Chapter 3

48

40

Busca em Profundidade (DFS)

Completa: no

Falha com caminhos infinitos ou loops Modificado para evitar estados repetidos na trajetria

completo em espaos finitos

tima: no Complexidade

Considerando fator de ramificao b e m como a profundidade mxima Espao: O(bm), i.e., linear no espao Tempo: O(bm): pssimo se m for muito maior do que d

41

Busca em Profundidade Limitada



Idia: determinar uma profundidade mxima L, na qual a DFS deve parar. Interessante quando h um conhecimento maior sobre o espao de soluo. Completa: sim, se L d. tima: no

Espao: O(bL) Tempo: O(bL)

42

Aprofundamento Iterativo (IDS)

Faz repetidas buscas em profundidade, aumentando o limite a cada iterao.

Iterative deepening search l =


A

L=0

Limit = 0

L=1

L=2

43

Aprofundamento Iterativo (IDS)

L=3

44

Aprofundamento Iterativo (IDS)



Combina os benefcios da BFS e DFS. Completa e tima. No gasta muita memria. Repetio da expanso de estados.

No to ruim, pois a maior parte dos estados esto nos nveis mais baixos.

Nmero total de ns gerados: (d)b + (d-1)b2 + ... + (1)bd Complexidade de tempo: O(bd) Complexidade de espao: O(bd)

45

Comparao

46

Referncias
Livro texto da disciplina. http://homepages.dcc.ufmg.br/~chaimo/cursos/agentes/ http://homepages.dcc.ufmg.br/~nvieira/cursos/ia/gr/a01s2/material.html Material do professor Flvio Vincius Cruzeiro Martins.

47

Você também pode gostar