You are on page 1of 17

30/03/2012

Planeacin y bsqueda
Programacin de Sistemas Adaptativos
Unidad 3: Sistemas inteligentes

Contenidos
Formulacin de problemas
Repaso DFS y BFS
Bsqueda

Bsqueda sin informacin


Bsqueda con informacin

Planeacin

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

30/03/2012

Motivacional

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

30/03/2012

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

30/03/2012

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

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Formulacin de problemas
Se trata de encontrar una configuracin meta que
resuelva el problema.

O la serie de pasos que llevan a ella.

Componentes

Estado inicial

Espacio de estados

estado deseado

Costo

estados (configuraciones) + funcin de sucesin

Meta

configuracin de inicio

de seguir una ruta de estados


Programacin de Sistemas Adaptativos:
Planeacin y bsqueda

30/03/2012

Tipos de formulacin
Incremental

Se comienza con un estado vaco


Se van agregando elementos a los estados en cada nivel.
Ejemplo con n-reinas:

Estado inicial: tablero vaco


Se va agregando una reina por nivel

Completa

Cada estado contiene todos los elementos posibles.


Ejemplo con n-reinas:

N-reinas en el tablero
Cada nivel explora algn movimiento especfico

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Bsqueda sin informacin

Representamos el espacio de estados como un rbol.


Aplicamos bsqueda en anchura o profundidad.

Este tipo de bsqueda es el ms genrico.

10

Por tanto, puede ser ineficiente.

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

30/03/2012

x
a

e
s

m
n

v
f

u
o

x
a
y

b
q

z
m
w

e
t

v
f

u
o

30/03/2012

x
a
y

b
q

x
a
y

b
q

z
m

e
t

30/03/2012

Formulacin incremental para n-reinas

Estado inicial

Estados

Configuraciones de 0 a n reinas en el tablero

Funcin de sucesin

Tablero vaco

Agregar una reina al tablero

Meta

N reinas en el tablero que no se atacan

15

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

4-reinas (fs: poner en rengln diferente)


[ ]

[ (1, 1) ]

[ (1, 2) ]

[ (2, 1) ]

16

[ (2, 2) ]

[ (1, 3) ]

[ (1, 4) ]

[ (2, 1) ]

[ (2, 2) ]

[ (2, 3) ]

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

30/03/2012

Canbales y misioneros
({MMMCCC (B)}, {})

({MMMCC},
{C (B)})

({MMMC},
{CC (B)})

({MMCCC},
{M (B)})

({MMMCC
(B)}, {C})

({MMMCCC
(B)}, {})

({MCCC},
{MM (B)})

({MMCC},
{MC (B)})

Estado vlido
Estado invlido
Estado repetido

17

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Busquemos soluciones con

18

N-reinas
Canbales y misioneros

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

30/03/2012

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*

19

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Ejemplo (AIMA p. 63)


Oradea
Neamt
Zerind
Sibiu

Iasi

Fagaras

Arad
Vaslui

Rimnicu Vilcea
Timisoara

Hirsova

Lugoj

Bucarest

Mehadia
Dobreta
20

Urziceni

Pitesti

Giurgiu
Craiova

Eforie

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

10

30/03/2012

Tabla de distancias hacia Bucarest


Arad

366

Mehadia

241

Bucarest

Neamt

234

Craiova

160

Oradea

380

Dobreta

242

Pitesti

100

Eforie

161

Rimnicu V.

193

Fagaras

176

Sibiu

253

Giurgiu

77

Timisoara

329

Hirsova

151

Urziceni

80

Iasi

226

Vaslui

199

Lugoj

244

Zerind

374

21

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Arad
366
253

329

374

380
Oradea

Timisoara

Sibiu

Zerind

176
Fagaras

193
Rimnicu
V.

Sibiu

22

366
Arad

Bucarest

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

11

30/03/2012

Planeacin

Obtener una secuencia de acciones para alcanzar una


meta.

Planeacin clsica

Ambientes completamente observables, determinsticos, finitos


y estticos.

Formas de bsqueda

Hacia adelante (progresin)

Se aplican las acciones posibles hasta llegar a la meta.

Hacia atrs (regresin)

Se parte desde la meta hasta el estado inicial.

23

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Lenguaje STRIPS

STanford Research Institute Problem Solver


Utilizado para describir problemas de planeacin.

Describe lo siguiente:

Estados
Meta
Acciones

Cada accin va acompaada de precondiciones y


efectos.
Se hace uso de la lgica para describir el problema.
24

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

12

30/03/2012

Ejemplo zapatos

Una persona desea ponerse los zapatos. Se sabe que para


ello debe primero ponerse los calcetines.

Descripcin con STRIPS

Init()
Goal(ZapatoIzqPuesto ZapatoDerPuesto)

25

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Ejemplo zapatos

Action(ZapatoIzq, PRECOND: CalcetinIzqPuesto,


EFECTO: ZapatoIzqPuesto )

Action(CalcetinIzq, EFECTO: CalcetinIzqPuesto)

Action(ZapatoDer, PRECOND: CalcetinDerPuesto,


EFECTO: ZapatoDerPuesto )

Action(CalcetinDer, EFECTO: CalcetinDerPuesto)

26

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

13

30/03/2012

Ejemplo zapatos

Plan: [CalcetinIzq, CalcetinDer, ZapatoIzq, ZapatoDer]

Otro plan: [CalcetinIzq, ZapatoIzq, CalcetinDer,


ZapatoDer]

27

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Toma, chango, tu banana

Se tiene en un laboratorio a:

un mono (en un punto A)


un racimo de pltanos que cuelga del techo (en un punto B)
una caja que permitira al mono alcanzar los pltanos si se sube
en ella (en un punto C)

El mono y la caja tienen altura Baja, pero si el mono sube


a la caja, su altura cambia a Alta.

28

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

14

30/03/2012

Toma, chango, tu banana

Acciones:

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

29

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Mono con STRIPS


Init(En(A, Mono), En(B, Bananas), En(C, Caja), SinBananas)

Goal(ConBananas)
Action( Ir(x,y)
PRECOND: En(x, Mono)
EFFECT: En(x, Mono) En(y, Mono) )

30

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

15

30/03/2012

Action( EmpujarCaja(x, y)
PRECOND: En(x, Mono) En(x, Caja)
EFFECT: En(x, Mono) En(x, Caja) En(y, Mono) En(y,
Caja) )

Action( SubirACaja
PRECOND: En(x, Mono) En(x, Caja)
EFECTO: MonoBajo MonoAlto )
Action( TomarBananas
PRECOND: MonoAlto En(B, Mono)
EFECTO: SinBananas ConBananas
31

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

Resumen

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

32

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

16

30/03/2012

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.

33

Programacin de Sistemas Adaptativos:


Planeacin y bsqueda

17

You might also like