Professional Documents
Culture Documents
INTELIGENCIA
ARTIFICIAL
SEGUNDA UNIDAD: TECNICAS DE BSQUEDA
M.C. IDARH CLAUDIO MATADAMAS ORTIZ
INTRODUCCIN 2
Una primera clase puede ser resuelta usando algn tipo de procedimiento
determinista cuyo xito est garantizado. A este procedimiento se le llama de
computacin. La resolucin por computacin normalmente slo se aplica a
aquellos tipos de problemas para los que existan tales procedimientos, como en
matemticas.
La segunda categora, consiste en problemas que se resuelven con la bsqueda
de una solucin. Este es el mtodo de resolucin de problemas del que se
preocupa la IA.
Problema: llaves perdidas. 4
DEFINICIONES NECESARIAS. 5
Estado: es la representacin de un problema en un instante dado. Para definir el
espacio de estados o espacio de bsqueda(El conjunto de todos los nodos) no es
necesario hacer una exhaustiva enumeracin de todos los estado vlidos, sino que
es posible definirlo de manera ms general.
Estado inicial: consiste en uno o varios estados en los que puede comenzar el
problema.
Estado objetivo o estado meta: consiste en uno o varios estados finales que se
consideran solucin aceptable.
Reglas: describen las acciones u operadores que posibilitan un pasaje de estados.
Podramos decir que una regla tiene una parte izquierda y una derecha. La parte
izquierda determina la aplicabilidad de la regla, es decir, describe los estados a los
que puede aplicarse la regla. La parte derecha describe la operacin que se lleva
a cabo si se aplica la regla(accin).
Heurstica es la informacin acerca de la posibilidad de que un nodo especfico sea
mejor para intentar la prxima eleccin que cualquier otro nodo. El camino solucin
es el grafo dirigido de los nodos visitados que nos llevan a la solucin.
6
Ejemplo: jugar al ajedrez: 7
En la mayora de los problemas en los que quiera usar una computadora para
hallar la solucin, la situacin es diferente.
Generalmente, usar una computadora para resolver problemas en los que le
nmero de nodos en el espacio de bsqueda sea muy grande.
El espacio de bsqueda va creciendo, de igual modo se incrementarn el
nmero de diferentes caminos posibles hasta la meta.
Cada nodo aadido al espacio de bsqueda aade ms de un camino; por
lo que el nmero de caminos hasta la meta se incrementar rpidamente
con cada nuevo nodo.
FORMULACIN Y RESOLUCIN DE 9
PROBLEMAS.
Para construir un sistema de computacin que
resuelva un problema especfico, es necesario:
PROBLEMA.
Objetivo: Descripcin formal y manejable del propio problema
operacionalizacin.
Algn camino: slo importa encontrar una solucin sin importar si existen otros
caminos que conducen a la solucin. Generalmente se resuelven con
heursticas. Por ej. programa de respuestas a preguntas.
Una ruta hacia un estado final: se necesita dar el camino seguido desde el
estado inicial al estado final. Por ej. problema de las jarras de agua.
17
El conocimiento se necesita para resolver el problema o para restringir la
bsqueda de la solucin?
Definicin informal:
Problemas que, para resolverlos de forma exacta, requieren la realizacin de
una bsqueda en un espacio que es de tamao exponencial.
Nadie sabe como evitar esa bsqueda.
No se espera que nadie lo consiga nunca
Problemas NP-difciles 20
Todos los problemas de los que se ocupa la I.A. son NP-difciles (si existe un
algoritmo rpido para un problema, difcilmente consideraremos que el
problema requiere inteligencia).
Si un problema es NP-difcil y tenemos un algoritmo que encuentra la solucin
de forma rpida y casi siempre correcta, podemos considerar que el algoritmo
es inteligente.
La I.A. implica que la bsqueda est sujeta a errores.
Mtodos de bsqueda 21
Tipos de problemas
No informadas o a ciegas.
Busca la primera solucin sin importar que tan optima sea.
No detecta si se est aproximado o alejando a la solucin.
No es capas de encontrar una solucin aceptable en caso de que no exista
o sea demasiado costoso encontrar la solucin optima.
Informadas o heursticas.
Busca soluciones aceptables.
Reduce el espacio de bsqueda y es capas de determinar su proximidad a
una solucin y la calidad de la misma utilizando conocimiento a priori.
Tcnica de bsqueda primero en 28
profundidad.
Una bsqueda primero en profundidad explora cada camino posible hasta su
conclusin(meta) antes de intentar otro camino. Esta tcnica de bsqueda
pertenece a las estrategias de bsqueda no informada, es decir la bsqueda no
utiliza ms que la informacin proporcionada por la definicin del problema.
Esta estrategia de bsqueda en profundidad puede implementarse a travs de
una estructura de tipo pila(ltimo en entrar primero en salir) o alternativamente
puede aplicarse como una funcin recursiva que se llama en cada uno de sus
hijos.
La bsqueda primero en profundidad tiene unos requisitos muy modestos de
memoria. Necesita almacenar slo un camino desde la raz a un nodo hoja,
junto con los nodos hermanos restantes no expandidos para cada nodo del
camino. Una vez que un nodo se ha expandido, se puede quitar de la memoria
tan pronto como todos sus descendientes han sido explorados.
Cundo terminar de buscar? 29
Se ha encontrado la solucin.
Se ha acabado el tiempo disponible.
Se ha llegado a un nivel de profundidad determinado
Bsqueda en profundidad. 30
Pasos 31
Siempre se expande uno de los nodos que se encuentren en los mas profundo
del rbol. Solo si la bsqueda conduce a un callejn sin salida, se revierte la
bsqueda y se expanden los nodos de niveles menos profundos.
Esta bsqueda, o se queda atorada en un bucle infinito, y nunca es posible
regresar al encuentro de una solucin, o encuentra una ruta de solucin ms
larga que la solucin ptima. El tiempo necesario crece exponencialmente con
respecto a la profundidad, mientras que el espacio requerido en memoria lo
hace en forma lineal
Tcnica de bsqueda primero en 32
amplitud.
La bsqueda primero en amplitud o en anchura es una estrategia sencilla en la
que se expande primero el nodo raz, a continuacin se expanden todos los
sucesores del nodo raz, despus sus sucesores, etc.
En general, se expanden todos los nodos a una profundidad en el rbol de
bsqueda antes de expandir cualquier nodo del prximo nivel.
La bsqueda primero en anchura se puede implementar utilizando una
estructura de tipo cola primero en entrar primero en salir, asegurndose que los
nodos primeros visitados sern los primeros expandidos.
La principal desventaja de la bsqueda en anchura es los requisitos de
memoria para almacenar todos los nodos que no han sido expandidos durante
la bsqueda.
Pasos 33
Todos los nodos que estn en la profundidad d del rbol de bsqueda se
expanden antes de los nodos que estn en la profundidad d+1.
Si son varias las soluciones, este tipo de bsqueda permitir siempre encontrar
primero el estado meta ms prximo a la raz.
El tiempo y la cantidad de memoria necesaria crece exponencialmente con
respecto a la profundidad.
Se tiene un rbol en un
estado inicial y se cuenta
con cuatro metas: M1, M2,
M3 y M4.
Se introduce A como
primer elemento de la lista.
Se comprueba que A no es
una meta y se elimina de la
lista.
Se introducen los hijos de
A en la lista recorriendo el
rbol de izquierda a
derecha y manteniendo la
informacin del recorrido.
Es decir AB y AC.
AB no muestra ninguna
meta as que se saca de la
lista.
Se analizan los hijos de B
y se introducen al final de
la lista como ABD y ABE.
AC tampoco es una meta y
es eliminado de la lista.
Se introducen los hijos de
C al final de la lista.
Se siguen sacando de la
lista aquellos nodos que no
dan como resultado una
meta.
En este caso se introducen
al final de la lista los hijos
de D.
Los nuevos nodos
introducidos a la lista son
H e I.
ABE no muestra ninguna
meta y se elimina de la
lista.
Al introducir los hijos de E
al final de la lista se puede
ver que ha aparecido uno
de los nodos meta. En este
caso el nodo es M1
Se siguen eliminando los
nodos que no son estados
meta y agregando a los
hijos al final de la lista.
En este punto se elimina
ABEJ y se introducen los
hijos de J al final de la lista
y al frente queda ABEM1 lo
que da como resultado el
xito.
Se encuentra la meta M1 y
se detiene el algoritmo al
haber alcanzado el xito.
Se traza el camino desde
el origen hacia la meta:
A B E M1
El algoritmo de bsqueda
en anchura se detiene al
encontrar un nodo meta sin
importar cual sea este.
En el caso hipottico de
que M1 no hubiese sido un
nodo meta el algoritmo
habra continuado sacando
nodos del frente de la lista
e introduciendo hijos al
final de la misma hasta
hallar una meta. En este
caso M2.
Problema del viajero 48
Imagine que usted es agente de viajes y un cliente bastante molesto quiere que le
reserve un boleto de Salina Cruz a Ciudad Reynosa con la lnea de autobuses ADO-
GL . A pesar de que usted le dice al cliente que la lnea de autobuses ADO GL tiene
rutas directas, ste insiste en viajar exclusivamente con ADO-GL R. Mirando la
lista(supuesta) de rutas de ADO-GL, encuentra que es posible.
Entonces puede verse que hay una forma de llegar de Salina Cruz a Ciudad
Reynosa con la lnea de autobuses ADO-GL Rusando trasbordos. As pues reserva
un boleto para el cliente.
La informacin extrada del libro de rutas del ADO-GL puede ser trasladada al grafo
no dirigido mostrado en la figura siguiente.
49
50
Consideraciones 51