Вы находитесь на странице: 1из 38

UNIVERSIDAD AUTONOMA DEL ESTADO DE HIDALGO.

ESCUELA SUPERIOR HUEJUTLA.

CATEDRATICO: Lic. Vctor Toms Toms Mariano


LICENCIATURA: Ciencias computacionales.
ALUMNA:
Ilce Vzquez Salazar.
Margarita Navarrete Hernndez.
Leopoldo Velzquez Hernndez

SISTEMAS BASADOS EN
CONOCIMIENTO (SBC)
CLASIFICACION DE LOS
LENGUAJES.

No existe una clasificacin universal para los lenguajes


de representacin del conocimiento
pues ello depende de la caracterstica que se tome
para distinguir uno de otro.
Clasificacin de acuerdo al
propsito

Los lenguajes de representacin del conocimiento se han


referenciado de manera general; sin embargo, dentro del rea de IA,
la programacin o ingeniera del conocimiento clasifica a los lenguajes
de programacin desde el punto de vista de su propsito [Geller,
1992] en las siguientes categoras:
1. Lenguaje de programacin de propsito general
2. Lenguaje de representacin del conocimiento simple
3. Lenguaje hbrido
4. Ambiente de sistema experto independiente del dominio (Shells)
Lenguajes de programacin de
propsito general.

Los proyectos de IA se implementan con lenguajes de alto nivel que cuentan


con caractersticas novedosas tales como: facilidades para la experimentacin
con grandes cantidades de conocimiento, modificaciones tentativas,
planeacin y estrategias de razonamiento.

Se encuentran los lenguajes convencionales como: Pascal, C, C++ y Java, los


cuales poseen una gran potencialidad en sus operaciones, funciones y
mecanismos lo cual permite desarrollar sistemas con propsitos de manejo y
procesamiento de conocimiento.
Lenguajes de representacin
del conocimiento simple

Los lenguajes de representacin del conocimiento simples son aquellos lenguajes


desarrollados especficamente para IA. Estos no estn diseados para implementar
todo tipo de problema, sin embargo, facilitan la implementacin de un amplio rango
de problemas.
Dependiendo del tipo de formalismo de representacin usado, los mismos pueden
ser clasificados en lenguajes basados en Reglas, Marcos, Redes y Lgica. En ellos,
la BC estar codificada de acuerdo al esquema de representacin utilizado.
Lenguajes hbridos

Los lenguajes hbridos combinan diferentes paradigmas de programacin en un solo


ambiente, logrando combinar las ventajas que ofrece cada paradigma en particular y
posibilitando la representacin de tareas ms complejas.
Su objetivo principal es integrar, en un sistema, formas verstiles de representacin
del conocimiento, lo cual no es posible con el empleo de lenguajes de representacin
del conocimiento simple. Ejemplos de este tipo de lenguajes son: LOOPS, KRIPTON
y
OMEGA.
Ambientes para la construccin de sistemas
expertos independiente del dominio
(Shell)

Este tipo de lenguaje provee el ambiente de construccin y un mecanismo de


inferencia con tcnicas especficas de resolucin de problemas, a partir de los
cuales pueden ser construidas diversas aplicaciones adicionando el
conocimiento referido al dominio de discurso.
Estos sistemas poseen adems algunos otros mdulos enfocados a la
adquisicin de conocimiento y a las explicaciones y que tienen el objetivo de
simplificar la construccin de los sistemas expertos.
Clasificacin de acuerdo a sus
componentes

De acuerdo a sus componentes los lenguajes han sido clasificados en


tres categoras:
1. Lenguaje
2. Herramienta y
3. Shell.
Un lenguaje de sistemas expertos proporcionar tambin un mecanismo de inferencia que
ejecute las instrucciones de ste. Bajo esta definicin, PROLOG es un lenguaje, sin
embargo, LISP no se considera como tal.
En cuanto a la definicin de herramienta, se trata de un lenguaje asociado
con diferentes utileras para facilitar el desarrollo, la depuracin y el uso
de las aplicaciones.
Las utileras pueden incluir editores de texto e imgenes, depuradores,
administradores de archivos e incluso, generadores de cdigo.
Por ltimo, se refiere a un Shell cuando la herramienta est diseada con
propsitos especiales, para cierto tipo de aplicaciones. En esta categora,
el usuario slo debe proporcionar la base de conocimiento sobre el
dominio de discurso del que se trata la aplicacin.

Un ejemplo clsico es el Shell EMYCIN.


Esquema de representacin utilizado.

son modelos que simbolizan el conocimiento del mundo real. Sin


embargo, para poder emular un problema en la computadora, dicho
modelo se debe implementar a travs de diversas estructuras de datos
y diferentes programas que permitan la construccin y manipulacin de
la BC.
Lgica de proposiciones
La lgica de proposiciones se dedica al estudio de la representacin de
informacin por medio de proposiciones y de las inferencias que pueden ser
hechas desde las mismas.

Conocida tambin como clculo de proposiciones o lgica de sentencias,


constituye un lenguaje descendiente del lgebra Booleana que provee las
herramientas necesarias para expresar las caractersticas de un dominio dado,
las restricciones existentes en dicho dominio y los mecanismos de inferencia
capaces de ejecutar el razonamiento requerido.
Como parte esencial de la lgica, el clculo de proposiciones determina
cules patrones de razonamiento lgico son vlidos y cules no, basndose
para ello, en las afirmaciones lgicas. Luego, el trabajo de este esquema de
representacin del conocimiento consiste en: construir las expresiones,
encontrar sus valores verdaderos y manipularlas [Nilsson, 1998].

La lgica de proposiciones presenta ventajas tales como:

El conocimiento se puede modificar fcilmente,


Es un lenguaje bastante fcil y completo
Tiene poderosas herramientas de inferencia.
Ejemplos de sistemas basados en el clculo de proposiciones.

El clculo de proposiciones y el clculo de predicado fueron los primeros lenguajes que


usando palabras, frases y sentencias, permitieron representar y razonar acerca de las
propiedades y relaciones del mundo.
Algunos de los lenguajes ms representativos que usan este esquema de representacin del
conocimiento se describen brevemente en la siguiente sesin.

GPS (General Problem Solver)


GPS es un programa para resolver problemas en una variedad de dominios, incluyendo
lgica proposicional [Ernst, 1969].
AURA
Es un programa de razonamiento automatizado desarrollado en 1987 y usado para dar
respuesta a preguntas abiertas en lgebra [Winker, 1978]. Est escrito en lenguaje
ensamblador IBM.
OTTER
Es un sistema de deduccin automtica para lgica de primer orden con igualdad
basada en mtodos de resolucin.
Presenta un mdulo general para obtener las pruebas ms cortas de la misma conclusin.
Limitaciones en la representacin del clculo de proposiciones.

El clculo de proposiciones presenta ciertas limitaciones para ser usado como lenguaje de
representacin del conocimiento, entre las que se encuentran:
No puede representar Meta conocimiento.
Es montona.
Los tomos son cadenas de caracteres, luego no tienen estructura interna.
No existe forma de establecer relaciones con otras proposiciones que no sea a travs
de reglas de inferencia.
No se pueden crear acepciones o afirmaciones generales puesto que no permite el
manejo de variables.
No se sigue un algoritmo o pasos de evaluacin.
Reconstruccin de relaciones reales o conceptuales por medios lgicos.

Lgica de predicado
La lgica de predicados, tambin conocida como clculo de predicado o lgica de primer
orden, es el estudio de las inferencias que pueden ser hechas sobre la base de un anlisis de
sentencias atmicas en trminos (esencialmente frases sustantivo) y predicados
(esencialmente frases verbos) [Rapaport, 1992b]..
PROLOG

Es el mejor ejemplo de un lenguaje de programacin lgica. PROLOG usa el clculo de


predicado de primer orden y tiene un intrprete que ejecuta el programa haciendo
inferencias sistemticas a partir de las especificaciones lgicas.

PROLOG (Programming in Logic) es una realizacin de la lgica de predicados como


lenguaje de programacin. A diferencia de otros lenguajes, en PROLOG los programas son
confeccionados de forma diferente, en stos, los algoritmos pueden ser divididos en su
lgica y en sus mecanismos de control [Kowalski, 1979].

Los lenguajes de programacin lgica tal como PROLOG representan el conocimiento


sobre el dominio en forma de clusulas y reglas para el razonamiento experto.
PROLOG es un lenguaje til para investigaciones tales como: generacin de cdigos,
verificacin de programas y diseo de lenguajes de especificacin de alto nivel.
PLANLOG

Es una propuesta para un lenguaje de programacin lgica que incorpora caractersticas de


procedimiento. Esta basado en un clculo de generacin de plan lgico llamado prueba
lineal [Fronhfer, 1987].

Limitaciones del clculo de predicado

Aunque la sintaxis y la semntica de la lgica de predicados permiten una amplia expresividad


de los problemas reales, presenta algunas limitantes en cuanto a su representacin como son:
Los cuantificadores universal y existencial no permiten cuantificar la cantidad de
individuos que cumplen la expresin.
La evaluacin de un predicado se enmarca slo en dos valores: T o F.
La complejidad de los mtodos de resolucin.
Debido al estricto orden de evaluacin del PROLOG, el mismo tiene un nmero de
predicados predefinido para la lectura y escritura.
No tiene ciclos for ni saltos. Los ciclos while son de difcil incorporacin ya que las
variables slo pueden unificarse una sola vez.
La abstraccin se realiza por medio de definiciones de predicados (hechos e
implicaciones).
Sistemas basados en
reglas (SBR)

Los lenguajes basados en reglas constituyen los ms utilizados para codificar el


conocimiento de un experto humano. Esto, bsicamente por su facilidad para expresar las
tcnicas de solucin de problemas a travs de un conjunto de reglas condicin-accin
[Hayes, 1992b].

Un sistema experto tpico basado en reglas est compuesto por una BC que contiene el
conocimiento necesario acerca del dominio para resolver el problema codificado en forma
de reglas, los hechos usados por las reglas que se almacenan separadamente de la BC en
una memoria activa, esto es, en una base de datos global y un mecanismo de inferencia
que
permite obtener informacin a partir de los hechos y las reglas; este mecanismo decide qu
regla se dispara utilizando diversos criterios, como pueden ser: por prioridades asignadas a
las reglas o por comparacin de patrones.
Algunos lenguajes basados en reglas como CLIPS, ART y OPS5 usan un algoritmo
muy eficaz para comparar los hechos con los patrones de reglas y determinar cules
de ellas han satisfecho sus condiciones, este procedimiento se conoce con el
nombre de algoritmo de comparacin de patrones de Rete.

Sin embargo, independientemente de la tcnica que se utilice para organizar las


reglas, todos los SBR comparten las siguientes caractersticas:

Incorporan el conocimiento humano en trminos de reglas condicionales if-then.


Crecen en habilidades con el incremento de su coleccin de reglas.
Resuelve un amplio rango de problemas complejos, seleccionando las reglas
relevantes y combinando sus resultados en forma apropiada.
Determina dinmicamente la regla a ejecutar.
Se adaptan rpidamente a los cambios requeridos durante el desarrollo de una
aplicacin.
Explica sus conclusiones a partir de la lnea de razonamiento.
Ejemplos de
sistemas basados en
reglas

Algunos sistemas se relacionan con su naturaleza modular, lo


cual facilita la expansin de un sistema a partir de un desarrollo
creciente y su modificacin, medios de explicacin, pueden
presentar la cadena de razonamiento que condujo a cierta
conclusin y su semejanza con el proceso cognitivo, las reglas
aparecen como un modelo natural de la manera en que los
humanos resuelven los problemas.
OPS5: es un lenguaje basado en reglas con encadenamiento hacia delante, desarrollado
por un grupo de investigadores encabezado por Charles Forgy en la Universidad de
Carnegie-Mellon a finales de los aos 70 y principios de los 80 [Gilbert, 1992]. Fue escrito
en LISP y usado principalmente en la las investigaciones de IA. OPS5 fue muy utilizado
tambin para el desarrollo de Sistemas Expertos (SE) en el rea de psicologa cognitiva.

OPS: [Forgy, 1977] y RLL [Greiner, 1980] permite al usuario especificar las estrategias de
razonamiento como parte del conocimiento sobre el dominio. El control de razonamiento
de estos lenguajes es muy general (ciclo reconoce-acta) donde son detectadas las
reglas con antecedentes que se satisfacen, se selecciona una bajo ciertos criterios y se
ejecutan las acciones del consecuente de dicha regla.

ROSIE es una herramienta que facilita la construccin de Sistemas Expertos (SE). Es un


sistema de propsito general basado en reglas y orientado a procedimientos.
Provee una sintaxis similar al idioma ingls para expresar las condiciones y acciones.
Fue desarrollado en 1981 por la Rand Coorporation [Arora, 1992].
S1: es una herramienta para desarrollar SE basado en reglas, que provee las
facilidades para ayudar al ingeniero del conocimiento y al experto, para capturar el
conocimiento que posee este ltimo en el dominio que se desarrolla la aplicacin
[Hayes, 1992a].

Limitaciones de la representacin basada en reglas.


El razonamiento basado en reglas con lleva a las siguientes dificultades:

Frecuentemente las reglas obtenidas del experto humano son de naturaleza


altamente heurstica y carecen de profundidad y conocimiento funcional del
dominio.
Las reglas heursticas tienden a ser frgiles y no manejan informacin ausente o
valores de datos no esperados.
Las funciones explicatorios tienen un nivel descriptivo, omitiendo profundidad y
explicaciones tericas.
REDES SEMANTICAS
DEFINICION

Una red semntica es una estructura para representar conocimiento


como un patrn de nodos interconectados por arcos. Las versiones ms
tempranas de estos lenguajes estuvieron orientadas a lenguajes
intermedios de mquinas traductoras. Sin embargo, los sistemas ms
recientes se enfocan hacia lenguajes de representacin de conocimiento
[Sowa, 1992].
SURGIMIENTO

Las primeras redes desarrolladas fueron los llamados grficos


asercionales, donde se representaban las proposiciones como rboles.
Luego surgen los grficos relacinales, los cuales representan slo un
subconjunto de la lgica de primer orden (conjunciones y
cuantificadores existenciales).
Las redes proposicionales logran el poder expresivo para todas las
expresiones o frmulas de la lgica de predicado de primer orden.
COMPOSICION

Dada la estructura de una red semntica, su sintaxis se describe por sus


dos elementos constitutivos: nodos y arcos.
Los tipos de nodos vlidos para una red son:
Nodos identificados por constantes de relacin que se
corresponden con sus categoras taxonmicas o propiedades.
Nodos identificados por constantes de objetos que se
corresponden con los objetos del dominio.
COMPOSICION

Los tipos de arcos vlidos para una red son:


Arcos subconjuntos, conocidos como enlaces isa (es un).
Arcos miembros, conocidos como enlaces instancia (elemento).
Arcos funciones.
CARACTERISTICAS

Los nodos en la red representan conceptos de entidades, atributos,


eventos y estados.
Diferentes nodos del mismo tipo de concepto se refiere a individuos
diferentes, a menos que ellos sean marcados con un nombre, variable o
referencia para indicar que se trata del mismo individuo.
Los arcos en la red, llamados relaciones conceptuales, representan las
relaciones que se establecen entre los nodos conceptos. Las etiquetas
sobre los arcos especifican los tipos de relacin.
CARACTERISTICAS

Algunas relaciones conceptuales representan casos lingsticos tales


como: agente, paciente, recipiente o instrumento. Otros representan
conectivos espaciales, temporales y lgicos.
Los tipos de conceptos estn organizados en una jerarqua de acuerdo a
niveles de generalidad.
Las relaciones que se establecen para todos los conceptos de un tipo
dado son heredados por los subtipos a travs de la jerarqua
establecida.
Ejemplos de lenguajes basados en
redes semnticas
SnePS : SnePS (Semantic Network Processing System), es un sistema de
representacin del conocimiento y razonamiento como red semntica
proposicional [Shapiro, 1992b].
Este sistema incluye los siguientes mdulos:
SNIP: mdulo de inferencia, el cual es una mquina de inferencia sobre
reglas representadas en SnePS por medio de conectivos proposicionales no
estndar, orientados a redes y cuantificadores.
SNaLPS: es un sistema de procesamiento en Lenguaje Natural, que consiste
de un analizador morfolgico, un sintetizador morfolgico y un interpretador
de gramticas para redes.
SNePSLOG: interfaz que permite interactuar con SnePS en un lenguaje muy
cercano a la sintaxis estndar del clculo de predicado de orden ms alto.
Ejemplos de lenguajes basados en
redes semnticas
KL-ONE: Es un sistema que enfatiza la herencia a travs de una
jerarqua. Sirvi de gua para las definiciones posteriores de conceptos,
desarrollos de mtodos para la herencia y tcnicas de programacin
[Kramer, 1992].
SB-ONE: Es una herramienta o lenguaje de representacin del
conocimiento diseado especficamente para la construccin y
explotacin de BC conceptuales en sistemas de lenguaje natural [Sowa,
1991], [Sowa, 1992].
Limitaciones de representacin
basada en redes semnticas
Falta de estndares para asignacin de nombres a los vnculos.
El nivel de especificacin de los nodos y los enlaces es el mismo.
Presentan una explosin combinatoria en la bsqueda de nodos, sobre todo si
la respuesta a una consulta es negativa. Para que una consulta produzca un
resultado negativo, tendra que buscarse muchos o todos los vnculos de la red.
Son lgicamente inadecuadas porque no pueden definir el conocimiento de la
forma en que lo hace la lgica. Una representacin lgica puede especificar
cierta silla, algunas sillas, todas las sillas, ninguna silla.
Son heursticamente inadecuadas porque no hay forma de insertar en la red
informacin heurstica relacionada con la manera de explorarla de forma
eficiente.
No permite trabajar bien con excepciones.
LOOPS
El lenguaje LOOPS fue uno de los primeros ambientes de programacin
multiparadigma [Bobrow, 1992].
Fue desarrollado por Xerox PARC en el lenguaje Interlisp, y adicion un
sistema de programacin orientada a objetos similar a Smalltalk y a la
programacin orientada a procedimientos de LISP.
Incorpor adems la programacin orientada a accesos (til para
monitorear eventos), la programacin orientada a reglas
(frecuentemente usadas en sistemas expertos) y una interface de
programacin visual que soporta la explotacin grfica y la modificacin
de programas y estructuras de datos.
KRYPTON
KRYPTON es un lenguaje basado en marco que utiliza un probador del teorema de
resolucin de primer orden para su proceso de razonamiento [Brachman, 1985].
Este modelo combina la claridad lgica con la potencia descriptiva, permitiendo
una descripcin ms precisa de la semntica del conocimiento tal que el usuario
puede conocer qu interrogantes del sistema es capaz de responder.
Esta combinacin de sistemas de razonamiento adiciona un grado extra de
flexibilidad y complejidad como ayuda a la estructura del conocimiento del
dominio debido a que estos usualmente traen mecanismos implcitos para la
herencia de propiedades para objetos relacionados jerrquicamente como
tambin facilidades para la definicin de clases de objetos y sus elementos de
razonamiento.
De hecho, es frecuente encontrar el conocimiento del dominio entrelazado con los
mtodos de razonamiento dependientes del dominio y la heurstica, debido a que
no hay un lmite claro entre estos.
BACK

El sistema BACK es una representacin hbrida basada en KL-ONE [Nebel,


1988]. Sus diseadores se enfocaron al incremento de la afabilidad del
lenguaje. A diferencia de
KRIPTON posee un razonador Abox que est diseado para responder a las
consultas en tiempo polinomial.
El lenguaje de aserciones de BACK est compuesto por dos lenguajes, uno
llamado Tell para definir hechos y otro conocido como Ask para consultar la
BC. El lenguaje Tell permite al usuario definir objetos usando descripciones
y las relaciones entre estas. El lenguaje Ask, por su parte, est diseado
para comunicarse con el lenguaje de consulta SQL de la BD relacional. Las
respuestas a las consultas son conjuntos de tuplas y de operaciones
correspondientes a los operadores relacionales de SQL. Adems existe una
semntica formal para BACK.
OMEGA

El sistema OMEGA tambin combina un lenguaje para formar descripciones


con un lenguaje lgico [Hewitt, 1992].
Esta integracin es hecha en un ambiente que combina un clculo de
descripciones con operaciones para formar sentencias lgicas.
Se incluye en el sistema la innovacin de que las variables lgicas pueden
aparecer en las descripciones. La inferencia se basa en una forma de
suposicin que toma en cuenta las sentencias lgicas.
Otras caractersticas importantes de este sistema es que es reflexivo pues
permite que las sentencias contengan descripciones de objetos OMEGA
hechas con el lenguaje y que presentan una axiomtica completa del lenguaje
escrito en el mismo lenguaje. La reflexividad tambin se usa para especificar
el comportamiento de la mquina de inferencia en un dominio especfico.
CycL

El proyecto CYC se ha enfocado a la construccin de un lenguaje para la construccin de BC. Este


proyecto incluye, adems de la BC, un motor de inferencia que deriva nuevas 64 conclusiones
usando razonamiento deductivo y un conjunto de herramientas de interaccin y aplicaciones que
corren en distintas plataformas [Lenat 90].
El lenguaje del proyecto se divide en dos niveles: nivel epistemolgico (EL) y nivel heurstico (HL)
[BracR79]. El nivel epistemolgico se bas en un inicio en el clculo de predicado de primer
orden y luego se le incluy algunas caractersticas del clculo de segundo orden. El nivel
heurstico se enfoca al manejo de representaciones de propsito especfico y procedimientos
para activar la inferencia en el momento adecuado. En general, se relaciona con las modalidades
de uso de la mquina de inferencia del CYC.
El sistema cuenta con la facilidad de traducir automticamente las expresiones entre estos dos
niveles (en ambos sentidos).
La BC creada por el lenguaje CycL est constituida por hechos y reglas, la cual puede visualizarse
por medio de una herramienta interfaz comn que permite al usuario ver la BC como hipertexto
HTML. Cada ocurrencia de hechos es un enlace a una pgina HTML generada dinmicamente que
describe tal trmino, de esta forma se puede explorar la BC siguiendo una red de relaciones.
CLIPS

CLIPS es un lenguaje de programacin con mltiples paradigmas que proporciona soporte


para la programacin basada en reglas, orientada a objetos y por procedimientos
[Giarratano, 2001].
Las opciones de programacin de Clisp, conocidas como lenguaje orientado a objetos de
Clisp (COOL), son una combinacin hbrida de funciones encontradas en otros lenguajes
orientados a objetos como CLOS (Common Lisp Object System) y SmallTalk y algunas
ideas nuevas. El lenguaje de programacin por procedimientos que proporciona Clisp tiene
caractersticas parecidas a los lenguajes como C, Ada y Pascal y su sintaxis es tambin
parecida a Lisp.
Los componentes del lenguaje CLIPS son:
1. Lista de hechos: Contiene los datos de los que se derivan las inferencias.
2. Base de Conocimientos: Comprende todas las reglas
3. Mecanismo de inferencia: Controla la ejecucin global
Los hechos estn constituidos por campos, que son smbolos, cadenas, enteros o puntos
flotantes. El primer campo de un hecho se utiliza para indicar el tipo de informacin que se
almacena en el y se denomina nombre de la relacin. Mientras que, las reglas de un
sistema CLISP son del tipo IF/THEN y pueden tener varios patrones y acciones.
El mecanismo de inferencia funciona considerando que cuando los hechos satisfacen los
patrones de las reglas, se produce una activacin que se coloca en la agenda. Un
mecanismo denominado refraccin evita que hechos antiguos activen constantemente las
reglas.
La representacin que proporciona el lenguaje basado en reglas de Clisp es similar al
OPS5, pero con mayor nmero de funciones. En cuanto a las reglas slo soportan reglas e
encadenamiento hacia delante.
Jess

Jess es la unin de un shell para la construccin de sistemas expertos y un lenguaje de


script escrito en lenguaje Java para Sun, es una copia del ambiente para el desarrollo de
sistemas expertos CLIPS escrita completamente en Java. Este puede utilizarse tanto como
un lenguaje de representacin del conocimiento que soporta el desarrollo de sistemas
expertos basados en reglas, como un lenguaje de propsito general, por lo que puede
acceder a todas las clases y bibliotecas de Java.
Como en LISP, todo cdigo en Jess (estructuras de control, asignaciones, llamada a
procedimientos) toma la forma de una llamada a funcin. Las llamadas a funciones en Jess
son listas simples con notacin prefija.
Jess es un intrprete para un lenguaje de reglas de los sistemas CLIPS.

Вам также может понравиться