Sie sind auf Seite 1von 30

16/4/2012

ITSPP

TECNICAS DE BUSQUEDA Y REPRESENTACION DE CONOCIMIENTOS y RAZONAMIENTOS

Inteligencia Artificial | Carlos E. Garca Molina

2.1 Solucin de Problemas con Bsqueda .............................................................................. 3 Definicin del problema ........................................................................................................... 3 Anlisis del problema ............................................................................................................... 4 2.2 Espacio de estados ............................................................................................................... 8 Representacin de problemas mediante espacios de estados......................................... 8 2.2.1 y 2.2.2 Espacios de estado deterministico y no-deterministico................................... 9 2.3 Mtodos de bsqueda........................................................................................................... 9 2.3.1 2.3.2 Bsqueda Breadth-First Search (primero en ancho) ...................................... 11 Bsqueda Depth-First Search (primero en profundidad) .............................. 12

2.3.3 Grafos A* ........................................................................................................................... 13 2.4 Satisfaccin de Restricciones........................................................................................ 14 2.5 Teora de juegos ................................................................................................................ 15 Representacin de Conocimiento y Razonamiento .................................................................. 19 3.1 Sistemas Basados En Conocimientos.............................................................................. 19 3.1.1 Concepto de Conocimiento ......................................................................................... 20 3.1.2 3.2 Lenguajes Utilizados en la Recepcin de Conocimiento .............................. 21 Mapas Conceptuales ................................................................................................... 22

Qu son los mapas conceptuales? ................................................................................... 22 Elementos de los Mapas Conceptuales.............................................................................. 22 Utilizacin de los mapas conceptuales ............................................................................... 23 3.3 Redes semnticas ........................................................................................................ 23

Qu son las redes semnticas? ........................................................................................ 23 3.4 Lgica de Predicados.................................................................................................. 24

3.4.1 Sintaxis ............................................................................................................................... 25 3.4.2 3.4.3 3.4.4 Semntica ................................................................................................................... 26 Validez ......................................................................................................................... 27 Inferencia .................................................................................................................... 27

3.5 Razonamiento con incertidumbre .................................................................................... 28 3.5.1 Aprendizaje ........................................................................................................................ 28 3.5.2 Razonamiento probabilstico ...................................................................................... 29 Bibliografia ....................................................................................................................................... 30

2 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Tcnicas de Bsqueda
2.1 Solucin de Problemas con Bsqueda

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. 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. Las estrategias de bsqueda clsicas que se abordarn son: bsqueda en profundidad, bsqueda en amplitud, bsqueda con retroceso, bsqueda primero el mejor y A*, adems de Minimax. 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 del problema

El primer paso para disear un programa que resuelva un problema es crear una descripcin forma y manejable del propio problema. Sera adecuado contar con programas que produzcan descripciones formales a partir de descripciones informales, proceso denominado operacionalizacin. Dado que por ahora no se
3 Ingeniera en Sistemas Computacionales Inteligencia Artificial

conoce la forma de construir estos programas este proceso debe hacerse manualmente. 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. La representacin como espacio de estados forma parte de la mayora de los mtodos de Inteligencia Artificial. 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). 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 la definicin del mismo y a las caractersticas de la solucin deseada. Existen varias preguntas a responder acerca del problema:
4 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Puede descomponerse el problema en sub-problemas ms pequeos? Pueden deshacerse pasos inadecuados hacia la solucin? Es predecible el universo del problema? Una solucin es buena de manera absoluta o relativa? La solucin deseada es un estado o la ruta hacia un estado? El conocimiento se necesita para resolver el problema o para restringir la bsqueda de la solucin? El programa que soluciona el problema busca la solucin solo o necesita interactuar con una persona? Puede descomponerse el problema en sub-problemas ms pequeos? Algunos problemas pueden descomponerse en sub-problemas 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 o el mundo de los bloques. Por el contrario, una solucin necesita considerar globalmente el problema. 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. Por ej. en el juego 8-puzzle. La estructura de control se implementa con una pila en la que se almacenan las decisiones para poder volver atrs.

5 Ingeniera en Sistemas Computacionales Inteligencia Artificial

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 dnde conduce. Ignoradles: en un punto dado es posible ignorar los pasos realizados hasta el momento y comen-zar de nuevo con una nueva solucin. Por ej. un demostrador de teoremas puede abandonar una demostracin basada en un lema dado y comenzar nuevamente. Estos problemas se resuelven con estrategias de control sencillas que nunca vuelven hacia atrs. Es predecible el universo del problema? Los problemas pueden ser 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. 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.
6 Ingeniera en Sistemas Computacionales Inteligencia Artificial

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. 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. 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. 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:
7 Ingeniera en Sistemas Computacionales Inteligencia Artificial

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 llevo a l. 2.2 Espacio de estados

Un espacio de estados es un grafo cuyos nodos corresponden a estados del problema. De ste modo, utilizando sta representacin, la solucin a los problemas se convierte en la bsqueda de caminos rutas ptimas dentro del grafo. Representacin de problemas mediante espacios de estados.

Estudiaremos ejemplos de formulacin de problemas utilizando la aproximacin de espacio de estados. El problema de los bloques. El problema consiste en encontrar un plan para reordenar la pila de bloques que se muestra.

8 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Las restricciones al problema son las siguientes: solamente podemos mover un bloque cada vez; un bloque puede levantarse nicamente cuando no tiene nada encima; el bloque levantado puede colocarse sobre el piso sobre otro bloque. Para resolver el problema se requiere encontrar una secuencia de movimientos vlidos que hagan la conversin. Es decir, podemos entender el problema como una exploracin de alternativas posibles; en el estado inicial nicamente tenemos una alternativa: colocar el bloque C sobre el piso. Luego del primer movimiento encontramos ahora tres alternativas: poner el bloque A sobre la piso, colocar el bloque A sobre C y, poner el bloque C sobre A. Este tipo de anlisis est basado en el manejo de dos tipos de conceptos: estados del problema y, movimientos vlidos que nos hagan pasar de un estado del

problema a otro estado del mismo. 2.2.1 y 2.2.2 Espacios de estado deterministico y no-deterministico

Un ambiente deterministico es aquel en el cual cualquier accin tiene un solo efecto garantizado, no hay incertidumbre acerca del estado que resultara de la realizacin de la accin. El mundo fsico puede ante todos los intentos y propsitos, ser considerado como no deterministico. Un ambiente no

deterministico presenta problemas ms grandes para el agente diseador. Un sistema es deterministico si, para un estado dado, al menos aplica una regla a l y de solo una manera. 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 deterministico. 2.3 Mtodos de bsqueda El problema puede resolverse con el uso de reglas en combinacin con una estrategia de control para trasladarse a travs del espacio de estados hasta encontrar un camino desde el estado inicial hasta el estado final. Se elige una regla entre aquellas cuya parte izquierda concuerda con el estado actual. Se
9 Ingeniera en Sistemas Computacionales Inteligencia Artificial

aplica la regla elegida realizando el cambio de estado tal como se describe en la parte derecha de la regla. Si el nuevo estado es estado objetivo o final se ha encontrado la solucin. En caso contrario se contina con la aplicacin de reglas al nuevo estado. Una estrategia de control especifica el orden en el que se deben aplicar las reglas, as como tambin la forma de resolver conflictos cuando es posible aplicar ms de una regla. Para que una estrategia de control sea vlida debe cumplir con dos requisitos:

Causar cambios: Las estrategias de control que no causan cambios de estado nunca alcanzan la solucin. Un ejemplo de estrategia de control que no causa cambios es seleccionar siempre la primera regla aplicable de la lista de reglas definidas. En el ejemplo de las jarras de agua, se continuara indefinidamente aplicando las reglas 1 y 3 sin posibilidad de arribar a la solucin.

Ser sistemtica: Las estrategias de control que no son sistemticas pueden utilizar secuencias de operaciones no apropiadas varias veces hasta alcanzar la solucin. Un ejemplo de estrategia de control no sistemtica es seleccionar la regla a aplicar al azar. Esta estrategia puede encontrar la solucin eventualmente, pero luego de haber realizado varios pasos innecesarios e incluso haber vuelto varias veces al mismo estado.

En caso de no contar con una aproximacin directa al problema, el proceso de bsqueda resulta fundamental en la resolucin del mismo. Los algoritmos de bsqueda detallados a continuacin son ejemplos de estrategias de control sistemticas. Todos se basan en considerar un rbol de estados cuya raz es el estado inicial, y en cada nivel se hallan los estados sucesores correspondientes.

10 Ingeniera en Sistemas Computacionales Inteligencia Artificial

2.3.1 Bsqueda Breadth-First Search (primero en ancho) Este algoritmo de bsqueda visita cada nodo del rbol por niveles, es decir, visita todos los nodos de un nivel antes de visitar los del siguiente. A continuacin se detalla un pseudo-cdigo de este algoritmo: Lista_nodos Mientras Not Vacia(lista_nodos) estado_actual = lista_nodos.primero; = [estado_inicial];

Si EstadoFinal(estado_actual) entonces Terminar; Sino lista_reglas = ReglasAplicables (estado_actual);

Mientras NOT Vacia(lista_reglas) estado_sucesor = AplicarRegla (lista_reglas);

lista_nodos = lista_nodos + [estado_sucesor]; Fin Mientras; Fin Sino; Fin Mientras; Este algoritmo bsico debera modificarse para detectar el caso en que se vuelva a alcanzar un estado que ya ha sido visitado con anterioridad. En este caso, debera realizarse una "poda" de la rama del rbol, ya que en caso contrario se volvera a generar un subrbol ya generado. Con la bsqueda a lo ancho se asegura que una vez alcanzada una solucin no existe otra ruta hacia la solucin que tenga menor cantidad de pasos. Una desventaja de este algoritmo es que para alcanzar una solucin de n pasos, debe haber explorado todo el espacio de estados hasta ese nivel.

11 Ingeniera en Sistemas Computacionales Inteligencia Artificial

2.3.2 Bsqueda Depth-First Search (primero en profundidad) Este algoritmo de bsqueda contina por una rama del rbol hasta encontrar la solucin o decidir terminar la bsqueda por esa direccin (por llegar al estado final, por tener un largo de ruta que supera una cota mxima determina, por haber llega a un estado ya visitado, etc.). Al fracasar una ruta, se realiza un backtracking o vuelta atrs, continuando la exploracin en el paso inmediatamente anterior. A continuacin se detalla un pseudo-cdigo de este algoritmo recursivo que inicialmente es llamado con el estado_inicial: Funcin Buscar (estado _actual) devuelve Boolean Comienzo Si EstadoFinal(estado_actual) entonces Devolver TRUE; Sino exito lista_reglas = = ReglasAplicables FALSE; (estado_actual);

Mientras NOT exito AND NOT Vacia(lista_reglas) estado_sucesor = AplicarRegla (lista_reglas);

exito = Buscar (estado_sucesor); Fin Devolver exito; Fin Sino; Fin Buscar; Este algoritmo bsico debera modificarse para terminar la bsqueda en una rama que se alcanza un estado que ya visitado. Con la bsqueda en profundidad no es necesario tener almacenado todo el espacio de estados, sino slo el camino que se est explorando. Puede encontrar la solucin sin tener que explorar gran parte del espacio de estados. Como desventajas de este algoritmo se seala que puede seguir una ruta infructuosa
12 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Mientras;

durante muchos pasos, y adems la primera solucin que encuentra puede distar mucho de ser la solucin de mnima cantidad de pasos.

2.3.3 Grafos A*

El problema de algunos algoritmos de bsqueda en grafos informados, como puede ser el algoritmo voraz, es que se guan en exclusiva por la funcin heurstica, la cual puede no indicar el camino de coste ms bajo, o por el coste real de desplazarse de un nodo a otro (como los algoritmos de escalada), pudindose dar el caso de que sea necesario realizar un movimiento de coste mayor para alcanzar la solucin. Es por ello bastante intuitivo el hecho de que un buen algoritmo de bsqueda informada debera tener en cuenta ambos factores, el valor heurstico de los nodos y el coste real del recorrido. As, el algoritmo A* utiliza una funcin de evaluacin donde ,

representa el valor heurstico del nodo a evaluar desde el actual, n, , el coste real del camino recorrido para llegar a dicho nodo, n,

hasta el final, y

desde el nodo inicial. A* mantiene dos estructuras de datos auxiliares, que podemos denominar abiertos, implementado como una cola de prioridad (ordenada por el valor de cada nodo), y cerrados, donde se guarda la

informacin de los nodos que ya han sido visitados. En cada paso del algoritmo, se expande el nodo que est primero en abiertos, y en caso de que no sea un nodo objetivo, calcula la nodo evaluado a cerrados. El algoritmo es una combinacin entre bsquedas del tipo primero en anchura con primero en profundidad: mientras que profundidad, tiende a primero en de todos sus hijos, los inserta en abiertos, y pasa el

tiende a primero en anchura. De este modo, se cambia de

camino de bsqueda cada vez que existen nodos ms prometedores.

13 Ingeniera en Sistemas Computacionales Inteligencia Artificial

2.4 Satisfaccin de Restricciones Un problema de satisfaccin de restricciones (PSR) viene definido por lo siguientes elementos 1. Conjunto finito de variables {x1xN} 2. Conjunto finito de dominios D asociado a cada variable x

especificando los posibles valores que pueden tomar. 3. Un conjunto finito de restricciones C1,Cn que definen una serie de propiedades que deben verificar los valores asignados a las variables. Una solucin al problema es una asignacin de valores a las variables.{x1 = v1.xn = vn} tal que v e D y se verifican las restricciones. Esta formulacin permite una representacin simple del problema y el uso de heursticas de propsito general, independiente del problema. Tipos de problemas Clasificacin segn el tipo de restricciones. Restricciones de obligacin (hard contraints) Restricciones de preferencia (Soft contraints) Clasificacin segn dominio Dominio discreto (finito o infinito) Dominio contino Clasificacin segn el nmero de variables implicadas en la restriccin Restricciones binarias Restricciones mltiples

14 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Aplicaciones para IA Restricciones: forma general de representacin del conocimiento Satisfaccin de restricciones: razonamiento automtico 2.5 Teora de juegos La teora de juegos es un rea de la matemtica aplicada que utiliza modelos para estudiar interacciones en estructuras formalizadas de incentivos (los llamados juegos). Sus investigadores estudian las estrategias ptimas as como el comportamiento previsto y observado de individuos en juegos. Tipos de interaccin aparentemente distintos pueden, en realidad, presentar estructuras de incentivos similares y, por lo tanto, representar conjuntamente un mismo juego. Desarrollada en sus comienzos como una herramienta para entender el comportamiento de la economa, la teora de juegos se usa actualmente en muchos campos, desde la biologa a la filosofa. Experiment un crecimiento sustancial y se formaliz por primera vez a partir de los trabajos de John von Neumann y Oskar Morgenstern, antes y durante la Guerra Fra, debido sobre todo a su aplicacin a la estrategia militar en particular a causa del concepto de destruccin mutua garantizada. Desde los setentas, la teora de juegos se ha aplicado a la conducta animal, incluyendo el desarrollo de las especies por la seleccin natural. A raz de juegos como el dilema del prisionero, en los que el egosmo generalizado perjudica a los jugadores, la teora de juegos se ha usado en ciencia poltica, tica y filosofa. Finalmente, ha atrado tambin la atencin de los investigadores en informtica, usndose en inteligencia artificial y ciberntica. La Teora de Juegos fue creada por Von Neumann y Morgenstern La Teora de Juegos consiste en razonamientos circulares, los cuales no pueden ser evitados al considerar cuestiones estratgicas. Por naturaleza, a los humanos
15 Ingeniera en Sistemas Computacionales Inteligencia Artificial

no se les da muy bien pensar sobre los problemas de las relaciones estratgicas, pues generalmente la solucin es la lgica a la inversa. En la Teora de Juegos la intuicin no educada no es muy fiable en situaciones estratgicas, razn por la que se debe entrenar tomando en consideracin ejemplos instructivos, sin necesidad que los mismos sean reales. Por lo contrario en muchas ocasiones disfrutaremos de ventajas sustanciales estudiando juegos, si se eligen cuidadosamente los mismos. En estos juegos-juegos, se pueden desentender de todos los detalles. Si en lugar de utilizar personajes ficticios utilizamos personajes reales para los juegos si se observase qu tan honesto es ese personaje, cmo manipulara la informacin obtenida, etc. Para un especialista en Teora de Juegos el ser deshonesto, etc., sera un error comparable al de un matemtico que no respeta las leyes de la aritmtica porque no le gustan los resultados que est obteniendo. La idea bsica cuando buscas vencer computacionalmente un adversario es intentar predecir todos los posibles movimientos, todas las posibles

situaciones desde tu turno hasta el final de la partida, y elegir la que prometa mejores resultados. Esta idea se la conoce como la de generar todo el rbol de bsqueda. Pero esta estrategia tan bruta la gran mayora de veces ser algo imposible e inaceptable, pues una partida no puede durar siglos. Lo que realmente haremos ser buscar una aproximacin de las mejores jugadas, guindonos mediante heursticos, y prediciendo nicamente las situaciones con mejor pinta (pues por ejemplo no sirve de nada saber las situaciones que podran darse despus de hacer un paso en falso). Para poder realizar los clculos computacionalmente, har falta una

abstraccin codificable del juego. Entender e implementar realmente el problema.

16 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Necesitaremos una representacin del estado (vlida para cualquier estado), otra del estado inicial (desde dnde se empieza a jugar y quin inicia el juego), otra del estado ganador (ya sea por estructura o por propiedades), y finalmente definir los operadores de movimiento vlidos de los jugadores, que determinarn las jugadas que puede hacer un agente desde el estado actual. Adems deberemos definir la aproximacin heurstica, es decir, la funcin que nos indique lo cerca que estamos de una juagada ganadora. En esta funcin intervendr informacin del dominio del juego, y deber tener un coste computacional lo ms bajo posible. Una vez definido el universo del juego, nos tocar aplicar el algoritmo ms adecuado. Mtodos Utilizados en Juegos Sin Adversario Para algoritmos de juegos unipersonales (por ejemplo los puzzles o el solitario) suelen utilizarse los algoritmos ms comunes de bsqueda

heurstica, aunque realmente las soluciones a un juego unipersonal pueden encontrarse con cualquier algoritmo de fuerza bruta sin heurstica alguna, siempre y cuando se disponga del tiempo y memoria necesarios. De entre los algoritmos de bsqueda heurstica, suele utilizarse o bien el algoritmo A*, que se describe en esta seccin, o bien el algoritmo IDA* (segn los recursos del computador). El algoritmo A* (Hart, 1968) implementa una bsqueda primero el mejor (best-first). En otras palabras, se basa en intentar encontrar todos los movimientos necesarios para llegar del estado inicial al estado final, usando preferiblemente aquellos movimientos que sean ms favorables. As, entre otras cosas, se puede lograr minimizar los pasos de la solucin, o el tiempo de clculo.

17 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Para conocer qu movimiento es mejor se utiliza una funcin de evaluacin esttica formada descompuesta como: f=g+h Donde f ser el valor numrico del movimiento estudiado, la funcin g es una funcin del coste de llegar del estado inicial al estado actual, y la funcin h es una estimacin del coste de llegar desde el estado actual al estado final o objetivo. Lgicamente, h es una estimacin porque no conocemos a priori el camino exacto hacia la solucin. El algoritmo A*, simplificado y con sintaxis imprecisa, viene a ser el siguiente: Algoritmo A* Estados_pendientes.insertar(Estado_inicial); Actual = Estados_pendientes.primero(); Mientras (no_es_final(Actual) y (no Estados_pendientes.vacio)) hacer Estados_pendientes.borrar_primero(); Estados_ya_estudiados.insertar(Actual); Sig_movimientos = generar_sucesores(Actual); Sig_movimientos = eliminar_repetidos(Sig_movimientos, Estados_ya_estudiados, Estados_pendientes); Estados_pendientes.insertar(Sig_movimientos); Actual = Estados_pendientes.primero();
18 Ingeniera en Sistemas Computacionales Inteligencia Artificial

fMientras fAlgoritmo Mtodos Utilizados en Juegos Con Adversario Pero la chicha de los algoritmos de juegos se encuentra en los juegos con adversario. Aqu es donde estos algoritmo se diferencian de los dems algoritmos de bsqueda tpicos. A continuacin se presentan los ms importantes y las tcnicas de mejora tambin ms conocidas. An as existen muchsimos algoritmos ms que quedaron fuera de este documento, como podran ser DUAL*, Mem*, o B*.

Representacin de Conocimiento y Razonamiento


3.1 Sistemas Basados En Conocimientos

Representan un paso delante de los sistemas de informacin convencionales al pretender representar funciones cognitivas del ser humano como el aprendizaje y el razonamiento. Su arquitectura y sus formalismos de representacin son la base de muchos de los sistemas actuales. Su orientacin es la automatizacin del anlisis de problemas, la bsqueda de soluciones, la toma de decisiones y el empleo de conocimiento especializado en un campo especfico de aplicacin. Su uso se puede encontrar en todas las ramas de aplicaciones especiales de los sistemas informticos donde se requieran prestaciones especiales, sobre todo en aquellas reas donde el conocimiento de expertos sea el soporte bsico como medicina, industria, gestin, finanzas, organizacin empresarial y otros.

19 Ingeniera en Sistemas Computacionales Inteligencia Artificial

3.1.1 Concepto de Conocimiento El conocimiento es un conjunto de informacin almacenada mediante la

experiencia o el aprendizaje (a posteriori), o a travs de la introspeccin (a priori). En el sentido ms amplio del trmino, se trata de la posesin de mltiples datos interrelacionados que, al ser tomados por s solos, poseen un

menor valor cualitativo.

Para el filsofo griego Platn, el conocimiento es aquello necesariamente verdadero (episteme). En cambio, la creencia y la opinin ignoran la realidad de las cosas, por lo que forman parte del mbito de lo probable y de lo aparente. El conocimiento tiene su origen en la percepcin sensorial, despus llega al entendimiento y concluye finalmente en la razn. Se dice que el conocimiento es una relacin entre un sujeto y un objeto.

La ciencia considera que, para alcanzar el conocimiento, es necesario seguir un mtodo. El conocimiento cientfico no slo debe ser vlido y consistente desde el punto de vista lgico, sino que tambin debe ser probado mediante el mtodo cientfico o experimental.

La

forma

sistemtica

de

generar

conocimiento

tiene

dos

etapas:

la investigacin bsica, donde se avanza en la teora; y la investigacin aplicada, donde se aplica la informacin.

Cuando el conocimiento puede ser transmitido de un sujeto a otro mediante una comunicacin formal, se habla de conocimiento explcito. En cambio, si el conocimiento es difcil de comunicar y se relaciona a experiencias personales o modelos mentales, se trata de conocimiento implcito.

20 Ingeniera en Sistemas Computacionales Inteligencia Artificial

3.1.2 Lenguajes Utilizados en la Recepcin de Conocimiento La vida de un ser humano se desarrolla merced a su capacidad de incorporar actividades aprendidas, sobre una base fundamental de actividades innatas. Unas y otras dependen del funcionamiento del sistema nervioso. Hay formas diferentes de aprendizaje las que se adquieren mediante la puesta en accin de distintos procesos cognitivos que tienen su base en el sistema nervioso y que utilizarn, tambin, reas y estructuras diferentes del cerebro y cerebelo.

El aprendizaje exige la existencia de mecanismos cerebrales que:

a) Recojan la informacin. b) La retengan durante perodos prolongados de tiempo. c) Tengan acceso a ella y la evoque cuando resulte necesaria. d) La procesen de tal manera que pueda ser relacionada con informaciones anteriores, simultneas o posteriores.

Para que ello se cumpla han de ponerse en marcha importantes funciones y cada una de ellas, a su vez, requiere la organizacin y secuencia de complejos procesos que van a depender de mltiples sistemas cerebrales que habrn de actuar coordinada e integralmente, bien de forma simultnea o de forma sucesiva.

Para mejor comprensin de los procesos que intervienen en el aprendizaje Quiros y Schreger (1978) divide el aprendizaje en 4 procesos:

1. Primer nivel: se trata de la supervivencia y adaptacin de las especies a los cambios ambientales y es lo que conocemos como aprendizaje sensorial.

2.

Segundo nivel: es el aprendizaje a travs de otras personas. Costumbres,

cultura y comportamientos sociales estn involucrados en este proceso.

21 Ingeniera en Sistemas Computacionales Inteligencia Artificial

3. Tercer nivel: implica el uso de smbolos que permiten la transmisin y recepcin del conocimiento a travs del lenguaje oral y escrito.

4. Cuarto Nivel: implica la habilidad de pensar con smbolos verbales y formular diferentes y nuevos patrones de comunicacin creativa. Aqu estn

implcitos todos los procesos del aprendizaje y su funcionabilidad, el cual se va complejizando en la medida que seamos capaces de resolver tareas y problemas cada vez ms complejos. 3.2 Mapas Conceptuales Los mapas conceptuales tienen su origen en los trabajos que Novak y sus colaboradores de la Universidad de Cornell.

Estos autores comparten la idea, de la importancia de la actividad constructiva el alumno en el proceso de aprendizaje, y consideran que los conceptos y las proposiciones que forman los conceptos entre s son elementos centrales

en la estructura del conocimiento y en la construccin del significado.

Qu son los mapas conceptuales? Los mapas conceptuales o mapas de conceptos son un medio para visualizar ideas o conceptos y las relaciones jerrquicas entre los mismos.

Elementos de los Mapas Conceptuales Los conceptos: Desde el punto de vista gramatical los conceptos se identifican como nombres, adjetivos y pronombres, los que

representan hechos, objetos, ideas, etc. Palabras de enlace: Que se utilizan para unir los conceptos y para indicar el tipo de relacin que se establece entre ellos.
22 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Las proposiciones: Dos o ms trminos conceptuales unidos por palabras para formar una unidad semntica.

Utilizacin de los mapas conceptuales La tcnica de elaboracin de mapas conceptuales es un medio didctico poderoso para organizar informacin, sintetizarla y presentarla grficamente. Tambin nos permite apreciar el conjunto de la informacin que contenga un texto y las relaciones entre sus componentes, lo que facilita su comprensin,

que sea el camino ms satisfactorio y efectivo para el aprendizaje.

Otra utilidad es que pueden servir para relatar oralmente o para redactar textos en los que se maneje lgica y ordenadamente considerables como organizadores de cierta informacin; de ah que sean contenido de gran valor para

diversas actividades acadmicas y de la vida prctica.

3.3 Redes semnticas Qu son las redes semnticas? Es una forma de representacin de conocimiento lingstico en la que los conceptos y sus interrelaciones se representan mediante un grafo. En caso de que no existan ciclos, estas redes pueden ser visualizadas como rboles. Las redes semnticas son usadas, entre otras cosas, para representar mapas conceptuales y mentales.

En un grafo o red semntica los elementos semnticos se representan por nodos, dos elementos semnticos entre los que se admite se da la relacin semntica que representa la red, estarn unidos mediante una lnea, flecha o arista. Cierto tipo de relaciones no simtricas requieren grafos dirigidos que usan flechas en lugar de lneas.

23 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Las

redes

semnticas el

han

sido

muy y por

utilizadas tanto

en Inteligencia Artificial ha existido una gran

para representar

conocimiento

diversificacin de tcnicas.

Los elementos bsicos que encontramos en todos los esquemas de redes son:

1. Estructuras

de

datos

en

nodos,

que

representan

conceptos,

unidas por arcos que representan las relaciones entre los conceptos.

2. Un

conjunto

de

procedimientos

de

inferencia

que

operan

sobre

las estructuras de datos.

Partes de una red semntica Nodos: Es un concepto y se encierra en un crculo o elipse. Relaciones: Es una propiedad del concepto y pueden ponerse de dos formas: Implcitas: Es una flecha que no especifica su contenido Explcitas: Es una flecha en donde se especifica su contenido

3.4 Lgica de Predicados

Resumiendo, diremos que una lgica consta de lo siguiente:

1. Un sistema formal para describir lo que est sucediendo en un momento determinado, y que consta de:

a) La sintaxis del lenguaje, que explica cmo construir oraciones. b) La semntica del lenguaje, que especifica las restricciones sistemticas sobre cmo se relacionan las oraciones con aquello que est sucediendo.

24 Ingeniera en Sistemas Computacionales Inteligencia Artificial

1. La teora de la demostracin: un conjunto de reglas para deducir las implicaciones de un conjunto de oraciones.

Nos concentraremos en dos tipos de lgica: la propositiva o lgica booleana y la lgica de primer orden (ms exactamente, el clculo de predicado de primer orden con igualdad).

En la lgica propositiva los smbolos representan proposiciones completas (hechos. Los smbolos de proposiciones pueden combinarse usando los conectivos booleanos para generar oraciones de significado ms complejo. Una lgica como esta poco se preocupa por la manera de representar las cosas, por ello no es sorprendente que no ofrezca mucho como lenguaje de representacin.

La lgica de primer orden (tambin conocida como clculo de predicados de primer orden) se preocupa por la representacin de los mundos en trminos de objetos y predicados sobre objetos (es decir, propiedades de los objetos relaciones entre los objetos), as como del uso o

de conectivos y

cuantificadores, mediante los cuales se pueden escribir oraciones sobre todo lo que pasa en el universo, a un mismo tiempo. 3.4.1 Sintaxis La sintaxis de la lgica propositiva es sencilla. Los smbolos utilizados en la lgica propositiva son las constantes lgicas Verdadero y Falso, , smbolos de proposiciones tales como P y Q, los conectivos lgicos , , , y y

parntesis ( ). Todas las oraciones se forman combinando los signos anteriores mediante las siguientes reglas: Las constantes lgicas Verdadero y Falso constituyen oraciones en s mismo.

25 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Encerrar

entre

parntesis

una

oracin

produce

tambin

una

oracin,

por ejemplo (P Q). Una oracin se forma combinando oraciones ms sencillas con uno de los cinco conectores lgicos: (y). Se le denomina conjuncin (lgica). (o). Se le denomina disyuncin. (implica). Se conoce como implicacin (o condicional). (equivalente). La oracin es una equivalencia (tambin conocida como bicondicional). (no). Se le conoce como negacin.

En

la

gramtica se

se

representan oraciones atmicas, mediante constan un de solo signo

que (por o

en

la

lgica

propositiva

representan que

ejemplo, P) (por

las oraciones complejas,

conectores

parntesis

ejemplo, PQ). Tambin se utiliza el trmino literal, que representa oraciones atmicas o una oracin atmica negada.

3.4.2 Semntica

La semntica de la lgica propositiva tambin es bastante directa. Se define especificando la interpretacin de los signos de proposicin y

de las constantes y especificando el significado de los conectores lgicos.

Un signo de proposicin significa que cualquier hecho arbitrario puede ser su interpretacin. Las oraciones que contienen solo un signo de proposicin son satis factibles pero no vlidos: son verdaderas solo cuando el hecho al que aluden es relevante en un momento dado.

26 Ingeniera en Sistemas Computacionales Inteligencia Artificial

En el caso de las constantes lgicas no hay opcin: la oracin Verdadero siempre quiere decir aquello que sucede en la realidad: el hecho de la verdad. La oracin Falso siempre quiere decir aquello que no existe en el mundo.

Una manera de definir una funcin es construir una tabla mediante la que se obtenga el valor de salida de todos los valores de entrada posibles. A este tipo de tablas se les conoce como tablas de verdad.

3.4.3 Validez

Las tablas de verdad sirven no solo para definir los conectores, sino tambin considerar para probar la validez de las oraciones. Si se desea hilera verdad

una oracin, se construye una tabla de verdad con una de las posibles combinaciones de valores de

por cada una

correspondientes a los signos propositivos de la oracin. Se calcula el valor de verdad de toda la oracin, en cada una de las hileras. Si la oracin es verdadera en cada una de las hileras, la oracin es vlida.

3.4.4 Inferencia El procedimiento que mediante tablas de verdad permite cerciorarse de la confiabilidad de una inferencia podra ampliarse a clases enteras de inferencias. Existen ciertos patrones de inferencias que se presentan una y otra vez, lo que permite manera establecer de una vez por todas sus confiabilidades. De esta

se aprende el patrn respectivo en algo que se conoce como regla de

inferencia. Una vez establecida una regla, se le puede emplear para hacer ms inferencias sin necesidad de pasar por el tedioso procedimiento de la construccin de las tablas de verdad.

27 Ingeniera en Sistemas Computacionales Inteligencia Artificial

3.5 Razonamiento con incertidumbre

El trmino incertidumbre significa razonamiento aproximado o inexacto de la informacin. Crear conclusiones tiles a partir de informacin incompleta o incierta no es una tarea imposible, No siempre los sistemas expertos pueden basarse en el razonamiento absoluto con un 100% de credibilidad, muchas veces se necesita de un razonamiento aproximado o probabilstico en el cual no se puede afirmar con precisin los resultados. 3.5.1 Aprendizaje

Aprendizaje: Incrementar el conocimiento adquirido, realizar tareas con mayor eficiencia o correccin, o llevar a cabo nuevas tareas.

Mquina que Aprende: Sistema organizado que transforma un mensaje de entrada en una salida, de acuerdo con un principio de transformacin. Si tal principio est sujeto a cierto criterio de validez, y el mtodo de transformacin se ajusta a fin de que tienda a mejorar el funcionamiento; se dice que el sistema aprende. Aprendizaje Animal: Cuando los organismos se ajustan o adaptan al conjunto de estmulos que provienen del entorno; reciben la informacin y la almacena con el fin de reutilizarla en situaciones o patrones de estmulos semejantes. Tipos de Aprendizaje: Habituacin Asociativo Condicionamiento Prueba y Error
28 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Latente. Imitacin

3.5.2 Razonamiento probabilstico La principal ventaja del razonamiento probabilstico sobre el razonamiento lgico es que el primero permite tomar decisiones racionales an en los casos en que no haya suficiente informacin para probar que cualquier accin dada funcionar. Es un caso dentro del razonamiento no montono.

29 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Bibliografia

http://redescolar.ilce.edu.mx/redescolar/biblioteca/articulos/pdf/mapas_conc eptuales.pdf http://es.wikipedia.org/wiki/Red_sem%C3%A1ntica http://www.dcc.uchile.cl/~abassi/Cursos/IA/Apuntes/c5.html http://www.scribd.com/doc/6772113/Problemas-y-Espacio-de-Estados

30 Ingeniera en Sistemas Computacionales Inteligencia Artificial

Das könnte Ihnen auch gefallen