Sistemas Basados en el Conocimiento

Unidad III Sistemas Basados en el Conocimiento Maestría en Sistemas Computacionales Clave: MPSCO-0108 6 Créditos Sesiones Sábados 10-13 Rafael Vázque...
3 downloads 1 Views 706KB Size
Unidad III Sistemas Basados en el Conocimiento

Maestría en Sistemas Computacionales Clave: MPSCO-0108 6 Créditos Sesiones Sábados 10-13 Rafael Vázquez Pérez

viernes 3 de octubre de 14

Agenda

“"Recurrimos a la televisión para apagar el cerebro, y a la computadora para encenderlo". Steve Jobs

3.1. Modelado y Representación del Conocimiento 3.2. Inferencia 3.3. Construcción de un Knowledge Based System (KBS) 3.4. Sistemas Expertos

viernes 3 de octubre de 14

Conocimientos e Inferencia •

Con fines de asegurar que caracteriza a los programas de IA, es necesario dotar a la computadora de mecanismos que le permitan representar los problemas así como también su solución.



Para construir un KBS requiere ante todo el poder representar conocimientos en una computadora



Es importante distinguir el conocimiento, de los datos

viernes 3 de octubre de 14

Modelado y Representación del Conocimiento •

Si un programa esta pensado principalmente para sacar conclusiones sobre las situaciones de la vida real, no puede deducir y formular conclusiones de éste mundo real, por si mismo.



El programa deberá de inicio disponer de un modelo sobre el cual pueda trabajar.



Generalmente los programas se basan en modelos matemáticos que describen el mundo real como un conjunto de entidades caracterizadas por sus propiedades y ligas entre ellas por sus relaciones

viernes 3 de octubre de 14

Modelado y Representación del Conocimiento • La siguiente figura nos muestra el ejemplo de una masa conectada a un resorte que esta fijado a la pared. s g

viernes 3 de octubre de 14

m

Modelado y Representación del Conocimiento • Un ejemplo de modelo



viernes 3 de octubre de 14

• • •

Entidades: m,s,g Propiedades: masa(m), resorte(s), pared(g) Relaciones: conectado(m,s), conectado(s,g)

Aunque debemos darnos cuenta que este modelo a nivel de objetos y relaciones no serían suficiente para efectuar cálculos sobre el sistema

Modelado y Representación del Conocimiento •

Si deseamos simular con el ejemplo, el movimiento de un bloque es necesario modelar su posición, velocidad así como la fuerza que se ejerce sobre el bloque

• •

Entidades: x,v,a,F,t



igual(v,dx/dt), igual(a,dv/dt), igual(F,-dx),igual(F,ma)

viernes 3 de octubre de 14

Relaciones: posición(m,x), velocidad(m,v), aceleración(m,a), fuerza(s,F), tiempo(t)

Modelado y Representación del Conocimiento • Debemos hacer notar que el modelo anterior presupone que solo se tiene influencia en el resorte de acuerdo al movimiento de newton.

• Para elaborar un programa que simule o

analice el sistema masa-resorte con un lenguaje de programación algorítmico, es utilizable solamente la parte de las variables y las ecuaciones.

viernes 3 de octubre de 14

¿ Es necesario representar dentro del programa información concerniente a los objetos y sus relaciones ?

s g

viernes 3 de octubre de 14

m

Program Oscilador; const s=3.452; m=7.342; var x,v,t: real; k: integer; begin t:=0; v:=0; x:=-1.0; for k:=1 to 100 do begin v:=v!0.1*s*x/m; x:=x+0.1*v; t:=t+0.1; print(t,x); end; end.

Representación de Datos en Programas algorítmicos

viernes 3 de octubre de 14



Representación de conocimientos en Sistemas basados en el Conocimiento

Modelado y Representación del Conocimiento •

Un programa trabaja sobre los datos para derivar sus predicciones.Y ambos están formulados dentro de los términos propios del modelo seleccionado.



Para realizar esto el programa manipula una representación del modelo almacenado dentro de la memoria de la computadora.



Dentro de los lenguajes de programación, (los mas convencionales) esta representación consiste en un conjunto de variables, donde cada una representa una instancia particular seleccionada por un elemento del modelo

viernes 3 de octubre de 14

Modelado y Representación del Conocimiento •

Dentro del caso de la masa conectada con el resorte, un programa de simulación tendrá en cuenta un conjunto de 4 variables x, v, a y F.

• •

Este conjunto constituirá el modelo del sistema a simular.



Por lo que nos debe de quedar claro que la diferencia que existe entre el modelo y su representación



El programa de simulación contiene la representación de un modelo de un sistema masa-resorte

viernes 3 de octubre de 14

Los seres humanos podemos interpretar que el programa de simulación modela al sistema masa-resorte.

Modelado y Representación del Conocimiento •

La interpretación de la representación dentro de los términos de un modelo particular es actividad estrictamente propia del usuario.



Una manera de distinguir el conocimiento, de los datos consiste en considerar que el significado de los símbolos representan el conocimiento y son solamente fijos, pero ademas son lo mas cerca que los seres humanos le atribuyen un significado.



Asi entonces el conocimiento son datos formulados bajo un modelo cognitivo humano y por los cual tiene una sola interpretación.

viernes 3 de octubre de 14

Modelado y Representación del Conocimiento •

La capacidad de la IA de representar el conocimiento mejora cuando el modelo subyacente a programar es idéntico al de la percepción humana.



El usuario de un programa basado en el conocimiento, no tiene necesidad de saber que es lo que hace el programa para interpretar los resultados.

• •

Esta interpretación es única y puede ser formulada en lengua natural.

viernes 3 de octubre de 14

Existen bases de conocimientos estandarizadas llamadas ontologías, que son utilizadas para formalizar el intercambio de información entre diferentes programas y bases de datos. El consorcio www ha estandarizado los lenguajes para su formalización

Representación del Conocimiento •

Representar un modelo cognitivo sobre una computadora es una tarea que necesita estructuras de datos mas poderosas que las ofrecidas por los lenguajes de programación clásicos



El formalismo mas comúnmente utilizado para representar conocimiento es la lógica, mas específicamente el calculo de predicados o lógica de primer orden.



En la lógica la unidad básica de información elemental es la proposicion, la cual representa un hecho en particular.

viernes 3 de octubre de 14

Representación del Conocimiento •

Ejemplos

• • •

VoF

México esta en América (Enunciado Declarativo) V

Ejemplos de No proposiciones

• • • viernes 3 de octubre de 14

Juan pesa 89 kilos (Enunciado Declarativo)

¿Que comen los gatos ? Prohibido Fumar ¡ Viva México!

Representación del Conocimiento •

En el calculo de predicados una proposición debe expresarse por una Formula Bien Formada (FBF)



Una FBF es una expresión que respeta las reglas de escritura del calculo de predicados



Estas formulas se construyen con los siguientes elementos:

• •

viernes 3 de octubre de 14

Instancias: representadas por símbolos como Juan,Verde, Luna Predicados: símbolos delante de un numero fijo de argumentos como lloro. estudiante(juan), color(verde), tiene(juan,25)

Representación del Conocimiento •

conectores lógicos

• • • • • •

⋁ or ∼ no si

entonces

si y solo si

cuantificadores

• •

viernes 3 de octubre de 14

⋀ and

∀ Para toda x ∃ Existe al menos un valor de x

Representación del Conocimiento •

En muchos casos, existe la necesidad de aplicar una pequeña transformación para que el predicado quede en la forma FBF

• •

viernes 3 de octubre de 14

FBF ::= (A ⋀ B ⋀ ............ ⋀ M) A puede ser

( a1 ⋁ a2 ⋁ ........... a n )

Ejemplos • • • • • • • •

viernes 3 de octubre de 14

Enunciado: “Juan Pesa 78 kg” Predicado: pesa(juan,78) Enunciado: Mozart no es un escritor Predicado: ∼escritor(mozart) Enunciado: Picaso es cubista y Monet es impresionista Predicado: cubista(picaso) ⋀ impresionista(monet) Enunciado: Todos los cpu intel son caros ∀x (cpu(x) ⋀ es(x,intel))→ caro(x)

Inferencia •

La utilidad de la representación del calculo de predicados es que permite hacer inferencias por un programa.

• •

Una Inferencia lógica sigue el ejemplo siguiente:



viernes 3 de octubre de 14

Dado un conjunto de proposiciones P, encuentre las proposiciones x tales que si todas las proposiciones P son verdaderas, x también lo será. {P}⊢x

Inferencia •

Existen pruebas que todo calculo algorítmico podría ser formulado bajo la forma de un problema de inferencia lógica.



El lenguaje de programación adecuado para realizar estas aplicaciones se llama Prolog



Existe una amplia variedad de algoritmos de inferencia lógica.

viernes 3 de octubre de 14

Tarski World´s y Prolog

viernes 3 de octubre de 14

Practica •

Dado los siguientes predicados, construya un mundo que haga que todas las sentencias sean verdaderas

1. Tet(a) 2. FrontOf (a,b) 3. ¬Between(a,b,c) 4. Between(a,b,c)∧Between(a,c,b) 5. FrontOf(a, c) → Between(d, e, c) 6. (Tet(a)∧FrontOf(a,b))→Between(a,d,e)

viernes 3 de octubre de 14

Practica (continuación) •

Dadas las siguientes frases del idioma ingles, conviértalas a sentencias bien formadas y construya el mundo de tarski, de tal forma que todas sean verdaderas al evaluarlas.

1.

If a is a tetrahedron, then b is also a tetrahedron.

2.

c is a tetrahedron if b is.

3.

a and c are both tetrahedra only if at least one of them is large.

4.

a is a tetrahedron but c isn’t large.

5.

If c is small and d is a dodecahedron, then d is neither large nor small.

6.

c is medium only if none of d, e, and f are cubes.

7.

d is a small dodecahedron unless a is small.

8.

d and e are the same size.

9.

d and e are the same shape.

viernes 3 de octubre de 14

Suggest Documents