• Nenhum resultado encontrado

Métodos de busca em inteligência artificial

N/A
N/A
Protected

Academic year: 2021

Share "Métodos de busca em inteligência artificial"

Copied!
9
0
0

Texto

(1)

Métodos de busca em inteligência artificial

1.1

Etapas na resolução de problemas

A resolução de um problema complexo exige o uso de estrátegias baseadas em decomposição que por sua vez gera uma árvore de tarefas.

Etapas:

a) Decomposição

Consiste na divisão do problema em subtarfeas, sendo as tarefas inferiores as mais simples de resolver. Esta etapa origina uma árvore de tarefas. (top-down).

b) Resolução

Consiste no processamento daquelas tarefas que não geram subtarefas. Pela complexidade da tarefa original, normalmente tem-se diversas tarefas e consequentemente um grande número de procedimentos, alguns de natureza simbólica e outros de natureza numérica.

Um outro problema nesta etapa é o planejamento na resolução das tarefas porque os resultados do processamento de uma tarefa influencia no processamento de outra. O planejamento da sequência de resolução pode requerir heurísticas para direcionar o sequenciamento ou inclusive processar as tarefas de forma cooperativa.

c) Integração

Processa a combinação dos resultados gerados no processamento de tarefas de um nível dado a fim de resolver as tarefas do nível superior imediato. (bottom-up).

Exemplo:

Decomposição para o projeto de um motor elétrico

Figura 2.1 Diagrama esquemático da decomposição de tarefas para o projeto de um motor elétrico.

1.2

Resolução de problemas por busca heurística

(2)

• Representação do problema em seu espaço de estados.

Exemplo: Em um sistema dinâmico pode considerarse como espaço de estados: posições, velocidades, etc.; não devem ser redundantes.

o Caso de agentes: formulação da meta formulação do problema busca solução, execução • Formulando problemas

o Conhecimento e tipos de problemas

Problemas de um único estado. Exemplo: sensor completo. Problemas de vários estados. Exemplo: sensor incompleto.

Problemas de contingências. Exemplo: sensando durante execução. Busca y execução.

Problemas de exploração.

• Problemas bem definidos e soluções Problema:

é um conjunto de informação que o agente usará para decidir o que fazer. Os elementos básicos na definição de um problema são os estados e as ações. Para capturá-los formalmente precisa-se o seguinte:

 Estado inicial.

 Conjunto de ações possíveis disponíveis ao agente. O térmo "operador" denota a descrição de uma ação em termos de que estado será alcançado ao realizar a ação em um estado particular.

Uma formulação alternativa usa uma função sucessor S. Dado um estado x, S(s) devolve o conjunto de estados alcançaveis desde x por qualquer única ação.

O estado inicial mais os operadores definem o espaço de estados do problema, o qual se define como o conjunto de todos os estados alcançaveis desde o estado inicial por qualquer sequência de ações. Uma trajetória (path) ou caminho no espaço de estados é simplesmente qualquer sequência de ações que levan de um estado a outro. O próximo elemento de um problema é:

 O teste da meta que o agente pode aplicar a uma descrição de um único estado para determinar si é um estado meta. Ás vezes há um conjunto explícito de possíveis estados meta e o teste da meta somente verifica se foi alcançado um deles. Em outros casos a meta é especificada por uma propriedade abstrata

(3)

em lugar de um conjunto de estados explicitamente enumerados. Exemplo: o xadrez, em que se pretende alcançar o estado de xeque-mate.

Pode acontecer que uma soluçãoseja preferível a outra, embora ambos consigam a meta.

 Uma função custo da trajetória a qual asigna um custo a uma trajetória. O custo de uma trajetória é a soma dos custos das ações individuais ao longo da trajetória.

Definição de um problema -->

Estado inicial Conjunto de operadores

Teste da meta Função custo da trajetória

Exemplo:

Dirigir um carro de uma cidade a outra cidade "z" em um mapa estado inicial = uma das cidades do mapa

teste da meta = é esta a cidade z ?

operadores = dirigir ao longo das vías entre as cidades

O processo de retirar ou sacar algum detalhe de uma representação denomina-se abstração.

1.2.1

Problemas exemplos (Resolução de problemas por busca heurística)

Problemas simples (toy problems).

o 8 puzzle (ordenamento de um quadrado mágico). Estados: localização em cada um dos 9 quadradinhos. Operadores: movimentar a direita, esquerda, acima, abaixo. Teste da meta: estado que alcança ordenamento desejado. Custo da trajetória: cada passo custa 1.

4

1

7

5

6

3

2

8

O problema dos blocos deslizantes (sliding block puzzles) é um problema de classe NP-complete.

(4)

Primeira alternativa:

Teste da meta: estão as 8 damas colocadas no tabuleiro e nenhuma é atacada por outra ?

Custo da trajetória: zero.

Estados: qualquer arranjo (array) de 0 a 8 damas no tabuleiro. Operadores: acrescentar uma dama a qualquer quadrado.

Segundo essa formulação tem-se 648 sequências possíveis para pesquisar.

Segunda alternativa: considera somente 2057 sequências possíveis, se:

Teste da meta: estão as 8 damas colocadas no tabuleiro e nenhuma é atacada por outra ?

Custo da trajetória: zero.

Estados: qualquer arranjo (array) de 0 a 8 damas no tabuleiro sem nenhuma atacada.

Operadores: colocar uma dama na coluna vazía à esquerda de modo que não seja atacada por nenhuma outra.

o Problema dos canibais e exploradores

03 exploradores e 03 canibais desejam atravessar um rio utilizando um pequeno barco a motor o cual somente pode ser dirigido por um dos exploradores ou pelo chefe dos canibais. Si no barco somente cabem duas pessoas e além disso sabe-se que quando o número de canibais é superior ao de exploradores, estes são devorados por aqueles, qual será a sequência de viagens que permita que os 06 passen no outro lado do rio ?.

Estados: o estado inicial ==> (3, 3, 1) sendo: (3 exploradores, 3 canibais, 1 barco na beira inicial do rio)

Operadores: a partir de cada estado, os operadores pegam um explorador, etc. Teste da meta: (0, 0, 0)

(5)

Problemas do mundo real

o Encontrar rotas (route finding):

Redes de computadores, planejamento de linhas aéreas, planejamento de redes elétricas, etc.

o Turismo e o problema do caixeiro viajante (travelling salesperson).

Problema de visitar um certo número de cidades, cada uma somente uma vez, porém gastando o mínimo possível e finalizar quando a pessoa retorna ao início.

o VLSI layout:

Cell layout e Channel layout, que são as tarefas mais difíceis no projeto de chips de silício.

o Navegação (locomoção) de robôs:

É um problema similar ao de encontrar rotas mas não é discreto, é um problema em um espaço contínuo.

o Sequenciamento de tarefas em assembling:

Exemplos: fabricação de carros, aviões, motores elétricos, etc.

1.2.2

Busca de soluções

Anteriormente foi mencionado:

• Como definir um problema

(6)

A parte restante consiste em:

• Encontrar uma solução: é feita mediante uma busca no espaço de estados. A idéia básica é manter e estender um conjunto de sequências de soluções parciais. Como gerar estas sequências e como manter as pegadas (caminho) delas ? -> usando estruturas de datos factíveis.

Gerando sequências de ações

Exemplo:

O problema de encontrar a rota de Bogotá ao Rio de Janeiro.

Mapa simplificado de algumas cidades em América do Sul.

• Primeiro passo: verificar se o estado atual(inicial) é um estado meta.

• Segundo passo: se não é uma meta gera-se um novo conjunto de estados, isso denomina-se expansão do estado atual.

O processo de busca é a construção de uma árvore de busca que se superpõe ao espaço de estados. A raiz da árvore de busca é um nó de busca correspondente ao estado inicial. Os nós folhas são os estados que não tem sucessores na árvore, seja porque ainda não tem sido expandidos ou porque foram expandidos e geraram um conjunto vazio. Em cada passo o algoritmo de busca escolhe um nó folha para expandir.

Geralmente: espaço de estados <> árvore de busca.

(7)

Uma descrição do algoritmo de busca geral: datatype problema

components: estado_inicial, operador, teste_meta, custo_trajetoria

function Busca_general (problema, estrategia) Inicializa a árvore de busca usando o estado inicial de problema

loop do

if não há candidato para expansão then return falha

escolher um nó folha para expansão segundo à estrategia

if nó contem um estado meta then return solucao

else expandir o nó e acrescentar os nós restantes à árvore de busca

end

1.2.3

Estruturas de dados para árvores de busca

Há várias formas para representar os nós, por exemplo um nó é uma estrutura de dados com cinco componentes:

• estado = o estado no espaço de estados ao qual corresponde o nó

• node_pai = o nó que gerou o nó atual (nó filho, nó folha)

• operador = o operador que foi aplicado para gerar o nó

• profundidade = o número de nós (seguindo a trajetória atual) desde o nó raíz até o nó atual.

(8)

datatype node

components: estado, node_pai, operador,profundidade,

custo,_trajetoria

nós <> estados

nós = são estruturas de dados e possuem profundidades e pais;

estado = é uma configuração o conjunto de configurações do mundo;

expandir = função para calcular cada um dos componentes do nó que o gera; fronteira = coleção (conjunto) de nós que estão esperando ser expandidos; fila = representação usada para os nós, é melhor que um conjunto.

Operações sobre uma fila:

criar_fila (elementos) = cria uma fila com os elementos dados

vazio? (fila) = devolve verdadeiro somente se não há mais elementos na fila retirar_frente (fila) = retira o elemento na frente da fila e o devolve

fazendo_fila_fn (elementos, fila) = inserir um conjunto de elementos na fila. Diferentes variedades desta função produzem diferentes variedades do algoritmo de busca.

Assim, um algoritmo de busca geral:

function Busca_geral (problema, fazendo_fila_fn)

nodes <- criar_fila (criar_node (estado_inicial[ problema]

)

loop do

if nodes está vazío then return falha

node <- retirar_frente(nodes)

if teste_meta[problema] aplicado a estado(node) é bem sucedido then return node

nodes <- fazendo_fila_fn(nodes, expandir(node, operadores [problema]))

end

1.3

Estratégias de busca

Criterios para avaliar uma estratégia de busca:

(9)

• tempo de solução = quanto tempo leva encontrar uma solução ?

• memória utilizada = quanta memória é necessária para realizar a busca ?

• otimalidade = a estratégia encontra a solução de mais alta qualidade quando tem várias soluções diferentes ?

Tipos de estratégias de busca:

• Métodos de busca não informados

a) Busca em largura (Breadth-first search) b) Busca de custo uniforme

c) Busca em profundidade (Depth-first search) d) Busca limitada em profundidade

e) Busca iterativa em profundidade f) Busca bidirecional

g) Busca considerando satisfação de restrições

• Métodos de busca informados a) Busca do melhor-primeiro

 busca ávida

 busca A*

b) Métodos limitados por memória

 busca A* iterativa em profundidade

 busca A* simplificada limitada por memória c) Algoritmos de melhora iterativa

 método de subida à montanha (hill climbing)

 recozido simulado (simulated annealing)

 busca tabu

 busca paralela

Referências

PAUCAR, Prof.Dr.Leonardo; SAAVEDRA, Prof.Dr.Osvaldo. Métodos de busca em inteligência

artificial. Disponível em <http://www.dee.ufma.br/~lpaucar/teaching/ia2000-1/>. Acessado em: 08 de fev. de 2010. UFMA-DEE, São Luís-MA, Brasil.

Referências

Documentos relacionados

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Oncag, Tuncer &amp; Tosun (2005) Coca-Cola ® Sprite ® Saliva artificial Compósito não é referido no estudo 3 meses 3 vezes por dia durante 5 minutos Avaliar o efeito de

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

Essa revista é organizada pela Sociedade Brasileira de Planejamento Energético (SBPE) e por isso foram selecionados trabalhos que tinham como objetivo tratar a

introduzido por seus orifícios e daí se descarrega no difusor secundário e depois no difusor principal, e a seguir para o coletor de admissão e cilindros... 8-C