Articulo de referencia

Sistemas basados ​​en el conocimiento

Un sistema basado en el conocimiento ( SBC ) es un programa informático que razona y utiliza una base de conocimiento para resolver problemas complejos . [ 1 ] Los sistemas basa...

Un sistema basado en el conocimiento ( SBC ) es un programa informático que razona y utiliza una base de conocimiento para resolver problemas complejos . [ 1 ] Los sistemas basados ​​en el conocimiento fueron el foco de los primeros investigadores de inteligencia artificial en la década de 1980. El término puede referirse a una amplia gama de sistemas. Sin embargo, todos los sistemas basados ​​en el conocimiento tienen dos componentes definitorios: un intento de representar el conocimiento explícitamente, llamado base de conocimiento , y un sistema de razonamiento que les permite derivar nuevo conocimiento, conocido como motor de inferencia .

Componentes

La base de conocimiento contiene hechos y reglas específicos del dominio [ 2 ] sobre un dominio problemático (en lugar de conocimiento implícitamente integrado en el código procedimental, como en un programa informático convencional). Además, el conocimiento puede estructurarse mediante una ontología de subsunción , marcos , un grafo conceptual o aserciones lógicas. [ 3 ]

El motor de inferencia utiliza métodos de razonamiento de propósito general para inferir nuevos conocimientos y resolver problemas en el dominio del problema. Generalmente, emplea encadenamiento hacia adelante o hacia atrás . Otros enfoques incluyen el uso de demostración automática de teoremas , programación lógica , sistemas de pizarra y sistemas de reescritura de términos como las Reglas de Manejo de Restricciones (CHR). Estos enfoques más formales se tratan en detalle en el artículo de Wikipedia sobre representación del conocimiento y razonamiento .

Aspectos y desarrollo de los sistemas primitivos

Sistemas basados ​​en el conocimiento frente a sistemas expertos

El término «sistema basado en el conocimiento» se usaba a menudo indistintamente con « sistema experto », posiblemente porque casi todos los primeros sistemas basados ​​en el conocimiento se diseñaron para tareas de expertos. Sin embargo, estos términos nos hablan de diferentes aspectos de un sistema:

  • Experto : describe únicamente la tarea para la que está diseñado el sistema; su propósito es ayudar a reemplazar a un experto humano en una tarea que normalmente requiere conocimientos especializados.
  • Basado en el conocimiento : se refiere únicamente a la arquitectura del sistema; representa el conocimiento de forma explícita, en lugar de como código procedimental.

Hoy en día, prácticamente todos los sistemas expertos se basan en el conocimiento, mientras que la arquitectura de sistemas basada en el conocimiento se utiliza en una amplia gama de tipos de sistemas diseñados para diversas tareas.

Sistemas basados ​​en reglas

Los primeros sistemas basados ​​en el conocimiento fueron principalmente sistemas expertos basados ​​en reglas. Estos representaban hechos del mundo como afirmaciones simples en una base de datos plana y utilizaban reglas específicas del dominio para razonar sobre dichas afirmaciones y, posteriormente, ampliarlas. Uno de los sistemas más famosos de esta época fue Mycin , un programa para el diagnóstico médico.

Representar el conocimiento explícitamente mediante reglas tenía varias ventajas:

  1. Adquisición y mantenimiento. El uso de reglas permitía que los expertos en el dominio a menudo definieran y mantuvieran las reglas ellos mismos, en lugar de hacerlo a través de un programador.
  2. Explicación. Representar el conocimiento de forma explícita permitió a los sistemas razonar sobre cómo llegaron a una conclusión y utilizar esta información para explicar los resultados a los usuarios. Por ejemplo, seguir la cadena de inferencias que condujo a un diagnóstico y utilizar estos hechos para explicarlo.
  3. Razonamiento. La separación del conocimiento del procesamiento de ese conocimiento permitió el desarrollo de motores de inferencia de propósito general. Estos sistemas podían generar conclusiones a partir de un conjunto de datos del que los desarrolladores iniciales quizás ni siquiera eran conscientes. [ 4 ]

Metarrazonamiento

Arquitecturas posteriores para el razonamiento basado en el conocimiento, como la arquitectura de pizarra BB1 (un sistema de pizarra ), [ 5 ] permitieron que el propio proceso de razonamiento se viera afectado por nuevas inferencias, proporcionando razonamiento de metanivel. BB1 permitió supervisar el propio proceso de resolución de problemas. Se podían combinar selectivamente diferentes tipos de resolución de problemas (por ejemplo, de arriba hacia abajo, de abajo hacia arriba y resolución de problemas oportunista) en función del estado actual de la resolución de problemas. En esencia, el solucionador de problemas se utilizaba tanto para resolver un problema a nivel de dominio como su propio problema de control, que podía depender del primero.

Otros ejemplos de arquitecturas de sistemas basadas en el conocimiento que admiten el razonamiento de metanivel son MRS [ 6 ] y SOAR , o el sistema CAIA de J. Pitrat .

El proyecto RefPerSys es un software de código abierto que pretende dar soporte al razonamiento de metanivel (mediante la generación de código C++) en 2026 (inspirado en el trabajo de Pitrat y en este artículo ).

Ampliación de la aplicación

En las décadas de 1980 y 1990, además de los sistemas expertos, otras aplicaciones de los sistemas basados ​​en el conocimiento incluyeron el control de procesos en tiempo real, [ 7 ] sistemas de tutoría inteligentes, [ 8 ] y solucionadores de problemas para dominios específicos como el análisis de la estructura de proteínas, [ 9 ] el diseño de sitios de construcción, [ 10 ] y el diagnóstico de fallas en sistemas informáticos. [ 11 ]

Avances impulsados ​​por una arquitectura mejorada

A medida que los sistemas basados ​​en el conocimiento se volvieron más complejos, las técnicas utilizadas para representar la base de conocimiento se volvieron más sofisticadas e incluyeron lógica, sistemas de reescritura de términos, gráficos conceptuales y marcos .

Los marcos ejemplifican esta evolución arquitectónica. Introducidos por Minsky , [ 12 ] los marcos proporcionan un formalismo de representación del conocimiento estructurado análogo a los paradigmas de programación orientada a objetos. Son una forma de representar el conocimiento del mundo utilizando técnicas que pueden considerarse análogas a la programación orientada a objetos : un marco consta de una estructura de datos con ranuras con nombre que representan atributos o relaciones, organizadas jerárquicamente a través de relaciones clase-subclase. Cada ranura puede contener valores, valores predeterminados, adjuntos procedimentales y restricciones que rigen los valores permitidos. Con la base de conocimiento más estructurada, el razonamiento ahora podría ocurrir no solo mediante reglas independientes e inferencia lógica, sino también basándose en interacciones dentro de la propia base de conocimiento. Por ejemplo, los procedimientos almacenados como demonios en los objetos podrían ejecutarse y replicar el comportamiento de encadenamiento de las reglas. [ 13 ]

Avances en el razonamiento automatizado

Otro avance en la década de 1990 fue el desarrollo de sistemas de razonamiento automatizado de propósito especial llamados clasificadores . En lugar de declarar estáticamente las relaciones de subsunción en una base de conocimiento, un clasificador permite al desarrollador simplemente declarar hechos sobre el mundo y dejar que el clasificador deduzca las relaciones. De esta manera, un clasificador también puede desempeñar el papel de un motor de inferencia. [ 14 ]

El avance más reciente de los sistemas basados ​​en el conocimiento consistió en la adopción de tecnologías, especialmente un tipo de lógica denominada lógica descriptiva , para el desarrollo de sistemas que utilizan internet. Internet suele tener que lidiar con datos complejos y no estructurados que no se ajustan a un modelo de datos específico. La tecnología de los sistemas basados ​​en el conocimiento, y en particular la capacidad de clasificar objetos bajo demanda, resulta ideal para este tipo de sistemas. El modelo para estos sistemas de internet basados ​​en el conocimiento se conoce como Web Semántica . [ 15 ]

Véase también

Referencias

  1. "¿Qué son los sistemas basados ​​en el conocimiento (KBS)? | Definición de TechTarget" . Buscar en CIO . Consultado el 23/10/2025 .
  2. Smith, Reid (8 de mayo de 1985). "Conceptos, técnicas y ejemplos de sistemas basados ​​en el conocimiento" (PDF) . reidgsmith.com . Schlumberger-Doll Research . Consultado el 9 de noviembre de 2013 .
  3. Sowa, John F. (2000). Representación del conocimiento: Fundamentos lógicos, filosóficos y computacionales (1.ª ed.). Pacific Grove: Brooks / Cole. ISBN  978-0-534-94965-5.
  4. Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Building Expert Systems . Addison-Wesley. ISBN 0-201-10686-8.
  5. Hayes-Roth, Barbara ; Departamento de Ciencias de la Computación, Universidad de Stanford (1984). BB1: una arquitectura para sistemas de pizarra que controlan, explican y aprenden sobre su propio comportamiento . Departamento de Ciencias de la Computación, Universidad de Stanford.
  6. Genesereth, Michael R. "1983 - Una visión general de la arquitectura de metanivel". Actas de AAAI-83 : ​​6.
  7. Larsson, Jan Eric; Hayes-Roth, Barbara (1998). "Guardian: Un agente autónomo inteligente para la monitorización y el diagnóstico médico" . IEEE Intelligent Systems . 13 (1): 58. Bibcode : 1998IISA...13a..58L . doi : 10.1109/5254.653225 . Consultado el 11 de agosto de 2012 .
  8. Clancey, William (1987). Tutoría basada en el conocimiento: El programa GUIDON . Cambridge, Massachusetts: The MIT Press.
  9. Hayes-Roth, Barbara ; Buchanan, Bruce G.; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B.; Brinkley, James F.; Cornelius, Craig; Duncan, Bruce S.; Jardetzky, Oleg (1986). PROTEAN: Derivación de la estructura de las proteínas a partir de restricciones . AAAI. págs. 904–909 . Recuperado el 11 de agosto de 2012 . 
  10. Robert Engelmore; et al., eds. (1988). Blackboard Systems . Addison-Wesley Pub (Sd). 
  11. Bennett, James S. (1981). DART: Un sistema experto para el diagnóstico de fallas informáticas . IJCAI.
  12. Minsky, Marvin (1974). "Un marco para representar el conocimiento" . Informe técnico del Instituto Tecnológico de Massachusetts .
  13. Mettrey, William (1987). "Una evaluación de herramientas para construir grandes sistemas basados ​​en el conocimiento" . AI Magazine . 8 (4). Archivado del original el 10 de noviembre de 2013. Recuperado el 10 de noviembre de 2013 .
  14. MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripción para mejorar la representación del conocimiento". IEEE Expert . 6 (3): 41– 46. doi : 10.1109/64.87683 . S2CID 29575443 . 
  15. Berners-Lee, Tim; James Hendler; Ora Lassila (17 de mayo de 2001). «La Web Semántica: Una nueva forma de contenido web que resulta significativa para las computadoras desatará una revolución de nuevas posibilidades» . Scientific American . 284 : 34–43 . doi : 10.1038/scientificamerican0501-34 . Archivado del original el 24 de abril de 2013.

Lecturas adicionales

  • Rajendra, Akerkar; Sajja, Priti (2009). Sistemas basados ​​en el conocimiento . Jones & Bartlett Learning. ISBN 9780763776473.