lunes, 4 de abril de 2016

UNIDAD 4. SISTEMAS DE RAZONAMIENTO



Sistemas de Producción.
Un sistema de Producción consiste en la búsqueda de las soluciones posibles dentro de un Espacio de Estados, utilizando un sistema de búsqueda llamado: “Motor de Inferencia”, conocido también como “Estrategia de Control” (Aunque esto es uno de los componentes del Motor de inferencia).

Si particularizamos la definición de “problema” dada en el apartado anterior del siguiente modo:

Entrada: una descripción del estado inicial del mundo.
Salida: una descripción (parcial) del estado del mundo deseado.
Medios: una descripción de acciones que puedan transformar un estado del mundo en otro, acciones que son consideradas como operadores o reglas.

tendremos el marco conceptual que permite resolver el problema por medio de un sistema de producción.

Un sistema de producción consiste en:

• Una base de datos/hechos/conocimiento con información sobre el problema (BC);
• Un conjunto de reglas (operadores);
• Una estrategia de control;
• Un aplicador de reglas: ciclo de reconocimiento-actuación.

La parte más importante de los Sistemas de Producción es la estrategia de control (motor de inferencia). Es la que establece el proceso de búsqueda de la solución. Un sistema de producción es empleado para una  búsqueda en un espacio de estados. Con esta perspectiva, uno de los cometidos de la estrategia de control consiste en decidir qué operador aplicar en cada momento:

•¿Se puede aplicar?
•¿Produce algún cambio en el estado?
•¿Qué estado elegir para aplicar los operadores?
•¿Qué sucede si hay varios operadores posibles a aplicar? (resolución de conflictos)



Los operadores, que admiten una interpretación como reglas, son acciones simples que pueden transformar un estado en otro.

(Ver Figura 4)
 
                                           Figura 4. Arquitectura de un sistema de producción


Tarea: 

Descargar el material complementario "Sistema de Producción"


Elementos del Sistema de Producción:
·         Base de conocimientos. Es la parte del sistema de producción que contiene el conocimiento sobre el dominio, hay que obtener el conocimiento del experto y codificarlo en la base de conocimientos. Una forma clásica de representar el conocimiento en un sistema de producción son lar reglas.
·      Base de hechos. Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos.  (En este punto se produce un estado inicial).
·         Motor de inferencia. El sistema de producción modela el proceso de razonamiento humano con un módulo conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la información contenida en la base de conocimientos y la base de hechos para deducir nuevos hechos. (Nuevos posibles estados).
·       Subsistema de explicación. Una característica de los sistemas de producción es su habilidad para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema de producción puede proporcionar una explicación al usuario de por qué está haciendo una pregunta y/o cómo ha llegado a una conclusión.
·       Interfaz de usuario. La interacción entre un sistema experto y un usuario se realiza en lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación entre seres humanos. Un requerimiento básico del interfaz es la habilidad de hacer preguntas.
·       Memoria activa: Es el área en donde se realiza todo el proceso de inferencia. El lugar en donde el motor de inferencia utiliza las reglas y las aplica a los hechos para generar nuevos hechos (Estados).



MOTOR DE INFERENCIA.

 
Es el componente de un Sistema Experto, encargado de gerenciar y controlar lógicamente el manejo y utilización del conocimiento almacenado en la base. El paradigma del motor de inferencia es la estrategia de búsqueda para producir el conocimiento demandado.(Ver figura 5)


 

                                                Figura 5. Motor de Inferencia



El sistema sigue los siguientes pasos:

1. Evaluar las condiciones de todas las reglas respecto a la base de datos
2. Si no se puede aplicar ninguna regla, se termina sin éxito; en caso contrario se elige cualquiera de las reglas aplicables y se ejecuta su parte acción.
3. Si se llega al objetivo, se ha resuelto el problema; en caso contrario, se vuelve al paso 1

El Motor de Inferencia realiza dos tareas principales:

·    Examina los hechos y las reglas, y si es posible, añade nuevos hechos
·   Decide el orden en que se hacen las inferencias. Esto puede llevar a la deducción de nuevos hechos (estados).

Para realizar estas tareas, el motor de inferencia utiliza mecanismos de inferencia y estrategias de control, que son los dos elementos básicos del motor de inferencia:

1.        Interprete de reglas o mecanismo de inferencia o estrategias de inferencia.
Mecanismo de razonamiento que determina qué reglas de la BC (Base de Conocimiento) se pueden aplicar para resolver el problema.

2.        Estrategia de control o estrategia de resolución de conflictos, selecciona las reglas a aplicar.

Las estrategias de inferencia que más se emplean en sistemas expertos están basadas en la aplicación de las reglas lógicas denominadas “modus ponens” y modus tollens”.

Modus Ponens.
Es quizá la regla de inferencia más utilizada. Se utiliza para obtener conclusiones simples, en ella se analiza la premisa de la regla, y si es cierta, la conclusión entra a formar parte del conocimiento. Como ilustración supóngase que se tiene la regla, “ Si A es cierto, entonces B es cierto”, y que se sabe además que “A es cierto”. La regla Modus Ponens, concluye que “B es cierto”. (Ver figura 6)


                                                      Figura 6. Modus Ponens
                                                     

Modus Tollens.
Se utiliza también para obtener conclusiones simples. En este caso se examina la conclusión, y si es falsa, se concluye que la premisa también es falsa. Por ejemplo, supóngase de nuevo que “Si A es cierto, entonces B es cierto” pero se sabe que “B es falso”. Entonces, utilizando la regla Modus Ponens no se puede obtener ninguna conclusión pero la regla Modus Tollens concluye que “A es falso”. (Ver figura 7)




                                             Figura 7. Modus Tollens


FASES DEL CICLO BÁSICO.

1.      Detección (filtro): Reglas pertinentes
Interprete de reglas: Obtención, desde la BC (Base de Conocimiento), del conjunto de reglas aplicables a una situación determinada (estado) de la BH (Base de Hechos).
  • Formación del conjunto de conflictos
2.      Selección:                   ¿Qué regla?

Estrategia de control: Resolución de conflictos.
  • Selección de la regla a aplicar
3.      Aplicación
Aplicación de la regla a una situación determinada (estado) de la BH (Base de Hechos). Modificación de la memoria de trabajo.

 4.      Actualización.
  • Modificación de la memoria de trabajo.
5.      Vuelta al punto 1, o parada si el problema está resuelto 
  • Si no se ha encontrado una solución y no hay reglas aplicables: fracaso.



 ACTIVIDADES:

a) Revisa el siguiente enlace sobre el teme "Lógica de Inferencia"
b) Revisa el material de complemento con el tema: REGLAS DEL MOTOR DE INFERENCIA





domingo, 18 de octubre de 2015

UNIDAD 3. REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO



3.1 SISTEMAS BASADOS EN CONOCIMIENTO O AGENTES BASADOS EN CONOCIMIENTO

Concepto de conocimiento.

El conocimiento es un conjunto de información almacenada mediante la experiencia o el aprendizaje (a posteriori), o a través de la introspección (a priori).

El conocimiento puede ser:

"A priori": cuando no necesita de la experiencia,  solo le basta la razón para llegar a un conocimiento.

"A posteriori": cuando necesita de la experiencia para llegar a un conocimiento válido. 

El conocimiento tiene su origen en la percepción sensorial, después llega al entendimiento y concluye finalmente en la razón.

La percepción sensorial obedece a los estímulos cerebrales logrados a través de los 5 sentidos, vista, olfato, tacto, auditivo, gusto, los cuales dan una realidad física del ambiente.

Los conceptos de interés para la Inteligencia artificial son:

“La representación del conocimiento y los procesos de razonamiento que permiten que ésta evolucione”

Nota: Una inferencia es una evaluación que realiza la mente entre proposiciones.

El papel que pretende la representación del conocimiento en Inteligencia Artificial es reducir problemas de acción inteligente en meros problemas de búsqueda.

ANALOGÍA ENTRE PROGRAMACIÓN Y LOS PROCESOS DE INTELIGENCIA ARTIFICIAL


LA META DE LOS “AGENTES BASADOS EN CONIOCIMIENTO” CONSISTE EN:
  
               a) Que el conocimiento aparezca explícitamente en una base.
               b) Que se logren conclusiones del conocimiento declarado en la base.

Para ello es indispensable la LÓGICA, que utiliza la notación matemática para gestionar el conocimiento o puede ser representado en lenguaje natural (español, inglés, entre otros).

Tanto en el Lenguaje Natural como en la Lógica, la unidad es la oración (Sentence), llamada también “Sentencia”, la cual debe cumplir con:

  •          Una Sintaxis
  •         Una semántica
  •          Validez
  •          La inferencia

El conocimiento y el razonamiento juegan un papel importante cuando se trata con entornos parcialmente observables. Un agente basado en conocimiento puede cambiar el conocimiento general con las percepciones reales para inferir aspectos ocultos del estado del mundo, antes de seleccionar cualquier acción.

Por ejemplo, un médico diagnostica a un paciente (es decir, infiere una enfermedad que no es directamente observable) antes de seleccionar un tratamiento.

Parte del conocimiento que utiliza el médico está en forma de reglas que ha aprendido de los libros de texto y sus profesores, y parte en forma de patrones de asociación que el médico no es capaz de describir explícitamente.  Si este conocimiento está en la cabeza del médico, es su conocimiento.

El entendimiento del lenguaje natural también necesita inferir estados ocultos, en concreto, la intención del que habla. Cuando escuchamos, “Juan vió el diamante a través de la ventana y lo codició”, sabemos que “lo” se refiere al diamante y no a la ventana. (quizá de forma inconsciente, razonamos en nuestro conocimiento acerca del papel relativo de las cosas).  De forma similar,  cuando escuchamos, “Juan lanzó el ladrillo a la ventana y se rompió”, sabemos que “se” se refiere a la ventana.

“El razonamiento nos permite hacer frente a una variedad virtualmente infinita de manifestaciones utilizando un conjunto finito de conocimiento de sentido común”

Los agentes (sistemas) que resuelven problemas presentan dificultades con este tipo de ambigüedad debido a que su representación de los problemas con contingencias es exponencial y la lógica no puede representar bien esta incertidumbre.

 LA RAZÓN PARA ESTUDIAR  A LOS AGENTES BASADOS EN CONOCIMIENTO ES SU FLEXIBILIDAD.

Ellos son capaces de aceptar tareas nuevas en forma de objetivos descritos explícitamente, pueden obtener rápidamente competencias informándose acerca del conocimiento del entorno o aprendiéndolo, y pueden adaptarse a los cambios del entorno actualizando el conocimiento relevante.

AGENTES BASADOS EN CONOCIMIENTO

El componente principal de un agente basado en conocimiento es su BASE DE DATOS, o BC. Informalmente, una base de conocimiento es un conjunto de sentencias. Cada sentencia se expresa en un lenguaje denominado: LENGUAJE DE REPRESENTACIÓN DEL CONOCIMIENTO.

Debe haber un mecanismo para añadir sentencias nuevas a la base de conocimiento, y uno para preguntar qué se sabe en la base de conocimiento.  Los nombres para estas dos tareas son: DECIR Y PREGUNTAR. Ambas tareas requieren realizar inferencia, es decir, derivar nuevas sentencias de las antiguas.

¿CÓMO FUNCIONA?

El agente  recibe una percepción como entrada y devuelve una acción.

El agente mantiene una Base de Conocimientos, BC, que inicialmente contiene algún conocimiento de antecedentes. Cada vez que el programa del agente es invocado, realiza dos cosas. Primero, DICE a la base de conocimiento lo que ha percibido. Segundo, PREGUNTA a la base de conocimiento qué acción debe ejecutar. En este segundo proceso de responder a la pregunta, se debe realizar un razonamiento extensivo acerca del estado actual del mundo, de los efectos de las posibles acciones, entre otros. Una vez se ha escogido la acción, el agente graba su elección mediante un DECIR y ejecuta la acción. Este segundo DECIR es necesario para permitirle a la base de conocimiento saber que la acción hipotética realmente se ha ejecutado (Ver figura 1).





Figura 1. Un agente basado en conocimiento genérico.


“Uno puede construir un agente basado en conocimiento simplemente DICIÉNDOLE al agente lo que necesita saber”

LA CONSTRUCCIÓN DE UN AGENTE BASADO EN CONOCIMIENTO SE PUEDE HACER EN DOS ENFOQUES:

    a) ENFOQUE DECLARATIVO: El programa del agente, inicialmente, antes de que empiece a recibir percepciones, se construye mediante la adición, una a una, de las sentencias que representan el conocimiento del entorno que tiene el diseñador.

     b) ENFOQUE PROCEDURAL: Se codifican los comportamientos que se desean obtener directamente en código de programación. Mediante la minimización del papel de la representación explícita y del razonamiento se pueden obtener sistemas mucho más eficientes.

Además de DECIRLE al agente lo que necesita saber, podemos proveer a un agente basado en conocimiento de los mecanismos que le permitan aprender por sí mismo. Estos mecanismos crean un conocimiento general acerca del entorno con base en un conjunto de percepciones. Este conocimiento se puede incorporar a la “base de conocimiento” del agente y utilizar para su toma de decisiones . De esta manera, el agente puede ser totalmente autónomo.

Todas estas capacidades (representación, razonamiento y aprendizaje) se apoyan en la teoría y tecnología de la lógica, pero antes veamos “El mundo de wumpus” que nos permitirá ilustrar estos mecanismos.

Revisa el material marcado como: "Inteligencia Artificial, un enfoque moderno". Imprime las hojas numeradas de 217 al 235 (Tema: Agentes lógicos) y llévalas a clase para su revisión.



3.2 MAPAS CONCEPTUALES
3.3 REDES SEMÁNTICAS



PARA REALIZAR EN CASA.

Para atender los puntos del temario 3.2 “Mapas conceptuales”  y 3.3 “Redes semánticas” de la Unidad III, busca información sobre los temas y revisa los vÍdeos y material de los siguientes enlaces para complementar:


ACTIVIDAD: En forma individual, elabora un mapa conceptual de algún tema visto en clase. Del mismo tema elabora una red semántica.  El mapa y la red pueden ser realizados a mano, o bien, mediante el uso de una herramienta de software. Se revisará que incluyan los componentes propios de cada representación gráfica. Entrega al docente el día indicado en clase.




CONCEPTOS FUNDAMENTALES DE LA LÓGICA 

En esta sección se conocerán los conceptos fundamentales de la representación y el razonamiento lógico, que son más generales y bellos de lo que se piensa.

SINTAXIS

Las bases de conocimiento se componen de sentencias. Estas sentencias se expresan de acuerdo a la sintaxis del lenguaje de representación que especifica todas las sentencias que están bien formadas.

Por ejemplo:

En la aritmética la sentencia: “x + y = 4” es una sentencia bien formada.

Mientras que “2y+=” no lo es.

Las sentencias de la base de conocimientos son configuraciones sintácticas bien formadas. El razonamiento implica generar y manipular estas configuraciones.

SEMÁNTICA

Si lo relacionamos con el lenguaje hablado, la semántica trata el “Significado” de las sentencias. En lógica esta definición es más precisa. La semántica del lenguaje define el valor de verdad de cada sentencia respecto a cada mundo posible o entorno real en los que el agente pueda o no estar.

Utilizaremos la palabra modelo como sinónimo de mundo posible. También utilizaremos la frase m es un modelo de α” para indicar que la sentencia α es verdadera en el modelo m.

Por ejemplo:

La sentencia x + y = 4, es verdadera cuando, formalmente, los modelos posibles son justamente todas aquellas posibles asignaciones de números a las variables x e y en donde la suma es igual a 4.

En el razonamiento lógico, este requiere de la relación de implicación lógica entre las sentencias, es decir, la idea de que una sentencia se sigue lógicamente de otra sentencia. Su notación matemática es: 

α|= β

Lo que significa que la sentencia α implica la sentencia β. La definición formal de implicación es esta: α|= β si y solo si en cada modelo en el que α es verdadera, β también lo es. Otra forma de definirla es que si α es verdadera, β también lo debe ser.

Revisa el material proporcionado por el docente: "El mundo de wumpus"

3.4 LÓGICA PROPOSICIONAL O DE PREDICADOS

SINTAXIS

La sintaxis de la Lógica proposicional nos define las sentencias que se pueden construir. Las sentencias atómicas (es decir, los elementos sintácticos indivisibles) se componen de un único símbolo proposicional. Cada uno de estos símbolos representa una proposición que puede ser verdadera o falsa. Utilizaremos letras mayúsculas para estos símbolos: P, Q, R, y siguientes.
Por ejemplo:
W13  para representar que el wumpus se encuentra en la casilla [1,3].

Hay dos símbolos proposicionales con significado fijo:

1)      Verdadero, que es la proposición que siempre es verdadera.
2)      Falso, que es la proposición que siempre es falsa.

Las sentencias complejas se construyen a partir de sentencias más simples mediante el uso se las conectivas lógicas, que son las siguientes cinco:




Gramática Formal de una Lógica Proposicional









TABLA DE VERDAD O VALIDEZ











                                    Proceso de razonamiento (P equivale a H):




EQUIVALENCIA LÓGICA.





ACTIVIDAD: Desarrollar el punto 3.5 de su temario dado al inicio de curso, es decir: Tomando en cuenta el tema de la unidad 3. "REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO",  desarrollar el punto 3.5: "RAZONAMIENTO CON INCERTIDUMBRE", que incluya también los subtemas:
                                              3.5.1 Aprendizaje, 
                                              3.5.2 Razonamiento Probabilístico
                                              3.5.3 Lógicas multivaluadas.

Les recuerdo que el trabajo se debe realizar de manera individual, formal y para entregar el día 6 de abril.