martes, 25 de marzo de 2014

Sistemas de Producción

Un sistema de producción proporciona una estructura que facilita la descripción y la ejecución de un proceso de búsqueda. Un sistema de producción consiste de:
  • Un conjunto de facilidades para la definición de reglas.
  • Mecanismos para acceder a una o más bases de conocimientos y datos.
  • Una estrategia de control que especifica el orden en el que las reglas son procesadas, y la forma de resolver los conflictos que pueden aparecer cuando varias reglas coinciden simultáneamente.
  • Un mecanismo que se encarga de ir aplicando las reglas.

Dentro de esta definición general de sistema de producción, se incluyen:
  • Lenguajes básicos para sistemas de producción (LISP, CLIPS, PROLOG). También se los conoce como lenguajes de Inteligencia Artificial.
  • Sistemas híbridos y sistemas vacíos (shells) para producción de sistemas basados en conocimientos (VP-Expert, Expert Teach, Personal Consultant, Intelligence Compiler, EXSYS).
  • Arquitecturas generales para resolución de problemas (máquinas LISP, máquinas PROLOG). 
Características De Los Sistemas De Producción.
  • Un sistema de producción, al igual que los problemas, puede ser descrito por un conjunto de características que permiten visualizar la mejor forma en que puede ser implementado.
  • Un sistema de producción se dice que es mono tónico si la aplicación de un regla nunca evita que más tarde se pueda aplicar otra regla que también pudo ser aplicada al momento en que la primera fue seleccionada.
  • Un sistema de producción es parcialmente conmutativo si existe un conjunto de reglas que al aplicarse en una secuencia particular transforma un estado A en otro B, y si con la aplicación de cualquier permutación posible de dichas reglas se puede lograr el mismo resultado.
  • Un sistema de producción es conmutativo, si es mono tónico y parcialmente conmutativo.

Resolución De Problemas En Inteligencia Artificial. 
      En general, podemos afirmar que un problema consiste en:
  • Una descripción de la situación de la que se parte;
  • Una descripción de la situación a la que se quiere llegar;
  • Una descripción de los medios de que disponemos para alcanzar nuestro objetivo.
En el contexto de la Informática, a partir de un problema, se intenta construir un sistema que lo resuelva.
Resumidamente, las acciones para construir un sistema que resuelva un problema serían:
Definir el problema con precisión (especificación del problema), habitualmente a partir de un enunciado del problema expresado en lenguaje natural: de qué se parte; cuál es el objetivo.
  • Analizar el problema: información para elegir las técnicas.
  • Aislar y representar el conocimiento necesario para resolver el problema.
  • Elegir la mejor técnica que resuelva el problema y aplicarla al problema particular.
Un sistema de producción consiste en:
Una base de datos/hechos/conocimiento con información sobre el problema;
Un conjunto de reglas (operadores);
Una estrategia de control;
Un aplicador de reglas: ciclo de reconocimiento-actuación.
Las representación mediante formalismos lógicos puede verse de forma procedimental
Describimos cuales son los pasos para resolver un problema como una cadena de deducciones
La representación se basa en dos elementos:
Hechos: Proposiciones o Predicados
Reglas: Formulas condicionales donde el consecuente habitualmente está formado por un predicado atómico o una acción.
Analogía con búsqueda en espacio de estados
Hechos = Estado del problema
Reglas = Operadores de búsqueda

Las Técnicas De Solución De Problemas En IA.
En general, incorporan un proceso de búsqueda. Todo proceso de búsqueda puede ser visualizado como el recorrido por un árbol en el que cada nodo representa un estado y cada rama representa las relaciones entre los estados cuyos nodos conecta.
En general, las reglas contienen en forma implícita el árbol, y se genera en forma explícita sólo aquellas partes que se decide explorar. Las principales diferencias que pueden aparecer en las diferentes técnicas de búsqueda, son:
La dirección en la cual se conduce la búsqueda (hacia adelante o hacia atrás).
La estrategia de control, o forma de seleccionar las reglas que pueden ser aplicables. Los principales requerimientos de una buena estrategia de control son: que cause desplazamiento en el espacio de estado; y, que sea sistemático.
La forma de representar cada nodo del proceso de búsqueda (representación del conocimiento).
Muchas veces, tratar el proceso como búsqueda en un grafo en lugar de una búsqueda en un árbol, puede reducir el esfuerzo que se gasta en explorar senderos, esencialmente iguales, varias veces. Sin embargo, los requisitos asociados, son:
Cada vez que se genere un nodo se debe chequear para ver si ha sido generado antes.
Se deben introducir procedimientos especiales para que la búsqueda no quede atrapada en algún lazo.

sábado, 8 de marzo de 2014

La IA en la Solución de Problemas: Espacio de Estados


    
Muchos de los problemas que pueden ser resueltos aplicando técnicas de inteligencia artificial se modelan definiendo las configuraciones posibles del problema estudiado. El problema se plantea en términos de encontrar una configuración objetivo a partir de una configuración inicial dada, aplicando transformaciones válidas según el modelo del problema. La respuesta, es la secuencia de transformaciones cuya aplicación sucesiva lleva a la configuración deseada.
 
     Los ejemplos más característicos de esta categoría de problemas son los juegos. En un juego, las configuraciones del universo corresponden directamente a las configuraciones del tablero. Cada configuración, es un estado que puede ser esquematizado gráficamente y representado en forma simbólica. Las transformaciones permitidas corresponden a las reglas o movidas del juego, formalizadas como transiciones de estado.
 
     Entonces, para plantear formalmente un problema, se requiere precisar una representación simbólica de los estados y definir reglas del tipo condición - acción para cada una de las transiciones válidas dentro del universo modelado. La acción de una regla indica como modificar el estado actual para generar un nuevo estado. La condición impone restricciones sobre la aplicabilidad de la regla según el estado actual, el estado generado o la historia completa del proceso de solución.
 
      El espacio de estados de un juego es un grafo cuyos nodos representan las configuraciones alcanzables (los estados válidos) y cuyos arcos explicitan las movidas posibles (las transiciones de estado). En principio, se puede construir cualquier espacio de estados partiendo del estado inicial, aplicando cada una de las reglas para generar los sucesores inmediatos, y así sucesivamente con cada uno de los nuevos estados generados (en la práctica, los espacios de estados suelen ser demasiado grandes para explicitarlos por completo).

      Cuando un problema se puede representar mediante un espacio de estados, la solución computacional corresponde a encontrar un camino desde el estado inicial a un estado objetivo.

Ejemplo:

     Un arriero se encuentra en el borde de un rio llevando un puma, una cabra y una lechuga. Debe cruzar a la otra orilla por medio de un bote con capacidad para dos (el arriero y alguna de sus pertenencias). La dificultad es que si el puma se queda solo con la cabra la devorará, y lo mismo sucederá si la cabra se queda sola con la lechuga. ¿Cómo cruzar sin perder ninguna pertenencia?
 
Representación de las configuraciones del universo del problema:
     Basta precisar la situación antes o después de cruzar. El arriero y cada una de sus pertenencias tienen que estar en alguna de las dos orillas. La representación del estado debe entonces indicar en que lado se encuentra cada uno de ellos. Para esto se puede utilizar un término simbólico con la siguiente sintáxis: estado(A,P,C,L), en que A, P, C y L son variables que representan, respectivamente, la posición del arriero, el puma, la cabra y la lechuga. Las variables pueden tomar dos valores: i y d, que simbolizan respectivamente el borde izquierdo y el borde derecho del rio. Por convención se elige partir en el borde izquierdo. El estado inicial es entonces estado(i,i,i,i). El estado objetivo es estado(d,d,d,d).
 
Definición de las reglas de transición:
     El arriero tiene cuatro acciones posibles: cruzar solo, cruzar con el puma, cruzar con la cabra y cruzar con la lechuga. Estas acciones están condicionadas a que ambos pasajeros del bote estén en la misma orilla y a que no queden solos el puma con la cabra o la cabra con la lechuga. El estado resultante de una acción se determina intercambiando los valores i y d para los pasajeros del bote.
 
Generación del Espacio de Estados:
     En este ejemplo se puede explicitar todo el espacio de estados (el número de configuraciones está acotado por:
estado movidas
cruza solo con puma con cabra con lechuga
estado(i,i,i,i) problema problema estado(d,i,d,i) problema
estado(d,i,d,i) estado(i,i,d,i) imposible estado(i,i,i,i) imposible
estado(i,i,d,i) estado(d,i,d,i) estado(d,d,d,i) imposible estado(d,i,d,d)
estado(d,d,d,i) problema estado(i,i,d,i) estado(i,d,i,i) imposible
estado(d,i,d,d) problema imposible estado(i,i,i,d) estado(i,i,d,i)
estado(i,d,i,i) problema imposible estado(d,d,d,i) estado(d,d,i,d)
estado(i,i,i,d) problema estado(d,d,i,d) estado(d,i,d,d) imposible
estado(d,d,i,d) estado(i,d,i,d) estado(i,i,i,d) imposible estado(i,d,i,i)
estado(i,d,i,d) estado(d,d,i,d) imposible estado(d,d,d,d) imposible
estado(d,d,d,d) problema problema estado(i,d,i,d) problema

Este espacio de estados también se puede representar mediante un grafo equivalente.
 
Solución del Problema:
     El camino que pasa por la siguiente secuencia de estados es una solución del problema:
estado(i,i,i,i)
cruza con cabra
estado(d,i,d,i)
cruza solo
estado(i,i,d,i)
cruza con puma
estado(d,d,d,i)
cruza con cabra
estado(i,d,i,i)
cruza con lechuga
estado(d,d,i,d)
cruza solo
estado(i,d,i,d)
cruza con cabra
estado(d,d,d,d)

Fuente: http://users.dcc.uchile.cl/~abassi/52a/material/c5.html

viernes, 7 de marzo de 2014

Introducción a la Inteligencia Artificial


Como en toda ciencia, para aprenderla, es necesario saber sobre qué estamos hablando, por eso en este primer post, hablaremos acerca de lo que nuestro Blog se refiere:

¿Que es Inteligencia? Es la capacidad de relacionar conocimientos que poseemos para resolver una determinada situación. Si indagamos en la etimología de la palabra, encontramos en su origen latino inteligere, compuesta de intus (entre) y legere (escoger). Por lo que deducimos que ser inteligente es saber elegir la mejor opción entre las que se nos brinda para resolver un problema.

¿Qué es Artificial? Se refiere a un producto de la actividad humana, como sinónimo de "Hecho por el Hombre". También se utiliza en el sentido de "falso", ya que pretende ser o mostrar algo que no es, como un sustituto de lo natural. Pero debemos ampliar la definición y decir que lo artificial no sólo es producido por el ser humano, sino que "artificial" es todo aquello producido por la actividad de seres inteligentes.

Inteligencia Artificial (IA): Ees un área multidisciplinaria que, a través de ciencias, tales comoinformática, la lógica y la filosofía, estudia la creación y diseño de entidades capaces de razonar por si mismas utilizando como paradigma la inteligencia humana.

Tan general y amplio como eso, es que reúne varios campos (robótica, sistemas expertos, por ejemplo),  los cuales tienen en común la creación de máquinas que pueden pensar. En ciencias de la computación se denomina inteligencia artificial a la capacidad de razonar de un agente no vivo. 

"Es la ciencia e ingenio de hacer máquinas inteligentes, especialmente programas de cómputo inteligentes" - John McCarthy, 1956

jueves, 6 de marzo de 2014

¡Bienvenido(a)!

Hola! Bienvenido(a) a mi Blog!
En éste sitio encontrarás información relacionada con Inteligencia Artificial, abajo te comparto mi workspace para cualquier actividad en la que pueda ayudarte:


Espero que encuentres aquí alguna información que te sea útil.
Saludos!