Anda di halaman 1dari 51

CAPITULO 3

BUSQUEDA NO INFORMADA

Universidad Nacional de San Antonio Abad del Cusco


Departamento Acadmico de Informtica
Ing. Luis Palma

Ing. Luis Palma Inteligencia Artificial


RESOLUCIN DE PROBLEMAS

La principal capacidad del hombre es resolver problemas,


y para ello:

Analiza los elementos esenciales del problema.

Identifica las acciones necesarias para resolver el


problema.

Y determina la estrategia ms acertada para atacarlos.

Ing. Luis Palma Inteligencia Artificial


ELEMENTOS DE UN PROBLEMA

Un punto de partida: Caractersticas que definen el


problema

Un objetivo que alcanzar: Que queremos obtener

Acciones a nuestra disposicin: De qu herramientas


disponemos para manipular los elementos del problema

Restricciones sobre el objetivo: Qu caractersticas debe


tener la solucin

Ing. Luis Palma Inteligencia Artificial


ESPACIO DE ESTADOS

1. Estado: Representacin de los elementos que describe el


problema en un momento dado.
Se distinguen el estado inicial (punto de partida), y el estado final
(objetivo del problema)

2. Operador: Un operador es una funcin de


transformacin que convierte un estado en otro estado.
Los operadores definen una relacin de accesibilidad entre
estados:

Ing. Luis Palma Inteligencia Artificial


ESPACIO DE ESTADOS

3. Espacio de Estados: todo el conjunto de estados posibles


y su relacin de accesibilidad conforman lo que
denominados el espacio de estados. Este representa todos
los caminos que hay entre los estados posibles de un
problema.

4. Solucin: la solucin podemos definir de 2 maneras:


Secuencia de pasos que llevan del estado inicial al final.
Estado final del problema
Existen problemas en el que el objetivo del problema es determinar la
secuencia de operadores, y existen otros problemas en el que el
objetivo es encontrar el estado solucin (sin importar la secuencia de
operadores).

Ing. Luis Palma Inteligencia Artificial


Ejemplo: MICHI

Estado Inicial Estado Final


Espacio de estados

Operadores: Juegas dos jugadores intercaladamente, Primero juegan las X, luego las O,
marcando cada uno X u O respectivamente

Solucin: el juego termina si una de los jugadores forma una lnea de 3 X 3 O,


Tambin terminan cuando empatan (no existe casilleros donde marcar y ninguno formo
una lnea de 3 X 3 O)
Ing. Luis Palma Inteligencia Artificial
LLAVE PERDIDA

Imagine que se ha perdido la llave del carro en alguna


habitacin del departamento.

Ing. Luis Palma Inteligencia Artificial


LLAVE PERDIDA

Estado inicial: La persona que busca se encuentra en la


puerta de entrada, recin dar inicio a la bsqueda.
Estado final: La persona ha encontrado la llave en alguna
habitacin.
Operadores: Buscar en un habitacin si no encuentra pasar
a otra habitacin.
Espacio de estados: Persona ubicada en algn ambiente
del departamento buscando la llave.
Solucin: En que habitacin se encuentra la llave, no
interesa conocer por que habitaciones realiz la bsqueda.

Ing. Luis Palma Inteligencia Artificial


EJEMPLO 8 PUZZLE

El 8 puzzle es un problema que consiste en un tablero de 9


posiciones dispuestos como una matriz de 3x3 en el que
hay 8 posiciones ocupadas por fichas numeradas del 1 al 8
y una posicin vaca. Las fichas se pueden mover ocupando
la posicin vaca, si la tiene adyacente. El objetivo es partir
de una posicin cualquiera de las fichas, para obtener una
disposicin de stas en el orden especfico. Tal como
muestra la figura:

Ing. Luis Palma Inteligencia Artificial


EJEMPLO 8 PUZZLE

Estado inicial: cualquier configuracin de 8 fichas en el


tablero.
Estado final: configuracin especfica de 8 fichas en el
tablero.
Operadores: mover hueco vertical u horizontalmente.
Espacio de estados: configuraciones de 8 fichas en el
tablero, enumeradas del 1 al 8.
Solucin: secuencia de movimientos que debe realizarse
para llegar del estado inicial al estado final (posiblemente
nos interesa la solucin con el menor nmero de pasos).

Ing. Luis Palma Inteligencia Artificial


EJEMPLO - N REINAS

El problema de la N reinas consiste en colocar N reinas en


un tablero de ajedrez de N x N de manera que NO se
ataquen entre si. En la figura tenemos la solucin para un
problema de 8 reinas

Ing. Luis Palma Inteligencia Artificial


EJEMPLO N REINAS

Estado inicial: configuracin sin reinas en el tablero.


Estado final: configuracin con N reinas en el tablero, en la
que ningn par de reinas se ataca entre si.
Operadores: colocar las reinas en una fila y columna.
Espacio de estados: configuraciones de 0 a N reinas en el
tablero de N x N de tamao con slo una reina por fila y
columna.
Solucin: disposicin de N reinas que no se atacan entre;
solo interesa una solucin no interesa los pasos.

Ing. Luis Palma Inteligencia Artificial


EJEMPLO - BLOQUES

Se tiene N bloques, el juego consiste en colocar los N


bloques en cierto orden uno sobre otro (apilados), para ello
el jugador solo debe coger un bloque por vez y puede
colocar en la mesa o sobre otro bloque libre.

Ing. Luis Palma Inteligencia Artificial


EJEMPLO BLOQUES

Estado inicial: configuracin de N bloques en uno o mas


apilados en cualquier secuencia de bloques.
Estado final: configuracin de N bloques en una secuencia
especfica.
Operadores: Situar solo un bloque sobre otro bloque o
sobre la mesa
Espacio de estados: configuraciones de los N bloques en
uno o varios apilamientos y en orden cualquiera.
Solucin: Interesa conocer la secuencia de movidas para
llegar del estado inicial al final.

Ing. Luis Palma Inteligencia Artificial


EJEMPLO ROBOT CAMINANTE

El problema consiste en que un robot se desplace de una


coordenada origen a otra coordenada objetivo en un paisaje,
bidimensional con obstculos (ejemplo el juego de age of
emperies).

Ing. Luis Palma Inteligencia Artificial


EJEMPLO NAVEGACION

Espacio de estados: conjunto de coordenadas en las que


puede estar el robot en cualquier en el paisaje bidimensional
con obstculos.
Estado inicial: robot en cualquier coordenada del paisaje
con obstculos.
Estado final: robot en la coordenada objetivo del paisaje.
Operadores: El robot puede moverse en 4 direcciones, pero
no puede moverse por encima de obstculos.
Solucin: Interesa conocer la ruta por la que se desplaza
desde la coordenada origen a la coordenada destino.

Ing. Luis Palma Inteligencia Artificial


EJERCICIO PRCTICO: Identificar y completar
los elementos de los problemas

Estado Inicial, Estado Final, Operador, Estados, Solucin

Ing. Luis Palma Inteligencia Artificial


JARRAS DE AGUA

Disponemos de dos jarras de agua, una de 4 litros de


capacidad y otra de 3 litros de capacidad. Inicialmente estn
ambas vacas. El estado objetivo es que la jarra de 4 litros
de capacidad contenga dos litros de agua,
independientemente el contenido de la otra, sabiendo que
en ninguna de las jarras hay una seal de volumen distinta
de su capacidad.

Ing. Luis Palma Inteligencia Artificial


AGENTE DE VIAJE

Un agente de viaje se
encuentra en Per y de
viajar por Brasil, Argentina,
Venezuela, Chile,
Colombia, Bolivia y
regresar a Per, considerar
que existen todas la rutas
posibles, cual es la
secuencia de pases a
visitar para que el costo
sea el ms bajo?

Ing. Luis Palma Inteligencia Artificial


PACMAN

Ing. Luis Palma Inteligencia Artificial


LABERINTO

Ing. Luis Palma Inteligencia Artificial


AJEDREZ

Ing. Luis Palma Inteligencia Artificial


TRES EN RAYA

Ing. Luis Palma Inteligencia Artificial


DAMAS

Ing. Luis Palma Inteligencia Artificial


CUADRADO MGICO

Ing. Luis Palma Inteligencia Artificial


SUDOKU

Ing. Luis Palma Inteligencia Artificial


ALGORITMOS DE BUSQUEDA

Ing. Luis Palma Inteligencia Artificial


ALGORITMOS DE ESPACIO DE ESTADOS

Algoritmos de bsqueda no informada


Anchura prioritaria
Profundidad prioritaria
Profundidad iterativa
Algoritmos de bsqueda heurstica
A*
IDA*
Hill-Climbing.

Ing. Luis Palma Inteligencia Artificial


ALGORITMO DE BSQUEDA GENERAL

Las estructuras ms adecuadas para representar


es espacio de estados son los grafos o rboles en
la cada nodo se representa un estado del problema
y los operadores de cambio se representa por los
arcos, la eleccin de rbol o grafo obedece al echo
de llegar a travs de un camino o que haya
diferentes caminos.

Ing. Luis Palma Inteligencia Artificial


ALGORITMO DE BSQUEDA GENERAL

Algoritmo Bsqueda General


Insertar(Est_Inicial, Lista_Est_Abiertos)
Est_Actual Primero(Lista_Est_Abiertos)
Mientras Est_Actual Est_Final y
No(Es_Vacia(Lista_Est_Abiertos)) hacer
Borra_Primero(Lista_Est_Abiertos)
Insertar(Est_Actual,Lista_Est_Cerrados)
Hijos Generar_Sucesores(Est_Actual)
Hijos
Tratar_Repetidos(Hijos,Lista_Est_Cerrados,
Lista_Est_Abiertos)
Insertar(Hijos,Lista_Est_Abiertos)
Est_Actual Primero(Lista_Est_Abiertos)
Fin_Mientras

Ing. Luis Palma Inteligencia Artificial


CONSIDERACIONES DEL ALGORITMO DE
BSQUEDA GENERAL
Consideraciones a tomar en cuenta en el algoritmo:
Listad de nodos abiertos: almacena los nodos generados
(sucesores).
Listad de nodos cerrados: almacenan nodos procesados.
Poltica de decisiones: definen el orden en el que se
generan los sucesores y el orden de procesamiento
(exploracin) de sucesores. El orden define el
comportamiento del algoritmo.
Orden de Expansin: orden en el que generamos los sucesores.
Orden de Seleccin: orden de exploracin de los nodos

Ing. Luis Palma Inteligencia Artificial


PROPIEDADES PARA EVALUAR A LOS
ALGORITMOS
Completitud: Si un algoritmo es completo tenemos la
garanta que encontrara una solucin. Encuentra la
solucin?

Complejidad temporal: nos indica el costo temporal de la


bsqueda en funcin al tamao del problema. Cunto
tiempo requiere?

Complejidad espacial: espacio requerido para almacenar


los nodos pendientes de explorar. Cunta memoria
requiere?

Optimalidad: si es capaz de encontrar la mejor solucin.


Encuentra la mejor solucin?

Ing. Luis Palma Inteligencia Artificial


BUSQUEDA NO INFORMADA

Ing. Luis Palma Inteligencia Artificial


BUSQUEDA NO INFORMADA

Caractersticas de los algoritmos de bsqueda no informada:


Estos algoritmos no dependen de la informacin propia
del problema, por tanto pueden aplicarse a cualquier
circunstancia.
Sigue una estrategia fija al momento de resolver un
problema.
Existen polticas de recorrido (anchura, profundidad, etc.)
Son algoritmos exhaustivos y sistemticos, su coste
puede ser prohibitivo para la mayora de problemas reales.

Ing. Luis Palma Inteligencia Artificial


ANCHURA PRIORITARIA

La bsqueda en anchura prioritaria explora el espacio de


bsqueda haciendo un recorrido por niveles, de modo que
un nodo solo se visita cuando todos sus predecesores y sus
hermanos anteriores en orden de generacin ya fueron
visitados.
Las propiedades que toman:
Completitud: el algoritmo siempre encuentra la solucin.
Complejidad temporal: O(rp), donde: r: ramificacin, p:
profundidad.
Complejidad espacial: O(rp), donde: r: ramificacin, p: profundidad.
Optimalidad: la solucin obtenida es optima.

Ing. Luis Palma Inteligencia Artificial


ANCHURA PRIORITARIA

En el grafo de la figura haga un recorrido en anchura


prioritaria, asumiendo que el nodo A es el nodo inicio, y los
nodos K y E son los nodos solucin.

A, D, F, G, H, C, E
Ing. Luis Palma Inteligencia Artificial
PROFUNDIDAD PRIORITARIA

La bsqueda en profundidad prioritaria explora un camino


hasta la mayor profundidad posible, retrocediendo cuando
acaba el camino y retomando la ltima posibilidad de
eleccin disponible.
Las propiedades que toman:
Completitud: el algoritmo encuentra la solucin si existe una
solucin dentro de un lmite de profundidad.
Complejidad temporal: O(rp), donde: r: ramificacin, p:
profundidad.
Complejidad espacial: en un versin iterativa O(rp), donde: r:
ramificacin, p: profundidad, si la versin es recursiva O(p).
Optimalidad: No se garantiza que la solucin sea optima.

Ing. Luis Palma Inteligencia Artificial


PROFUNDIDAD PRIORITARIA

En el grafo de la figura haga un recorrido en profundidad


prioritaria, asumiendo que el nodo A es el nodo inicio, y los
nodos K y E son los nodos solucin.

A, D, H, B, C, K
Ing. Luis Palma Inteligencia Artificial
ALGORITMO DE PROFUNDIDAD ITERATIVA
Algoritmo Profundiad Iterativa(limite:entero)
Prof 1
Inicializar(Lista_Est_Abiertos)
Mientras Est_Actual Est_Final y Prof < Lmite hacer
Insertar(Est_Inicial, Lista_Est_Abiertos)
Est_Actual Primero(Lista_est_abiertos)
Mientras Est_Actual Est_Final y No_vacia(Lista_est_Abiestos) hacer
Borra_Primero(Lista_Est_Abiertos)
Insertar(Est_Actual,Lista_Est_Cerrados)
Si Profundidad(Est_Actual) <= Prof Entonces
Hijos Generar_Sucesores(Est_Actual)
Hijos Tratar_Repetidos(Hijos,Lista_Est_Cerrados,
Lista_Est_Abiertos)
Fin Si
Insertar(Hijos,Lista_Est_Abiertos)
Est_Actual Primero(Lista_Est_Abiertos)
Fin Mientras
Prof Prof + 1
Inicializar(Lista_Est_Abiertos)
Fin_Mientras
Ing. Luis Palma Inteligencia Artificial
PROFUNDIDAD ITERATIVA

El algoritmo trata de obtener las propiedades ventajosas de


la bsqueda en profundidad y en anchura combinadas, es
decir un coste espacial y asegurar que la solucin ser
optima respecto a la longitud del camino.
Las propiedades que toman:
Completitud: el algoritmo siempre encuentra la solucin.
Complejidad temporal: O(rp), donde: r: ramificacin, p:
profundidad.
Complejidad espacial: en un versin iterativa O(rp), donde: r:
ramificacin, p: profundidad, si la versin es recursiva O(p).
Optimalidad: la solucin es optima.

Ing. Luis Palma Inteligencia Artificial


PROFUNDIDAD ITERATIVA

En el grafo de la figura haga un recorrido en profundidad


iterativa, asumiendo que el nodo A es el nodo inicio, y los
nodos K y E son los nodos solucin.

A, A, D, F, G, A, D, H, C, F, E
Ing. Luis Palma Inteligencia Artificial
EJERCICIO PRCTICO

Se tiene el grafo de la figura, donde el nodo A es el nodo


inicio y los nodos P y H los nodos solucin, haga un
recorrido en anchura prioritaria, profundidad prioritaria y
profundidad iterativa.

Ing. Luis Palma Inteligencia Artificial


EJERCICIO PRCTICO

Se tiene el grafo de la
figura de 8-Puzle,
donde el nodo 1 es el
nodo inicial y el nodo
14 el nodo solucin o
nodo objetivo, haga un
recorrido en anchura
prioritaria, profundidad
prioritaria y
profundidad iterativa.

Ing. Luis Palma Inteligencia Artificial


PROBLEMA DE LA JARRAS

En una mesa se encuentran dos jarras, una con una


capacidad de 3 litros (llamada Tres), y la otra con una
capacidad de 4 litros (llamada Cuatro). Inicialmente, Tres y
Cuatro estn vacas. Cualquiera de ellas puede llenarse con
el agua de un grifo G . Asimismo, el contenido tanto de Tres
como de Cuatro puede vaciarse. Es posible echar todo el
agua de una jarra a la otra. No se dispone de dispositivos de
medicin adicionales. Se trata de encontrar una secuencia
de operadores que deje exactamente dos Litros de agua en
Cuatro
Resuelva por anchura prioritaria, anchura prioritaria y
profundidad iterativa.

Ing. Luis Palma Inteligencia Artificial


ANCHURA PRIORITARIA

Ing. Luis Palma Inteligencia Artificial


PROFUNDIDAD PRIORITARIA

Ing. Luis Palma Inteligencia Artificial


PROFUNDIDAD ITERATIVA

Ing. Luis Palma Inteligencia Artificial


EJERCICIO PRCTICO

En la figura se muestra el estado inicial y estado objetivo


del 8-Puzzle, aplique el algoritmo anchura prioritaria,
profundad prioritaria, y profundidad iterativa y dibuje el
grafo respectivo

Ing. Luis Palma Inteligencia Artificial


EJERCICIO PRCTICO

Se tiene la matriz que corresponde al cuadrado mgico,


aplique el algoritmo anchura prioritaria, profundad prioritaria,
y profundidad iterativa y dibuje el grafo respectivo

2 9
7 5 3

Ing. Luis Palma Inteligencia Artificial


EJERCICIO PRCTICO

Recorrer el grafo de la figura utilizando los algoritmos


primero en anchura, primero en profundidad, profundidad
iterativa (Escriba la secuencia de nodos visitados). En todos
los casos considerar que S es el nodo inicial, G el nodo
objetivo.

Ing. Luis Palma Inteligencia Artificial


Determinar Recorrido
de Algoritmos

Primero en Anchura

Primero en Profundidad

Orden de
generacin Profundidad Iterativa
de
sucesores

3
2 4
1
Ing. Luis Palma Inteligencia Artificial

Anda mungkin juga menyukai