Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Formas de Representacin del Conocimiento. Una vez que se adquiere (del especialista) el conocimiento, es necesario encontrar una representacin simblica, clara, precisa y completa del mismo. Para ello podemos mencionar que existen diversas formas de representar el conocimiento, como las siguientes: Representacin del Conocimiento Tripletas OAV Redes Semnticas Frames Reglas Tripletas Objetivo-Atributo-Valor (OAV). Permiten derivar una representacin grfica del conocimiento organizada en tres niveles: objeto compuesto de atributos que contienen valores. Ejemplo
Redes Semnticas. Ofrecen un esquema ms general y desestructurado que las tripletas OAV. Donde cada nodo representa cualquier concepto u objeto, y los arcos representan relaciones que existen entre dichos conceptos. Ejemplo:
Frames (Marcos).Un frame es una plantilla de objetos que contiene un conjunto de slots. Cada slot puede ser de alguno de los siguientes tipos: 1)un atributo simple con un valor opcional de default; 2)un procedimiento; 3)una restriccin; 4)un apuntador a otro frame. En programacin ofrece uno de los mecanismos de estructuracin ms poderosos y flexibles que existen en Inteligencia Artificial, e.g. puede implementar cualquier esquema de representacin del conocimiento e incluso diversos paradigmas de programacin como orientado a objetos, orientado a accesos, etc. Algunos idiomas de Lisp, como CommonLisp y CLOS ofrecen frames. Sin embargo, la complejidad de programar con frames puede fcilmente tornarse inadmisible e ineficiente cuando se posee poca habilidad, disciplina y conocimientos avanzados de programacin con frames.
Sistemas Basados en Reglas. En un sistema basado en relgas existen dos elementos bsicos que sirven para la representacin del conocimiento: Conocimiento Atributos Reglas Atributos. Un atributo es un smbolo que sirve para representar un conocimiento factual, i.e. asercin o hecho. Un atributo puede tener un valor indefinido, i.e. UNKNOWN, as como uno o ms valores, i.e. multivalor.
NAME: auto TYPE: symbol CHOICES/EXPECT: sedan, van, vagoneta PROMPT: "Qu tipo de carro desea comprar?"
Tipos.Existen diversos tipos de atributos que puede proporcionar un lenguaje o shell, como son: smbolos, cadenas y caracteres, numricos (enteros y reales) y booleanos.
Smbolo vs. Cadena: El smbolo es un elemento muy comn de procesamiento en sistemas expertos, tanto que ha llegado a constituir lo que se conoce como Programacin Simblica, donde expresiones tales como:
1) X = 12 2) Ecuacion = 2*x+5*x 3) N = juan
Establecen una forma muy particular de interpretarse: si los atributos X, Ecuacin y N son de tipo smbolo, los valores "12", "2*x+5*x" y "juan" se almacenarn como expresiones simblicas.
La manipulacin simblica contrasta con el procesamiento numrico basado en algoritmos. Por ejemplo, el procesamiento numrico de la expresin 2*x+5*x requiere que x tenga un valor para obtener luego otro valor numrico, sin embargo, el procesamiento simblico puede mantener el valor de x como una incgnita y manipular dicha ecuacin, por ejemplo, una simplificacin algebraica o despeje, para obtener otra representacin simblica derivada, e.g. 7*x. En otras palabras, en programacin convencional los smbolos son mnemnicos que sirven para representar cdigos de operaciones y localidades de memoria, pero en programacin simblica sirven para representar cosas, conceptos y conocimiento.
Otro ejemplo es la diferenciacin entre variables y valores. Mientras que en programacin convencional la expresin x = y copia el valor de la variable x, en programacin simblica significa que x representa ahora al smbolo "y". Con la finalidad de evitar confusiones, las variables se representarn con maysculas, de tal forma que si tenemos:
1) x = y 2) X = y
El Smbolo = No es Igual. La expresin (1) no permite entonces asignar un valor sino comparar dos smbolos, y la expresin (2) se asigna un valor. Ambas usan el mismo smbolo =, una para comparar (equivale al == de C) y otra para asignar. Analizemos otras posibilidades:
1) X = Y 2) X = Y+2
En (1) ambas son variables, y pueden interpretarse de dos formas: (a) como una asignacin,
e.g. se asigna el valor del atributo Y al valor del atributo X, o (b) como una comparacin, e.g. comprobar si ambos valores son iguales. Esto depender del contexto de la expresin, e.g. si es una premisa, o una conclusin de una regla, o un hecho.
En (2) existe tambin cierta ambigedad, puede significar varias cosas: (a) la variable X almacena el smbolo "Y+2"; (b) X almacena el resultado de evaluar numricamente la expresin Y+2; (c) la expresin es falsa o verdadera dependiendo de si X es igual al valor de Y+2.
Ejercicio: Averigue como deben especificarse las expresiones de los incisos 1 y 2 en Prolog.
Atributos Multivalor. Cuando se especifica un atributo de tipo PLURAL o MULTI, es posible que llegue a tener mltiples valores al mismo tiempo, e.g. auto={sedan, vagoneta}.
de donde tenemos que al encontrar la mquina de inferencias un atributo con valor desconocido, i.e. UNKNOWN, se buca su declaracin PROMPT para desplegar al usuario el texto de la pregunta y esperar una respuesta, en caso contrario, se asume el valor de default.
Reglas Sistemas Expertos Basados en Reglas (Rule-based systems). Sistemas constituidos primordialmente por un conjunto de "reglas de produccin" o "reglas de inferencia lgica" o "reglas IF-THEN". Resultan convenientes por las siguientes razones: a. La mayora de las herramientas de desarrollo de sistemas expertos emplean reglas, y adems se cuenta con lenguajes de programacin lgica basada en reglas, e.g. PROLOG, Lisp. b. La mayora de los sistemas expertos desarrollados son basados en reglas. c. La madurez, disponibilidad y costo de las herramientas de desarrollo de este tipo
con bastante atractivas. d. La representacin del conocimiento a travs de relgas es bastante natural. e. La curva de aprendizaje de estos sistemas es menos prolongada que para las otras alternativas de representacin, e.g. frames. f. Las reglas tienen una sintaxis sencilla, son transparentes y fciles de mantener. g. Es posible simular con relgas (con ciertas complicaciones) a los sistemas basados en frames. h. Su proceso de validacin es simple y ms susceptible de automatizar. Partes de una Regla
IF p = v1 THEN r = v0 IF p = v1
IF p = v1 OR q = v2 THEN r = v0
Equivale a
IF p = v1 THEN r = v2 ELSE r = v3
IF p = v1 THEN r = v2 AND s = v3
Equivale a
IF p = v1 THEN r = v2 IF p = v1 THEN s = v3
Notacin y Sintaxis
Simblicamente:
n.1) IF p THEN q n.2) IF p=vi THEN r=vo n.3) IF p is vi
THEN r is vo
Shell:
n.4) RULE 86 IF p=vi THEN r=vo
Prolog:
n.5) r(v3) if p (v1) and q (v2) n.6) r(v3) :p (v1) and q (v2) n.7) then(if(and(is(p,v1),is(q,v2))),is(r(v3))).
Lisp:
n.8) (IF (p vi) then (r vo)) n.9) (IF (AND (= p v1) (= q v2)) (SETQ r v3))
Concepto de Conocimiento
El conocimiento es la sumatoria de las representaciones abstractas que se poseen sobre un aspecto de la realidad. En este sentido, el conocimiento es una suerte de mapa conceptual que se distingue del territorio o realidad. Todos los procesos de aprendizajes a los que una persona se expone durante su vida no son sino un agregar y resignificar las representaciones previas a efecto de que reflejen de un modo ms certero cualquier rea del universo.