Sie sind auf Seite 1von 30

Planeacin y bsqueda

Programacin de Sistemas Adaptativos


Unidad 3: Sistemas inteligentes

Motivacional

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Contenidos

Formulacin de problemas Bsqueda

Bsqueda sin informacin

DFS y BFS Avariciosa

Bsqueda con informacin

Planeacin

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Juego: misioneros y canbales

Se tienen tres misioneros y tres canbales; se desea cruzarlos al otro lado del ro.

MMM CCC

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Juego: misioneros y canbales

Se cuenta con un bote que soporta dos personas mximo. Si los canbales superan en nmero a los misioneros, se los comen (!). Por tanto, movimientos que propicien esta situacin son invlidos. Considera que el bote no se maneja solo.

http://www.matematicasbachiller.com/juegos/misioneros.html Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Resuelve el juego.

Reflexin:

Qu estrategia seguiste? Cmo haras un programa que solucione automticamente el juego?

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Resolucin de problemas

Se trata de encontrar una configuracin meta

o la serie de pasos que llevan a ella.

Proceso: formularbuscarejecutar
Ejecucin
Problema

Bsqueda

Formulacin Solucin
7 Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Formulacin de problemas

Componentes

Estado inicial configuracin de inicio


Espacio de estados estados (configuraciones)

Funcin de sucesin cmo pasar de un estado a otro

acciones + modelo de transicin

Meta estado deseado Costo de seguir una ruta de estados


Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Problema de las n-reinas

Se trata de acomodar n reinas en un tablero de ajedrez de n x n.


SIN que se ataquen. Por ejemplo, la instancia de 4 reinas considera poner 4 reinas en un tablero de 4 x 4.
R R R R R R R

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Formulacin n-reinas

Estado inicial

Tablero vaco

Estados

Configuraciones de 0 a n reinas en el tablero

Funcin de sucesin

Agregar una reina al tablero

Meta

10

N reinas en el tablero que no se atacan


Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Deslizamiento de bloques

Cuadrcula de n x n

n-1 piezas espacio

5
8 3

6
1

Las piezas estn desordenadas.


1 2 5 8

Se deben mover para armar una configuracin deseada.


11 Programacin de Sistemas Adaptativos: Planeacin y bsqueda

3 6

4 7

Formulacin para deslizamiento de bloques

Estado inicial

Piezas desordenadas (cualquier configuracin que no sea la meta)

Espacio de estados

Permutaciones de m piezas y un espacio en blanco.

Funcin de sucesin

Se mueve el espacio en una direccin: arriba, abajo, derecha, izquierda.


1 4 7 2 5 8 3 6

Meta

12

Configuracin indicada (existen diferentes opciones).


Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Ejercicio

Realiza una formulacin para los siguientes problemas:


Misioneros y canbales Cubo de Rubik Ruta MonterreyMxico, D.F.

Menciona un problema que pueda resolverse mediante formulacin y bsqueda.

13

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Bsqueda

Representamos el espacio de estados como un rbol. Aplicamos una estrategia de bsqueda.

Define un orden de expansin de nodos.


Raz = estado inicial

Hijos de un nodo= estados a los que se llega desde el nodo


14 Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Estrategias de bsqueda

Sin informacin

Slo se tiene la formulacin del problema. Primero profundidad (DFS) Primero anchura (BFS)

Con informacin

Se tiene informacin especfica del problema. Indicios de dnde buscar. Ejemplo: qu tan lejos estamos de la meta? Avariciosa, A*, heursticas

15

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Bsqueda sin informacin

Slo se tiene la formulacin del problema Aplicamos bsqueda en anchura o profundidad. Este tipo de bsqueda es el ms genrico.

Por tanto, puede ser ineficiente.

16

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

x
Es meta? No Expandir. Seguimos preguntando

Es meta? S = terminar No = expandir

y
Hoja

b q

m w

Llegamos a la meta!

x
Es meta? No Expandir. Seguimos preguntando

Es meta? S = terminar No = expandir

Es meta? No Expandir.

z
s

e
v f

Es meta? No Expandir.

u o

y
Hoja

b q

m n w t

Llegamos a la meta!

Ejemplo (AIMA p. 63)


Oradea Neamt Zerind Sibiu Arad Rimnicu Vilcea Urziceni Timisoara Lugoj Inicio Mehadia Giurgiu Pitesti Hirsova Bucarest Vaslui Fagaras Iasi

Dobreta
19

Craiova
Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Meta

Eforie

Arad Timisoara Lugoj Arad Timisoara Sibiu Zerind

Mehadi a
Dobreta Craiova Rimnicu Craiova

Lugoj Mehadi a Dobreta Sibiu Bucares t Rimnicu

Pitesti Giurgiu

20 Bucares t

Pitesti

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Arad Timisoara Sibiu Zerind

Lugoj Mehadi a Dobreta

Arad

Rimnicu Craiov a Rimnicu

Fagaras Sibi u

Oradea Sibi u

Arad

Oradea

Arad

Tim.

Pitesti

Bucares t

Zer.

Arad Zer. Arad

Lugoj

Dobreta Giurgiu Bucares t

Rimnicu

21

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Bsqueda con informacin

Se obtiene informacin del contexto. Se utilizan heursticas. Un tipo es la bsqueda avariciosa (greedy best first search)

Expande primero los nodos que aparecen ms cercanos a la meta.

Otros tipos: best-first, A*

22

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Tabla de distancias hacia Bucarest


Arad Bucarest Craiova Dobreta Eforie Fagaras Giurgiu Hirsova Iasi 366 0 160 242 161 176 77 151 226 Mehadia Neamt Oradea Pitesti Rimnicu V. Sibiu Timisoara Urziceni Vaslui 241 234 380 100 193 253 329 80 199

Lugoj

244

Zerind

374

23

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Arad 36 6

Zerind

37 4

25 3 Sibiu

32 9 Timisoara

38 0 Oradea

17 6 Fagaras

19 3 Rimnicu V.

36 6 Arad

25 3 Sibiu

0 Bucarest
Programacin de Sistemas Adaptativos: Planeacin y bsqueda

24

4-reinas (fs: poner en rengln diferente)


[ ]

[ (1, 1) ]

[ (1, 2) ]

[ (1, 3) ] [ (2, 3) ]

[ (1, 4) ]

[ (2, 1) ]

[ (2, 2) ]

[ (2, 1) ]

[ (2, 2) ]

25

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Ejercicio

Resuelve el problema de misioneros y canbales.

Aplica una estrategia no informada.

Qu informacin podra utilizarse para resolver el problema de deslizamiento de bloques con bsqueda avariciosa?

26

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Planeacin

Obtener una secuencia de acciones para alcanzar una meta.

Ejemplo

Meta: Ponerse los zapatos Plan:

1.- Ponerse el calcetn izquierdo 2.- Ponerse el calcetn derecho 3.- Ponerse el zapato izquierdo 4.- Ponerse el zapato derecho

Lenguaje STRIPS

27

Lgica Acciones, precondiciones, consecuencias


Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Toma, chango, tu banana


Acciones disponibles: Ir de un lugar a otro Empujar un objeto de un lugar a otro Subir a un objeto Bajar de un objeto Tomar un objeto Qu acciones debe realizar el mono para tener los pltanos?

Caja

28

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Preguntas de repaso

Componentes de un problema? Bsqueda sin informacin? Bsqueda con informacin? Planeacin?

29

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Referencias

Neapolitan, Richard y Kumarss Naimipour . Foundations of Algorithms Using C++ Pseudocode. Jones and Bartlett Publishers, Massachusetts, 1998. 2da. edicin.

Russell, Stuart y Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, New Jersey, 2003, 2 ed.

30

Programacin de Sistemas Adaptativos: Planeacin y bsqueda

Das könnte Ihnen auch gefallen