Anda di halaman 1dari 30

TABLADECONTENIDO

INTRODUCCIN.....................................................................................................................................................2
2. TCNICA DE BSQUEDA...............................................................................................................................2
2.2. ESPACIOS DE ESTADOS.........................................................................................................................5
2.2.1. Determinsticos...................................................................................................................................7
2.2.2. No Determinsticos.............................................................................................................................9
2.3. Mtodos de bsqueda............................................................................................................................11
2.3.1. Primero en anchura (breadthfirst)...............................................................................................13
2.3.2. Primero en profundidad (depthfirst)............................................................................................17
2.3.3. Grafos O..............................................................................................................................................19
2.3.4. Grafos A..............................................................................................................................................22
2.4.

Satisfaccin de restricciones...........................................................................................................24

2.5.- Teora de juegos:......................................................................................................................................27


Conclusin..............................................................................................................................................................29

INTRODUCCIN

En IA los trminos resolucin de problemas y bsqueda se refieren a un ncleo fundamental de


tcnicas que se utilizan en dominios como la deduccin, elaboracin de planes de actuacin,
razonamientos de sentido comn, prueba automtica de teoremas, etc. Aplicaciones de estas
ideas generales aparecen en la prctica totalidad de los sistemas inteligentes, como por ejemplo
en los programas que tratan de entender el lenguaje natural, en los programas que tratan de
sintetizar un conjunto de reglas de clasificacin en un determinado dominio de actuacin, o en
los sistemas que realizan inferencias a partir de un conjunto de reglas. En esta unidad se tratar
temas relacionados con la bsqueda en el espacio de estados (que es como el laberinto de
posibilidades). En algunos tipos de problemas lo importante es encontrar una solucin, aunque
esta no sea la mejor debe ser una solucin aceptable, en otros casos es necesario encontrar el
camino que nos lleva a esa solucin. De manera general, cualquiera de las estrategias de
bsqueda que se tratan en esta unidad pueden resolver ambos requisitos, slo se requieren
pequeos ajustes en sus mtodos generales

2. TCNICA DE BSQUEDA

La resolucin de problemas es fundamental para la mayora de las aplicaciones de Inteligencia


Artificial(IA). De hecho, la capacidad de resolver problemas suele usarse como una medida de
la inteligencia tanto para el ser humano como para la computadora. Hay principalmente dos
clases de problemas. 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.
Se puede con frecuencia traducir los mtodos usados para resolver estos problemas de manera
fcil, a un algoritmo que pueda ser ejecutado por una computadora. No obstante, a pesar de
que pocos problemas reales se prestan a soluciones computables, deben ser situados en la

segunda categora, que 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.

Figura 1.1: Plano de casa del problema de las llaves perdidas

Por ejemplo, imagine que ha perdido las llaves de su coche. Sabe que estn en algn lugar de
la casa, cuyo plano est en la figura 1.1 La X indica que usted est en la puerta principal. Al
empezar su bsqueda primero comprueba la sala de estar. Luego va por el saln hacia el primer
dormitorio, despus vuelve al saln y va al segundo dormitorio, y vuele de nuevo al saln para
ir al dormitorio principal. Como an no ha encontrado las llaves, vuelve hacia atrs pasando por
la sala de estar hacia la cocina, donde encontrar sus llaves. La figura 1.2 presenta un grafo del
camino que se ha seguido.
El hecho de que pueda representar la solucin a esta clase de problemas en forma de grafos
es importante

Figura 1.2: Grafo del camino solucin para encontrar las llaves perdidas

porque le ofrece una forma sencilla de observar cmo funcionan las diferentes tcnicas de
bsqueda. Para entender este tema es necesario tener presente las siguientes definiciones:
Un 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 estados vlidos, sino que es posible definirlo de manera
ms general.
El estado inicial consiste en uno o varios estados en los que puede comenzar el problema. El
estado objetivo o estado meta consiste en uno o varios estados finales que se consideran
solucin aceptable.
Las 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).
La 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.

2.2. ESPACIOS DE ESTADOS

El espacio de estados (I. O. M) es til porque permite describir formalmente un problema como
un conjunto de transformaciones desde unas situaciones dadas hasta unas situaciones
deseadas, a travs de un conjunto de operaciones permitidas. Ms concreta mente, nos permite
contemplar el proceso global de solucin de un problema como:
1. la aplicacin de un conjunto de tcnicas conocidas, cada una de ellas definida como un
paso simple en el espacio de estados,
2. Un proceso de bsqueda o estrategia general de exploracin del espacio de estados.
3. Espacio de Estados: Formalismo para representar problemas. Abstraer problemas
reducindolos a un conjunto de estados y operadores.
4. Resolver problema revisando posibles alternativas (todas?). analoga con forma de
actuar de los humanos

Estado:
Representacin completa de la situacin del mundo/problema en un momento dado
Contiene toda la informacin relevante (y nada ms)
Operador:
Transforman un estado en otro.
Se suponen deterministas se sabe de antemano cmo ser el estado del
mundo/problema despus de aplicarlos.
Se suponen discretos.

no es relevante lo que \pasa" mientras se ejecutan

El espacio de estados es la representacin de un problema que abarca todas las posibles


situaciones que se pueden presentar en la solucin del problema.

es la representacin de un problema que abarca todas las posibles situaciones que se pueden
presentar en la solucin del problema.
Los espacios de estados pueden clasificar en dos tipos: los implcitos y los explcitos, como se
muestra en el diagrama siguiente.
Los espacios de estados implcitos normalmente utilizan un sistema de produccin para generar
sobre la marcha los posibles estados siguientes de un estado dado. Los juegos suelen crear un
espacio de estados implcito ya que un juego puede variar dependiendo de las reglas que lo
describen.
Los espacios de estados explcitos son aquellos en los se define, previo al inicio de la bsqueda,
todos los estados posibles y las conexiones entre ellos.
La representacin de los espacios de estados explcitos se puede dar o no determinsticamente,
esto es, que los espacios de estados determinsticos contienen un nico estado inicial y seguir
la secuencia de estados para la solucin, mientras que el no determinstico contiene un amplio
nmero de estados iniciales y sigue la secuencia de estados perteneciente al estado inicial del
espacio.
Los espacios de estados determinsticos son usados por los sistemas expertos, mientras que
los no determinsticos son usados por sistemas de lgica difusa.
Estado Inicial Ajedrez

Estados finales

Estado Inicial Sudoku 4

2.2.1. Determinsticos.
El espacio de estados determinsticos contiene un nico espacio inicial y seguir la secuencia de
estados para la solucin, mientras que el no determinsticos contiene un amplio nmero de
estados iniciales y sigue la secuencia de estados perteneciente al estado inicial del espacio.
Caractersticas
Los espacios de estados determinsticos son usados por los sistemas expertos, mientras
que los no determinsticos son usados por sistemas de lgica difusa.
Un ambiente no determinstico presente problemas ms grandes para el agente.
Clasificacin de los espacios de estados: los implcitos y los explcitos.

Los espacios de estados implcitos normalmente utilizan un sistema de produccin para generar
sobre la marcha los posibles estados siguientes de un estado dado. Los juegos suelen crear un
espacio de estados implcito ya que un juego puede variar dependiendo de las reglas que lo
describen.
Los espacios de estados explcitos son aquellos en los se define, previo al inicio de la bsqueda,
todos los estados posibles y las conexiones entre ellos.

Ejemplo de espacio de estados determinsticos.

2.2.2. No Determinsticos.

El no determinstico contiene un amplio nmero de estados iniciales y sigue la secuencia de


estados perteneciente al estado inicial del espacio. Son usados por sistemas de lgica difusa.
El espacio de estados llamado no determinstico contiene ms de un estado inicial y sigue la
secuencia de estados perteneciente al estado inicial del espacio. Son usados por sistemas de
lgica difusa. En otras palabras, si ms de una regla aplica a cualquier estado particular del
sistema, o si una regla aplica a un estado particular del sistema en ms de una manera,
entonces el sistema es no determinstico. En otras palabras, si ms de una regla aplica a
cualquier estado particular del sistema, o si una regla aplica a un estado particular del sistema
en ms de una manera, entonces el sistema es no determinstico. Una de las caractersticas de
este es que son usados por sistemas de lgica difusa, est presente en problemas ms grandes
para el agente.
Existen diferentes tipos de problemas, cada uno existente en su respectivo contexto llevando al
mismo tiempo un planteo lgico, lo cual permite ser llevado a otras prcticas para buscar
posibles soluciones. Actualmente estn apareciendo soluciones innovadores para problemas
de los cuales en ocasiones no nos percatamos, diramos entonces que no es muy notoria an
su aplicacin, pero est claro que va en aumento y pronto veremos su aplicacin en ms y ms
contextos cotidianos, pero para eso se deben modelar en una forma simblica donde las
configuraciones posibles o estados del universo estudiado definen y estructuran el problema
para poder aplicar mtodos numricos o tcnicas matemticas con los cuales, puede ser
solucionado y de alguna forma implementado en los diferentes contextos como alternativas de
mejora.

Ejemplo de espacio de estados no determinsticos.

10

2.3. Mtodos de bsqueda.


La bsqueda sin informacin del dominio, tambin llamada ciega o exhaustiva es:

Sistemtica. - No deja sin explorar ningn nodo y lo explora slo una vez.
Objetiva. - Pues no depende del dominio del problema.
Estas tcnicas son poco eficientes, aunque, en coste promedio, son mejores que las que utilizan
el conocimiento del dominio del problema. Se caracterizan, entre otras cosas, porque la
aplicacin de los operadores a los estados se realiza de manera sistemtica, uno detrs de otro
(estrategia de control no informada). Adems, todas ellas son bsquedas por tentativas y utilizan
un esquema de produccin (bsqueda en el espacio de estados).
Como criterio para diferenciarlas, se utilizar el orden en que se recorren los estados. As, para
el espacio de estados, tendremos:
Bsqueda en amplitud.
Bsqueda en profundidad.
Bsqueda con retroceso.
Otras estrategias derivadas de las anteriores.

Bsqueda en profundidad progresiva

Bsqueda bidireccional

11

La evaluacin de la eficiencia de una tcnica de bsqueda est fuera del alcance de este curso
ya que puede ser muy complicada. De hecho, esta evaluacin se lleva gran parte de la
investigacin en IA. Sin embargo, veremos dos medidas elementales que son importantes para
obtener una idea de las ventajas y desventajas de utilizar una u otra tcnica:
1. La rapidez con que se encuentra la solucin.
2. La calidad de la solucin.
Hay varios tipos de problemas para los cuales lo principal es encontrar una solucin con el
mnimo esfuerzo. Para ese tipo de problemas, la primera medida es importante. Sin embargo,
en otras situaciones, lo ms importante es que la solucin sea lo ms aproximado a una solucin
ptima.
Tanto la longitud del camino para la solucin como el nmero real de nodos que atraviesa,
determina la velocidad de bsqueda.
Es importante entender la diferencia entre encontrar una solucin ptima y una solucin buena.
La diferencia radica en el hecho de que encontrar una solucin ptima a menudo nos exige una
bsqueda exhaustiva porque puede que sea este el nico camino para determinar si hemos
encontrado o no la mejor solucin. No obstante, encontrar una buena solucin significa
encontrar una que est inmersa en un conjunto de restricciones (sin importar si hay o no una
mejor solucin).

12

2.3.1. Primero en anchura (breadthfirst).


1. Inicializar una lista llamada LISTA_NODOS con el estado inicial
2. Hasta encontrar un objetivo o LISTA_NODOS est vaca, hacer:
a) Extraer el primer elemento E de LISTA_NODOS
b) Para cada regla que sea aplicable al estado E, hacer:
i.

Aplicar la regla para obtener un nuevo estado NE

ii.

Si NE es estado objetivo, terminar y devolver NE. De lo contrario, aadir NE al


final de LISTA_NODOS-

Ventajas:

Si la solucin es una ruta, encuentra la ms corta.

No queda atrapada en callejones sin salida.

El orden en que se aplican las reglas es irrelevante.

La bsqueda primero 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 llamando a la bsqueda rboles con
una frontera vaca que sea una cola primero en entrar primero en salir (FIFO), asegurando que
los nodos primeros visitados sern los primeros expandidos. En otras palabras, llamando a la
Bsqueda-Arboles (problema, COLA-FIFO ()) resulta una bsqueda primero en anchura. La
cola FIFO pone todos los nuevos sucesores generados al final de la cola, lo que significa que
los nodos ms superficiales se expanden antes que los nodos ms profundos.
Bsqueda en amplitud: Longitud del camino. La tcnica de longitud del camino recorre el grafo
por niveles que estn a igual distancia del marco instancia. Dado un marco instancia, se mirar

13

si la propiedad se encuentra en alguno de los marcos clase con los que est unido. Si se
encuentra, entonces se devuelve su valor. En caso contrario, utilizando las relaciones subclasede, comienza a buscar la propiedad en todas las superclases de dichas clases. En otras
palabras, primero se busca la propiedad en los padres, es decir, en aquellos marcos clase que
estn a distancia uno del marco instancia. Si no la encuentra, entonces la tcnica busca en los
abuelos, es decir, en aquellos marcos que estn a distancia dos, y as sucesivamente. El
proceso termina al encontrar la propiedad o al alcanzar el nodo raz sin encontrarla. Este
algoritmo es eficiente y es adecuado en sistemas de herencia que razonan sobre grafos sin
propiedades repetidas. Si el grafo contiene propiedades con excepciones aparecern dos
problemas: razonar en presencia de ambigedades y de conocimientos no especializados.
Un problema adicional que presenta la tcnica de la longitud del camino es que la longitud de
un camino puede no corresponder con el nivel de generalidad de una clase, si hay clases
generales que no se han especializado con el mismo nivel de detalle que sus clases hermanas.
El IC debe evitar en lo posible construir grafos que presenten diferente granularidad en la
especializacin de las subclases.

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

14

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. Continuaremos con el
ejemplo del problema del agente de viajes con la misma formulacin vista en la bsqueda en
profundidad.
Si tenemos una estructura de datos de tipo cola para implementar esta estrategia de bsqueda:
1. Primero agregamos el estado inicial, en este caso Salina Cruz, y nos queda la estructura
de cola como se muestra en la figura 5.1.
2. El siguiente paso es verificar si el elemento tope de la estructura de cola es el estado
objetivo, en caso de serlo la bsqueda termina, porque encontramos lo que buscbamos,
sin embargo, si no es el caso, como en este ejemplo que vamos a Ciudad Reynosa,
entonces procedemos a eliminar este elemento de la estructura de cola,
3. y agregamos todos los terminales desde la que podemos llegar desde el estado en que
nos encontramos. Vase figura 5.2(desde la terminal actual, obteniendo los estados
sucesores) y volvemos a realizar el paso 2 hasta encontrar lo que buscamos, vase figura
5.3.

Figura 5.1: Representacin de la estructura de cola del problema del agente de viajes

15

Figura 5.2: Representacin de la estructura de cola del problema del agente de viajes al agregar los estados sucesores de la
terminal Salina Cruz

Figura 5.3: Continuacin de la representacin de la estructura de cola del problema del agente de viaje para llegar a Ciudad
Reynosa

16

2.3.2. Primero en profundidad (depthfirst).


En profundidad. - Se visita la raz, se expande el nodo y se visita uno de sus sucesores. Se
expande este ltimo y se visita uno de sus sucesores. Si se llega a un callejn sin salida, se
retrocede un nivel. Si en este nivel no quedan nodos para expandir, se sube otro nivel (as hasta
que no queden nodos o se encuentre un nivel con nodos para expandir). Si hay, se expande el
nodo de ese nivel para seguir el mismo proceso. De este modo se avanza una vez en cada
nivel, hasta encontrar una solucin, si esta existe.
1. Si el estado actual E es objetivo, terminar y devolverlo como solucin exitosa
2. En caso contrario, hacer lo siguiente:
a) Aplicar la siguiente regla a E para generar un nuevo estado NE. Si no se pueden
aplicar ms reglas, terminar y devolver un fracaso.
b) Llamar recursivamente al algoritmo de bsqueda primero en profundidad con NE
como estado actual. Si se devuelve una solucin exitosa, entonces terminar y
devolver la solucin. De lo contrario, continuar con el ciclo.

Ventajas:

Requiere menos memoria, ya que solo se almacenan los nodos de la ruta que se
sigue en ese momento.

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. En cambio, existen otros tipos de bsqueda en la cual las
estrategias saben si un estado no objetivo es ms prometedor que otro, a este ltimo se le
conoce como bsquedas informadas o bsquedas heursticas.

17

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.

Figura 4.1: Rutas de la lnea de autobuses ADO-GL R

El inconveniente de la bsqueda primero en profundidad es que puede hacer una eleccin


equivocada y obtener un camino muy largo (o infinito) aun cuando una eleccin diferente llevara
a una solucin cerca de la raz del rbol de bsqueda.

18

2.3.3. Grafos O.
combina las ventajas de los algoritmos primero en profundidad y primero en amplitud.
Sigue un sendero a la vez, pero puede cambiarse a otro sendero que parece ms
prometedor que el que est siguiendo.
todos sus ramales representan una alternativa de solucin.
Para su operacin, el algoritmo necesita dos listas de nodos y una funcin heurstica que
estime los mritos de cada nodo que se genere.
Tienen la ventaja de que permite encontrar una solucin sin tener que expandirse
completamente por todas las ramas.
La bsqueda primero en anchura presenta la ventaja de que no queda atrapada en
callejones sin salida.
Una forma de combinar ambas ventajas puede consistir en seguir un nico camino cada
vez, y cambiarlo cuando alguna ruta parezca ms prometedora que la que se est
siguiendo en ese momento.

19

Este algoritmo, combina las ventajas de los algoritmos primero en profundidad y primero en
amplitud. Sigue un sendero a la vez, pero puede cambiarse a otro sendero que parece ms
prometedor que el que est siguiendo.
En este sentido, puede considerarse que es un algoritmo que realiza su proceso de
bsqueda en un grafo de tipo O, ya que todos sus ramales representan una alternativa de
solucin. Para su operacin, el algoritmo necesita dos listas de nodos y una funcin heurstica
que estime los mritos de cada nodo que se genere:

1. ABIERTOS - Es una variable que contiene los nodos que han sido generados. La funcin
heurstica ha sido aplicada a ellos, pero todava no han sido examinados, es decir no se
han generado sus sucesores. ABIERTOS puede considerarse como una COLA DE
PRIORIDADES en la que los elementos con mayor prioridad son los que tienen los
valores ms prometedores, dados por la funcin heurstica.
2. CERRADOS - Es una variable que contiene los nodos que han sido examinados. Es
necesario tener esta informacin, para que la bsqueda sea en un grafo y no en un rbol.
3. FUNCIN HEURSTICA - Permite que el algoritmo busque primero por senderos que
son o parecen ms prometedores.

Para muchas aplicaciones, es conveniente definir esta funcin f', como la suma de dos, que se
las llamar g y h'. La funcin g es una medida del costo de llegar desde el nodo inicial al nodo
actual. La funcin h' es una estimacin del costo adicional para llegar desde el nodo actual al
estado objetivo. Aqu es donde se explota el conocimiento que se dispone sobre el dominio del
problema.

20

Es decir, la funcin combinada f' representa una estimacin del costo de llegar desde el estado
inicial hasta el estado objetivo, siguiendo el sendero que ha generado el nodo actual. Si el nodo
actual ha generado ms de un sendero, el algoritmo deber dejar registrado slo el mejor.
El algoritmo, en la forma que fue formulado, se aplica a grafos. Puede ser simplificado para
aplicarse a rboles, si no se preocupa de comprobar si un nuevo nodo est en ABIERTOS o en
CERRADOS. Esto acelerara la generacin de nodos y la bsqueda, para casos en que es poco
probable que se repitan nodos.
Usualmente, el costo de ir de un nodo a su sucesor, g, se fija en una constante igual 1, cuando
se desea encontrar un sendero a la solucin, que involucre el menor nmero de pasos. Si por
el contrario nos interesa encontrar el camino menos costoso y algunos operadores cuestan ms
que otros, se asume un valor de g, que refleje esos costos. Un valor de g igual a cero significara
que simplemente nos interesa llegar a alguna solucin, de cualquier manera.
Si h' es un estimador perfecto de h, har que A* converja inmediatamente al objetivo, sin
bsqueda. Mientras mejor sea h', ms cerca se estar de alcanzar esta aproximacin directa.
Si h' vale cero, la bsqueda ser controlada por g. Si el valor de g es tambin cero, har que la
bsqueda sea aleatoria. Si el valor de g es siempre 1, har que la bsqueda sea primero en
anchura. Para los casos en que h' no sea perfecto ni cero, y nunca llega a sobrestimar el valor
de h, el algoritmo A* est garantizado que encontrar un sendero ptimo a un objetivo, en caso
de que exista solucin. Cuando un algoritmo garantiza el encontrar una solucin ptima, si esta
existe, se dice que es admisible.

21

2.3.4. Grafos A.
Pondera a la vez lo cerca que estamos del nodo meta y lo lejos que estamos del nodo
inicial.
Tiene como ventaja soluciones ms cercanas a la raz.
Inconvenientes: la funcin de evaluacin se complica.
Este algoritmo utiliza las misma funciones f, g, h, as como las listas Abiertos y
Cerrados, que ya se han descrito
El grado de un vrtice es el nmero de aristas incidentes con l

Metodologa: Ponderar a la vez lo cerca que estamos del nodo meta y lo lejos que
estamos del nodo inicial.
Tipo: tentativo.
Ventajas: soluciones ms cercanas a la raz.

22

Inconvenientes: la funcin de evaluacin se complica.

La imagen es una representacin del siguiente grafo:

V: = {1,2,3,4,5,6}

E: = {{1,2},{1,5},{2,3},{2,5},{3,4},{4,5},{4,6}}

23

2.4. Satisfaccin de restricciones.

Objetivo: Encontrar un estado que satisface las restricciones (Asignacin de valores a las
variables, que satisfaga las restricciones).
Ejemplos:
Colorear mapas, crucigramas, 8-reinas, sudoku, ...
Asignacin/distribucin/ubicacin de recursos (distribucin de tareas de fabricacin,
ubicacin de gasolineras, antenas de telefona, ...)
Las restricciones se caracterizan fundamentalmente por su aridad, que es el nmero de
variables involucradas en dicha restriccin. Una restriccin unaria es una restriccin sobre una
sola variable. Una restriccin binaria es una restriccin que consta de dos variables. Una
restriccin no binaria (o n-aria) es una restriccin que involucra a un nmero arbitrario de 3 o
ms variables.
Los problemas pueden resolverse buscando en un espacio de estados, estos estados pueden
evaluarse por heursticas especficas para el dominio y probados para verificar si son estados
meta. Los componentes del estado, son equivalentes a un grafo de restricciones, los cuales
estn compuestos de:
Variables.
Dominios (valores posibles para las variables).
Restricciones (binarias) entre las variables
La satisfaccin de restricciones s la asignacin de valores a un conjunto de variables para satisfacer las
restricciones dadas.

Entre las muchas extensiones que se han propuesto para Prolog la que ms impacto ha tenido (hasta el
punto de que prcticamente todas las implementaciones que se vienen haciendo en los ltimos aos la
incluyen) es la de introducir mecanismos para resolucin de problemas de satisfaccin de restricciones.

24

A esta ampliacin se le llama programacin lgica con restricciones, o, abreviadamente, CLP (Constraint
Logic Programming).

En primer lugar, es interesante observar que la bsqueda de soluciones en Prolog es en s misma un


problema de satisfaccin de restricciones: se trata de buscar valores para las variables que sean
compatibles con las restricciones impuestas por las clusulas.

Algunos problemas sencillos pueden expresarse en Prolog puro, haciendo uso de los predicados
incorporados =, >, etc. Por ejemplo, para el coloreado del mapa de la Figura con tres colores
podemos escribir: }

color(rojo).
color(verde).
color(azul).
coloreado(A,B,C,D) :satisface_restr(A,B,C,D),
color(A), color(B), color(C), color(D).
satisface_restr(A,B,C,D) :noig(A,B), noig(A,C), noig(A,D),
noig(B,C), noig(B,D), noig(C,D).
noig(X,Y) :- X\=Y.

25

En CLP se consideran variables con dominios finitos, y se utiliza otro operador para la
restriccin de desigualdad entre dos variables que: X##Y. El procesador slo evala esta
condicin cuando una de las dos variables tiene asignado un valor, y entonces elimina ese
valor del dominio de la otra. Naturalmente, es necesaria otra construccin sintctica para
declarar los dominios de las variables.

Los componentes del estado, son equivalentes a un grafo de restricciones, los cuales estn
compuestos de:
Variables. Dominios (valores posibles para las variables).
Restricciones (binarias) entre las variables.
Objetivo: encontrar un estado (una asignacin completa de valores a las variables) Que
satisface las restricciones.
Ejemplos:
Crucigramas.
Colorear mapas.
Estado = Grafo de restricciones
o Variables = etiquetas de nodos
o Dominios = contenido de nodos
o Restricciones = arcos dirigidos y etiquetados entre nodos
Ejemplo: colorear un mapa

26

2.5.- Teora de juegos:

La modificacin necesaria de las estrategias de bsqueda ya vistas, es simplemente


incluir un ambiente competitivo
Esto da pie a problemas de bsqueda entre adversarios conocidos como juegos
La Teora de Juegos es un tipo de anlisis matemtico orientado a predecir cul ser el
resultado cierto o ms probable de una disputa entre dos o ms individuos o empresas o pases,
etc. En el mundo real son muy frecuentes las situaciones en las que, al igual que en los juegos,
su resultado depende de la conjuncin de decisiones de los diferentes agentes o jugadores. En
la teora de juegos no tenemos que preguntarnos qu vamos a hacer, tenemos que
preguntarnos qu vamos a hacer teniendo en cuenta lo que pensamos que harn los dems y
ellos actuarn pensando segn crean que van a ser nuestras actuaciones... tales situaciones
reciben el nombre de "juegos".
En su fase inicial la teora de juegos fue utilizada para explicar algunos comportamientos de la
economa, pero actualmente es utilizada en otras reas como el derecho, la biologa, la filosofa,
la tica, la ciencia poltica, la informtica, la inteligencia artificial o la ciberntica. El valor principal
de la Teora de Juegos es que analiza y cuantifica conceptos como la cooperacin, la
competicin y los conflictos interpersonales.
Algunas aplicaciones de la Teora de Juegos a la vida real son las siguientes: Contratos,
Guerras militares o comerciales, Marketing para la competencia en los mercados,
Negociaciones domsticas, comerciales o colectivas y Alianzas.
Esta teora fue diseada y elaborada a partir de la Segunda Guerra Mundial por John Von
Neumann (matemtico) y Oscar Morgenstern (economista) en 1944. Durante las dos dcadas
que siguieron a la guerra uno de los progresos ms importantes de la teora econmica fue la
Teora de Juegos y el comportamiento econmico.
A principios de los aos 50, con una serie de artculos, el matemtico John F. Nash, cuya
biografa es conocida mediante la pelcula Una Mente Maravillosa. Nash logra darle forma

27

matemtica al concepto de equilibrio que los economistas usaban durante esa poca y
demostr la existencia para una gran clase de juegos, con lo que se llam Equilibrio de Nash.

En sntesis, en la Teora de Juegos nada es fijo. La economa es dinmica y evoluciona. Los


jugadores crean nuevos mercados y asumen mltiples papeles. Son innovadores. Nadie adopta
los precios y los productos porque s. Si esto le suena como a libre mercado o a un escenario
de mercado rpidamente cambiante, sta es la razn por la cual la Teora de Juegos es tan
atrayente en la nueva economa.
Una aplicacin actual de la Teora de Juegos est dada en el anlisis del poder de decisin de
los pases de la Unin Europea respecto a la regla de votacin incluida en el Tratado de la
Constitucin Europea, celebrado en Bruselas el 18 de junio de 2004. Investigadores en Teora
de Juegos, de la Universidad de Sevilla, han presentado una carta a los gobiernos de los
Estados miembros de la Unin Europea, puesto que resultados de su investigacin han arrojado
como conclusin que con dicha regla de votacin no se respeta el principio bsico de cualquier
ciudadano de la Unin Europea que es que tenga el mismo poder de decisin; por ello han
propuesto un nuevo sistema de votacin.

28

Conclusin
Las estrategias de bsquedas vistas en esta unidad nos dan una idea de cmo los investigadores en IA
proponen diferentes formas de solucin para los problemas. Estas tcnicas son clsicas de la IA y es
por ello que deben ser conocidas por todos aquellos que estn relacionados con programacin de
soluciones por computadora. Existen otros mtodos que requieren de mayor complejidad de
programacin para encontrar mejores soluciones en un tiempo razonable, como son el mtodo de
ascenso de la colina, recocido simulado, algoritmos genticos, las redes neuronales. Todos ellos
requieren de una mayor complejidad de computacin y mayor conocimiento e informacin del problema.
En la mayora de las estrategias contempladas en el captulo, debe utilizarse medios para evitar estados
repetidos, de esta forma se ahorrar espacio de almacenamiento y tiempo de recorrido. Tal y como lo
dice Rusell-Norvig en su libro Los algoritmos que olvidan su historia estn condenados a repetirla.
El mundo real es ms complejo de lo que se formula en los problemas para solucionar por computadora,
sin embargo, asumimos que los seres humanos para encontrar soluciones tampoco requieren de mucha
informacin, o al menos no requiere conocer todo el universo para encontrar soluciones buenas. Por
ejemplo, no requerimos de mucha informacin, ni de mucho tiempo para seleccionar una botella de
refresco que compramos en el supermercado. Esto justifica en parte lo que hacemos cuando reducimos
nuestro problema. Aun cuando por su simplicidad sean problemas de juguete.
Es importante hacer mencin que un ser humano no realiza bsquedas de este tipo en su mente. Porque
un ser humano quiz necesitara de minutos para crear y comprobar cada combinacin o estado posible,
y tendra una considerable dificultad para tener en mente cada paso del proceso de comprobacin y las
asignaciones que ha comprobado. Aun cuando utilizara papel y lpiz como apoyo, sera un proceso muy
lento. Adems, un ser humano al pasar el tiempo, su calidad de trabajo disminuye, por lo que las
soluciones que encuentra un ser humano son las ptimas. Ahora la pregunta obligada, Cmo
solucionan este problema los seres humanos?, la respuesta est siendo investigada dentro del campo
de la IA, y esperemos que en un futuro no lejano encuentren la respuesta.

29

Bibliografa.
Palma Mndez, J. and Marn Morales, R. (2008). Inteligencia artificial. Aravaca: McGraw-Hill
Interamericana de Espaa.

Russell, S., Norvig, P. and Bautista Gutirrez, R. (1996). Inteligencia artificial. Mxico: Prentice
Hall Hispanoamericana.

30

Anda mungkin juga menyukai