Professional Documents
Culture Documents
PROYECTO FINAL
IA Y RESOLUCIN DE PROBLEMAS
EJEMPLO DE UN PROBLEMA SENCILLO: Juan tiene 5 caramelos. De camino a casa pierde 1 caramelo que cae del bolsillo. Cuando sube las escaleras de su portal pierde de nuevo otro caramelo. Finalmente al llegar encuentra 3 caramelos. Cuntos caramelos tiene?
Qu objetivo en el problema 2?
PROBLEMA 1
PROBLEMA 2
Convertido en tabla
Si tomamos todas las combinaciones posibles tendramos: 5! Opciones = 120 Con 7 ciudades: 7! = 3 628, 800
2500000
2000000
1500000
1000000
500000
0 1 2 3 4 5 6 7 8 9 10
Cuntas son?
Para este tipo de problemas en vez de fuerza bruta utilizaremos tcnicas de IA, que son algoritmos de bsquedas (en amplitud, profundidad, primero anchura, entre otros). Utilizaremos la clase rbol hecha en Python para todos los algoritmos
BSQUEDA
En forma general las tcnicas de bsqueda pretenden encontrar una solucin vlida dentro del espacio de estados. Se pueden aplicar dos tipos de bsqueda: 1. Bsqueda No Informada o A ciegas (no se tiene informacin que ayude a guiar la bsqueda) 2. Bsqueda Informada (se tiene informacin que ayuda a guiar la bsqueda)
Un estado inicial puede ser cualquier ordenacin posible de las cuatro piezas. En cuanto al espacio de estados, un estado puede ser cualquier Ordenacin posible de las cuatro piezas.
Una operacin bsica que nos permite generarlos es intercambiar dos piezas continuas. Para el caso del puzle de 4 piezas tendramos 3 operaciones posibles: 1. Intercambiar dos piezas de la derecha: operacin D 2. Intercambiar dos piezas de la izquierda: operacin I 3. Intercambiar dos piezas centrales: C
RBOL DE ESTADOS
3 1 2 4 1 3 1 2 4 3 2 4 2 3 1 4 3 2 1 4 3 1 4 2
1 2 3 4
1 3 4 2
3 1 2 4
3 2 4 1
13 4 2 3 2 14 3 1 2 4
NODO. Cada uno de los estados HIJOS. Nodos resultantes al aplicar los operadores HERMANOS: Nodos hijos del mismo padre NODO RAZ. Es el nico que no tiene padre HOJA. Nodo que no tiene hijos RAMA. Tiene padre y al menos un hijo
RBOL DE ESTADOS
3 1 2 4 1 3 1 2 4 3 2 4 2 3 1 4 3 2 1 4 3 1 4 2
1 2 3 4
1 3 4 2
3 1 2 4
3 2 4 1
13 4 2 3 2 14 3 1 2 4
Cada vez que se aplica una operacin se dice que: hemos descendido un nivel
BSQUEDA EN AMPLITUD
Primero se visita al nodo raz Seguidamente a todos sus hijos Para cada hijo se visitan todos sus hijos
1