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

Resolucin de

problemas mediante IA

Resolucin de problemas de Inteligencia Artificial

Para construir un sistema que resuelva un sistema especfico, es necesario:

1.

Definicin formal del problema

El primer paso para disear un programa que resuelva un problema es crear una descripcin
formal y
manejable del propio problema. Sera adecuado contar con programas que produzcan
descripciones
formales a partir de descripciones informales, proceso denominado
operacionalizacin.
Hay problemas que por ser artificiales y estructurados son fciles de especificar (por ej. el
ajedrez, el problema de las jarras
de agua, etc. ). Otros problemas naturales, como por ej.
la comprensin del
lenguaje, no son tan sencillos de especificar. 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. Automatas

Resolucin de problemas de Inteligencia Artificial

Por ejemplo, en el problema de jugar al ajedrez:

el espacio de estados son la totalidad de tableros que se puede generar en un juego de ajedrez; el
estado inicial es el tablero de 8 x 8 donde cada celda contiene un smbolo de acuerdo a las piezas
situadas; el objetivo o estado final se define como cualquier posicin de tablero en la que el
contrario no puede realizar ningn movimiento legal y su rey est amenazado; las reglas son los
movimientos legales, que pueden describirse mediante una parte patrn para ser contrastado con la
posicin actual de tablero y otra parte que describe el cambio que debe producirse en el tablero.
Dado que escribir exhaustivamente todas las reglas es imposible prcticamente, (en el ejemplo,
escribir todas las posiciones de tablero), las reglas deben escribirse de la manera ms general
posible. La representacin como espacio de estados forma parte de la mayora de los mtodos de IA.
Su estructura se corresponde con la resolucin de problemas porque: 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).

Resolucin de problemas de Inteligencia Artificial


Ejercicio 1: Problema de las jarras de agua
Si se tiene 2 jarras de agua, una de 4l y otra de 3l sin escala de medicin. Se desea tener 2l
de agua en la jarra de 4l. Las siguientes operaciones son vlidas: llenar las jarras, tirar agua
de las jarras, pasar agua de una jarra a otra.
Solucin:
El espacio de estados se define como: X y Y 0<=X<=4 AND y 0<=Y<=3
Las reglas que se pueden aplicar son: si esta bien definidas?
1.Llenar la jarra de 4l: Si (X,Y) AND X<4
2.Llenar la jarra de 3l: Si (X,Y) AND Y<3
3.Vaciar la jarra de 4l: Si (X,Y) AND X>0
4.Vaciar la jarra de 3l: Si (X,Y) AND Y>0
5.Pasar agua de la jarra de 4l a la jarra de 3l hasta llenarla: Si (X,Y) AND X>0 AND X+Y>=3
6.Pasar agua de la jarra de 3l a la jarra de 4l hasta llenarla: Si (X,Y) AND Y>0 AND X+Y>=4
7.Pasar toda el agua de la jarra de 4l a la jarra de 3l: Si (X,Y) AND X>0 AND X+Y<3
8.Pasar toda el agua de la jarra de 3l a la jarra de 4l: Si (X,Y) AND Y>0 AND X+Y<4

Resolucin de problemas de Inteligencia Artificial

El programa debera encontrar un pasaje de estados para ir del estado inicial


hasta el final. Puede existir ms de un pasaje de estados hacia la solucin,
esto se debe a la utilizacin de reglas.
Estas reglas no aaden ms potencia al sistema ya que las operaciones que
describen las proporcionan otras reglas ms generales.
En el ejemplo, la primera regla agregada es equivalente a la aplicacin de las
reglas generales 3 y 8; y la segunda regla agregada es equivalente a la
aplicacin de la regla general 4. Dependiendo de la estrategia de control que
se utilice para seleccionar reglas durante la resolucin del problema se puede
mejorar el rendimiento si se les da preferencia a las reglas de casos
especiales.

Resolucin de problemas de Inteligencia Artificial

Anlisis del problema


Luego de definir el problema formalmente, el segundo paso en la resolucin del problema es
el anlisis del mismo. A fin de poder elegir el mtodo ms apropiado para resolver un
problema particular, es necesario analizar distintas cuestiones que afectan a al definicin del
mismo y a las caractersticas de la solucin deseada. Existen varias preguntas a responder
acerca del problema:
1. 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 partes, existen otros problemas que no pueden descomponerse y componer la
solucin a partir de las soluciones parciales de sus partes. Por el contrario, una solucin
necesita considerar globalmente el problema. Por ej. el problema del mundo de los bloques.

Resolucin de problemas de Inteligencia Artificial

Anlisis del problema


2. Pueden deshacerse pasos inadecuados hacia la solucin?: Algunos problemas permiten
deshacer uno o varios pasos hacia una solucin una vez realizados. En este aspecto, existen
tres categoras en las que puede dividirse un problema

Recuperables: En un punto dado es posible deshacer todos los pasos inadecuados hacia la
solucin.

No recuperables: En un punto dado no es posible deshacer ningn paso realizado. Por ej.
en una partida de ajedrez no se puede volver atrs una vez movidas las piezas. En estos
problemas el sistema debe esforzarse en la toma de decisiones pues stas son
irrevocables. Algunos usan una planificacin en la que se analiza por adelantado una
secuencia de pasos antes de realizar el primer paso para descubrir a donde conduce.

Ignorables: En un punto dado es posible ignorar los pasos realizados hasta el momento y
comenzar de nuevo con una nueva solucin.

Resolucin de problemas de Inteligencia Artificial

Anlisis del problema


3. Es predecible el universo del problema? Los problemas pueden se de:
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. Los
problemas ms difciles de resolver son los no recuperables de consecuencia incierta. Por
ej. el control del brazo de un robot: es de consecuencia incierta pues alguien puede
interponer un objeto en la ruta del brazo, se puede atascar, etc.

Resolucin de problemas de Inteligencia Artificial

Anlisis del problema


4. 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 viajante importa encontrar la ruta
ms corta entre las ciudades a visitar.

Resolucin de problemas de Inteligencia Artificial


Anlisis del problema
5. 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.

Resolucin de problemas de Inteligencia Artificial


Anlisis del problema
6. 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.

Resolucin de problemas de Inteligencia Artificial


Anlisis del problema
7. 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.

Resolucin de problemas de
Inteligencia Artificial

Definir formalmente y analizar los 7 puntos anteriores en el siguiente


problema:

Se hallan N discos de distinto tamao apilados sobre una base 1 de manera que
cada disco se encuentra sobre uno de mayor radio. Existen otras dos bases vacas
2 y 3. El objetivo es llevar todos los discos de la base 1 hasta la base 3, para lo
cual puede usarse la base 2. Considerar que se puede mover slo un disco a la
vez, y cada disco puede descansar solamente en las bases y no en el suelo.
Recordar que los discos deben situarse siempre sobre uno de mayor radio.

Actividad
Realizar con el ejemplo anterior y el de las jarra lo siguiente:
1.

Expresin regular.

2.

Autmata

3.

Programa.

Ayuda para el ejemplo anterior pueden utilizar el siguiente enlace:


www.mena.com.mx/gonzalo/juegos/hanoi/index.html

Вам также может понравиться