Вы находитесь на странице: 1из 51

INSTITUTO TECNOLOGICO DE OAXACA

INTELIGENCIA
ARTIFICIAL
SEGUNDA UNIDAD: TECNICAS DE BSQUEDA
M.C. IDARH CLAUDIO MATADAMAS ORTIZ
INTRODUCCIN 2

La resolucin de problemas se describe a menudo como una bsqueda en un enorme


laberinto de posibilidades, un laberinto que describe el entorno. Para resolver
exitosamente un problema se requiere explorar el laberinto de forma selectiva y con
ello reducirlo a proporciones manejables. Las mquinas an no pueden reducir
automticamente los problemas a proporciones manejables, es por ello que los seres
humanos tienen que formular los problemas y proponer estrategias para encontrar su
solucin.
CLASES DE PROBLEMAS. 3

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

Espacio de estados: La totalidad de tableros que se pueden generar en un juego


de ajedrez.
Estado Inicial: Puede ser el tablero de 8 x 8 donde cada cuadro contiene un
smbolo de acuerdo a las piezas situadas.
Objetivo o estado final: Cualquier posicin de tablero en la que el contrario no
puede realizar ningn movimiento legal y su rey est amenazado.
Reglas: Son los movimientos legales, que pueden describirse mediante una parte
patrn para ser contrastado con la posicin actual del tablero y otra parte que
describe el cambio que debe producirse en el tablero. Dado que escribir todas
las posiciones del tablero, las reglas deben escribirse de manera ms general
posible.
Heurstica: Podemos elegir tableros en donde el contrincante tenga el menor
nmero de piezas desplegadas.
Camino solucin: El conjunto de movimientos para llegar al estado final.
8

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:

Definir el problema formalmente con precisin.


Analizar el problema.
Representar el conocimiento necesario para
resolver el problema.
Elegir una tcnica de resolucin del problema y
aplicarla.
DEFINICIN FORMAL DEL 10

PROBLEMA.
Objetivo: Descripcin formal y manejable del propio problema
operacionalizacin.

Para producir una especificacin formal de un problema se deben definir:


Espacio de estados vlidos.
Estado inicial del problema.
Estado objetivo o final.
Reglas que se pueden aplicar para pasar de un estado a otro.
11
La representacin como espacio de estados:

Permite definir formalmente el problema,


mediante la necesidad de convertir una situacin
dada en una situacin deseada mediante un
conjunto de operaciones permitidas.
Permite definir el proceso de resolucin de un
problema como una combinacin de tcnicas
conocidas y bsqueda (la tcnica general de
exploracin del espacio intenta encontrar alguna
ruta desde el estado actual hasta un estado
objetivo).
ANLISIS DEL PROBLEMA. 12

Puede descomponerse el problema en subproblemas ms pequeos?


Algunos problemas pueden descomponerse en subproblemas
independientes, de manera que encontrar una solucin global es la
composicin de soluciones particulares. Por ej. en la resolucin de integrales,
una integral puede descomponerse por partes, y resolver las partes simples
directamente o descomponerlas recursivamente.

Por otra parte, existen otros problemas que no pueden descomponerse y


componer la solucin a partir de las soluciones parciales de sus partes p. ej.
problemas de planificacin de rutas con restricciones. Por el contrario, una
solucin necesita considerar globalmente el problema.
Pueden deshacerse pasos inadecuados hacia la solucin? 13

Recuperables: en un punto dado es posible deshacer todos los pasos


inadecuados.
No recuperables: en un punto dado no es posible deshacer ningn
paso realizado. En estos problemas el sistema debe esforzarse en la
toma de decisiones pues stas son irrevocables.
Ignorables: en un punto dado es posible ignorar los pasos realizados
hasta el momento y comenzar de nuevo con una nueva solucin. Por
ej. un demostrador de teoremas.
14
Es predecible el universo del problema?

Consecuencia cierta: es posible planificar una secuencia de movimientos


estando seguros del resultado a obtener. Se puede realizar una planificacin
para generar operadores que garanticen llegar a la solucin.

Consecuencia incierta: no es posible planificar con certeza pues no se sabe


que ocurrir luego del siguiente movimiento. Sin embargo, se puede realizar
una planificacin para generar operadores que tengan una buena
probabilidad de llegar a la solucin.
15

Una solucin es buena de manera absoluta o relativa?

La solucin de un problema puede consistir en encontrar:

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.

El mejor camino: importa encontrar la ruta ms corta hacia la solucin. Son


problemas ms complicados de computar. Algunos requieren una bsqueda
ms exhaustiva que usando heursticas. Por ej. en el problema del viajero
importa encontrar la ruta ms corta entre las ciudades a visitar.
16

La solucin deseada es un estado o la ruta hacia un estado?

La solucin de un problema puede


consistir en encontrar: Un estado final: no es necesario el registro del proceso
seguido, slo importa arribar a la solucin final. Por ej. interpretar texto.

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?

El conocimiento puede emplearse para:

Reconocer la solucin: se necesita gran cantidad de conocimiento acerca del


problema para poder encontrar una solucin. Por ej. comprensin de texto.

Acotar la bsqueda: la solucin bsica puede encontrarse con poco


conocimiento, pero para restringir el rbol de bsqueda y encontrar la solucin
de manera ms eficiente es necesario contar ms conocimiento. Por ej. en el
ajedrez se necesita bsicamente poco conocimiento para conocer los
movimientos legales y un mecanismo sencillo de bsqueda. Pero dado que para
aumentar la eficiencia de la bsqueda sta debe restringirse, se necesita
conocimiento de heursticas de buenas estrategias y tcticas para jugar.
18
El programa que soluciona el problema busca la solucin solo o necesita
interactuar con una persona?
Con respecto a la relacin programa-usuario, existen dos tipos de programas
que solucionan el problema:
Solitarios: reciben como entrada el problema y dan como salida la solucin.
No importa el razonamiento que haya seguido la mquina para encontrar la
solucin. Por ej. problema de las jarras de agua.
Conversacionales: existe una comunicacin hombre-mquina de manera
que el usuario puede ayudar a la mquina o la mquina puede informar al
usuario durante la bsqueda de la solucin. Para que esta comunicacin
sea posible debe existir una correspondencia entre el razonamiento seguido
por la mquina y la forma de razonamiento humano. Por ej. en un sistema
experto de diagnstico mdico, el usuario no aceptara el veredicto de una
mquina si no puede comprender el razonamiento que la llev a l .
Problemas NP-difciles 19

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

Existen dos tipos de problemas que se han estado investigando en el rea de


Inteligencia Artificial: Los denominados problemas de juguete y problemas del
mundo real.
Problemas de juguete. Un problema de juguete se utiliza para ilustrar o ejercitar
los mtodos de resolucin de problemas. stos se pueden describir de forma
exacta y concisa. Esto significa que diferentes investigadores pueden utilizarlos
fcilmente para comparar el funcionamiento de los algoritmos.
Un problema del mundo real es aquel en el que la gente se preocupa por sus
soluciones. Ellos tienden a no tener una sola descripcin, sin embargo se podra
dar la forma general de sus formulaciones.
22

El mundo de la aspiradora es un problema de juguete, este problema puede


formularse como sigue:
Espacio de estados: La aspiradora est en una de dos habitaciones, cada una de las
cuales puede o no contener suciedad(8 posibles estados del mundo); Estado Inicial:
Cualquier estado puede designarse como un estado inicial.
Objetivo o estado final: Cuando todos las habitaciones estn limpias;
Reglas: La aspiradora puede: moverse a la habitacin izquierda, moverse a la
habitacin derecha o aspirar la habitacin.
23
El problema del viajante de comercio es un
problema de ruta en la que cada ciudad es visitada
exactamente una vez. La tarea principal es
encontrar el viaje ms corto.
Un problema de distribucin VLSI requiere la
colocacin de millones de componentes y de
conexiones en un chip verificando que el rea es
mnima, que se reduce al mnimo el circuito, que se
reduce al mnimo las capacitaciones, y se maximiza
la produccin de fabricacin. El problema de la
distribucin viene despus de la fase de diseo
lgico, y est dividido generalmente en dos partes:
distribucin de celdas y direccin del canal. En la
distribucin de celdas, los componentes primitivos
del circuito se agrupan en las celdas, cada una de
las cuales realiza una cierta funcin.
Grafos de estados (implcito) 24

Representacin matemtica de un problema de bsqueda (nodos; estados;


arcos: operadores).
Grafo terico que representa todas las posibles transformaciones del sistema
aplicando todos los operadores posibles recursivamente.
Debido a su complejidad exponencial, que requerira una cantidad inviable de
memoria y tiempo, el grafo del espacio de estados no puede generarse por
completo.
Grafos de estados (explcito) 25

Debido a la complejidad exponencial del grafo implcito, se ir generando, paso


a paso, una porcin del grafo conforme avance el proceso de bsqueda.
El grafo explcito es el subgrafo del grafo implcito que se va generando durante
el proceso de bsqueda de una secuencia de operadores que resuelva nuestro
problema (camino solucin) .
Usualmente, en forma de rbol.
rbol de bsqueda / Grafo explcito 26

Nodo raz: Estado inicial.


Hijos de un nodo: Posibles sucesores (nodos correspondientes a estados
resultantes de la aplicacin de un operador al nodo padre).
Los nodos del rbol representan estados, pero corresponden a PLANES
mediante los cuales se alcanzan dichos estados.
Tipos de tcnicas de bsqueda 27

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

Espacio de estados: Todas las terminales de ADO-GL


Estado Inicial: La terminal de Salina Cruz
Objetivo o estado final: La terminal de Ciudad Reynosa;
Reglas: Moverse a alguna ciudad adyacente desde la terminal en la
que se encuentre el cliente en ese momento

Con la informacin anterior determine una ruta que resuelva el


problema utilizando ambas tcnicas vistas en clase.