Articulo de referencia

Sistema de razonamiento

En tecnología de la información, un sistema de razonamiento es un sistema de software que genera conclusiones a partir del conocimiento disponible mediante técnicas lógicas como...

En tecnología de la información, un sistema de razonamiento es un sistema de software que genera conclusiones a partir del conocimiento disponible mediante técnicas lógicas como la deducción y la inducción . Los sistemas de razonamiento desempeñan un papel importante en la implementación de la inteligencia artificial y los sistemas basados ​​en el conocimiento .

Según la definición común del término, todos los sistemas informáticos son sistemas de razonamiento, ya que automatizan algún tipo de lógica o decisión. Sin embargo, en el ámbito de las Tecnologías de la Información , la expresión suele reservarse para sistemas que realizan razonamientos más complejos. Por ejemplo, no se aplica a sistemas que realizan razonamientos sencillos, como calcular un impuesto sobre las ventas o un descuento para clientes, sino a aquellos que realizan inferencias lógicas sobre un diagnóstico médico o un teorema matemático. Los sistemas de razonamiento se presentan en dos modos: interactivo y por lotes. Los sistemas interactivos interactúan con el usuario para formular preguntas aclaratorias o permitirle guiar el proceso de razonamiento. Los sistemas por lotes procesan toda la información disponible de una sola vez y generan la mejor respuesta posible sin retroalimentación ni guía del usuario. [ 1 ]

Los sistemas de razonamiento tienen un amplio campo de aplicación que incluye la planificación , el procesamiento de reglas de negocio , la resolución de problemas , el procesamiento de eventos complejos , la detección de intrusiones , el análisis predictivo , la robótica , la visión artificial y el procesamiento del lenguaje natural .

Historia

Los primeros sistemas de razonamiento fueron los demostradores de teoremas, sistemas que representan axiomas y enunciados en lógica de primer orden y luego utilizan reglas de lógica como el modus ponens para inferir nuevos enunciados. Otro tipo temprano de sistema de razonamiento fueron los solucionadores de problemas generales. Estos sistemas fueron como el Solucionador de Problemas Generales diseñado por Newell y Simon . Los solucionadores de problemas generales intentaron proporcionar un motor de planificación genérico que pudiera representar y resolver problemas estructurados. Funcionaban descomponiendo los problemas en subproblemas más pequeños y manejables, resolviendo cada subproblema y ensamblando las respuestas parciales en una respuesta final. Otro ejemplo de solucionador de problemas generales fue la familia de sistemas SOAR .

En la práctica, estos demostradores de teoremas y solucionadores de problemas generales rara vez resultaban útiles para aplicaciones prácticas y requerían usuarios especializados con conocimientos de lógica para su utilización. La primera aplicación práctica del razonamiento automatizado fueron los sistemas expertos . Estos sistemas se centraban en dominios mucho mejor definidos que la resolución general de problemas, como el diagnóstico médico o el análisis de fallos en una aeronave. Los sistemas expertos también se centraban en implementaciones más limitadas de la lógica. En lugar de intentar implementar toda la gama de expresiones lógicas, se centraban típicamente en modus-ponents implementados mediante reglas IF-THEN. Centrarse en un dominio específico y permitir solo un subconjunto restringido de la lógica mejoró el rendimiento de dichos sistemas, de modo que resultaron prácticos para su uso en el mundo real y no meramente como demostraciones de investigación, como lo habían sido la mayoría de los sistemas de razonamiento automatizado anteriores. El motor utilizado para el razonamiento automatizado en los sistemas expertos se denominaba normalmente motor de inferencia . Los utilizados para la inferencia lógica más general se denominan normalmente demostradores de teoremas . [ 2 ]

Con el auge de los sistemas expertos, se aplicaron muchos tipos nuevos de razonamiento automatizado a diversos problemas en el gobierno y la industria. Algunos, como el razonamiento basado en casos, surgieron de la investigación en sistemas expertos. Otros, como los algoritmos de satisfacción de restricciones, también se vieron influenciados por campos como la tecnología de decisiones y la programación lineal. Asimismo, un enfoque completamente diferente, no basado en el razonamiento simbólico sino en un modelo conexionista, ha resultado sumamente productivo. Este último tipo de razonamiento automatizado es especialmente adecuado para problemas de reconocimiento de patrones y detección de señales, como la búsqueda de texto y el reconocimiento facial.

Uso de la lógica

El término sistema de razonamiento puede aplicarse a casi cualquier tipo de sistema sofisticado de apoyo a la toma de decisiones, como se ilustra en las áreas específicas que se describen a continuación. Sin embargo, el uso más común del término sistema de razonamiento implica la representación computacional de la lógica. Diversas implementaciones muestran una variación significativa en términos de sistemas lógicos y formalidad. La mayoría de los sistemas de razonamiento implementan variaciones de la lógica proposicional y simbólica ( de predicados ). Estas variaciones pueden ser representaciones matemáticamente precisas de sistemas de lógica formal (p. ej., lógica de primer orden ) o versiones extendidas e híbridas de dichos sistemas (p. ej., lógica cortés [ 3 ] ). Los sistemas de razonamiento pueden implementar explícitamente tipos de lógica adicionales (p. ej., lógica modal , deóntica , temporal ). Sin embargo, muchos sistemas de razonamiento implementan aproximaciones imprecisas y semiformales a sistemas lógicos reconocidos. Estos sistemas suelen admitir una variedad de técnicas procedimentales y semideclarativas para modelar diferentes estrategias de razonamiento. Enfatizan el pragmatismo sobre la formalidad y pueden depender de extensiones y complementos personalizados para resolver problemas del mundo real.

Muchos sistemas de razonamiento emplean el razonamiento deductivo para inferir conclusiones a partir del conocimiento disponible. Estos motores de inferencia admiten el razonamiento hacia adelante o hacia atrás para inferir conclusiones mediante el modus ponens . Los métodos de razonamiento recursivo que emplean se denominan, respectivamente, « encadenamiento hacia adelante » y « encadenamiento hacia atrás ». Si bien los sistemas de razonamiento admiten ampliamente la inferencia deductiva, algunos emplean razonamiento abductivo , inductivo , derrotable y de otros tipos. También se pueden emplear heurísticas para determinar soluciones aceptables a problemas intratables .

Los sistemas de razonamiento pueden emplear la suposición de mundo cerrado (CWA) o la suposición de mundo abierto (OWA). La OWA se asocia frecuentemente con la representación del conocimiento ontológico y la Web Semántica . Los distintos sistemas presentan diversos enfoques para la negación . Además del complemento lógico o bit a bit , los sistemas pueden admitir formas existenciales de negación fuerte y débil, incluyendo la negación como fallo y la negación «inflacionaria» (negación de átomos no fundamentales ). Los distintos sistemas de razonamiento pueden admitir razonamiento monótono o no monótono , estratificación y otras técnicas lógicas.

Razonamiento bajo incertidumbre

Muchos sistemas de razonamiento ofrecen capacidades para razonar bajo incertidumbre . Esto es importante al construir agentes de razonamiento situados que deben lidiar con representaciones inciertas del mundo. Existen varios enfoques comunes para manejar la incertidumbre. Estos incluyen el uso de factores de certeza, métodos probabilísticos como la inferencia bayesiana o la teoría de Dempster-Shafer , la lógica multivaluada (o difusa ) y diversos enfoques conexionistas . [ 4 ]

Tipos de sistemas de razonamiento

Esta sección ofrece una categorización informal y no exhaustiva de los tipos comunes de sistemas de razonamiento. Estas categorías no son absolutas; se superponen en gran medida y comparten diversas técnicas, métodos y algoritmos .

Solucionadores de restricciones

Los solucionadores de restricciones resuelven problemas de satisfacción de restricciones (CSP). Admiten la programación con restricciones . Una restricción es una condición que debe cumplir cualquier solución válida a un problema . Las restricciones se definen de forma declarativa y se aplican a variables dentro de dominios dados. Los solucionadores de restricciones utilizan técnicas de búsqueda , retroceso y propagación de restricciones para encontrar soluciones y determinar las soluciones óptimas. Pueden emplear formas de programación lineal y no lineal . Se utilizan a menudo para realizar optimizaciones en espacios de problemas altamente combinatorios . Por ejemplo, pueden utilizarse para calcular la programación óptima, diseñar circuitos integrados eficientes o maximizar la productividad en un proceso de fabricación. [ 5 ]

Demostradores de teoremas

Los demostradores de teoremas utilizan técnicas de razonamiento automatizado para determinar las demostraciones de teoremas matemáticos. También pueden emplearse para verificar demostraciones existentes. Además de su uso académico, las aplicaciones típicas de los demostradores de teoremas incluyen la verificación de la corrección de circuitos integrados, programas informáticos, diseños de ingeniería, etc.

Programas lógicos

Los programas lógicos (PL) son programas informáticos escritos en lenguajes de programación cuyas primitivas y expresiones proporcionan representaciones directas de construcciones derivadas de la lógica matemática. Un ejemplo de lenguaje de programación lógica de propósito general es Prolog . Los PL representan la aplicación directa de la programación lógica para resolver problemas. La programación lógica se caracteriza por enfoques altamente declarativos basados ​​en la lógica formal y tiene una amplia aplicación en numerosas disciplinas.

Motores de reglas

Los motores de reglas representan la lógica condicional como reglas discretas. Los conjuntos de reglas se pueden gestionar y aplicar de forma independiente a otras funcionalidades. Tienen una amplia aplicabilidad en diversos ámbitos. Muchos motores de reglas implementan capacidades de razonamiento. Un enfoque común consiste en implementar sistemas de producción para admitir el encadenamiento hacia adelante o hacia atrás. Cada regla («producción») vincula una conjunción de cláusulas predicativas a una lista de acciones ejecutables.

En tiempo de ejecución, el motor de reglas compara las producciones con los hechos y ejecuta la lista de acciones asociada para cada coincidencia. Si dichas acciones eliminan o modifican algún hecho, o afirman nuevos hechos, el motor recalcula inmediatamente el conjunto de coincidencias. Los motores de reglas se utilizan ampliamente para modelar y aplicar reglas de negocio , controlar la toma de decisiones en procesos automatizados y hacer cumplir las políticas técnicas y de negocio.

clasificador deductivo

Los clasificadores deductivos surgieron un poco más tarde que los sistemas basados ​​en reglas y formaban parte de un nuevo tipo de herramienta de representación del conocimiento en inteligencia artificial, conocida como lenguajes de marcos . Un lenguaje de marcos describe el dominio del problema como un conjunto de clases, subclases y relaciones entre ellas. Es similar al modelo orientado a objetos . Sin embargo, a diferencia de estos, los lenguajes de marcos poseen una semántica formal basada en la lógica de primer orden.

Utilizan esta semántica para proporcionar información al clasificador deductivo. El clasificador, a su vez, puede analizar un modelo dado (conocido como ontología ) y determinar si las diversas relaciones descritas en él son consistentes. Si la ontología no es consistente, el clasificador resaltará las declaraciones inconsistentes. Si la ontología es consistente, el clasificador puede entonces realizar un razonamiento adicional y extraer conclusiones sobre las relaciones de los objetos en la ontología.

Por ejemplo, puede determinar que un objeto es en realidad una subclase o instancia de clases adicionales como las descritas por el usuario. Los clasificadores son una tecnología importante para analizar las ontologías utilizadas para describir modelos en la web semántica . [ 6 ] [ 7 ]

Sistemas de aprendizaje automático

Los sistemas de aprendizaje automático evolucionan su comportamiento con el tiempo basándose en la experiencia . Esto puede implicar el razonamiento sobre eventos observados o datos de ejemplo proporcionados para el entrenamiento. Por ejemplo, pueden utilizar el razonamiento inductivo para generar hipótesis a partir de hechos observados. Los sistemas de aprendizaje buscan reglas o funciones generalizadas que produzcan resultados acordes con las observaciones y, posteriormente, utilizan estas generalizaciones para controlar el comportamiento futuro.

Sistemas de razonamiento basados ​​en casos

Los sistemas de razonamiento basado en casos (RBC) proporcionan soluciones a problemas analizando similitudes con otros problemas para los que ya existen soluciones conocidas. El razonamiento basado en casos utiliza los niveles superiores (superficiales) de similitud; es decir, los criterios de objeto, característica y valor. Esto diferencia el razonamiento basado en casos del razonamiento analógico , ya que este último utiliza únicamente el criterio de similitud "profundo", es decir, la relación o incluso las relaciones de relaciones, y no necesita encontrar similitudes en los niveles más superficiales. Esta diferencia hace que el razonamiento basado en casos sea aplicable solo entre casos del mismo dominio, porque los objetos, características y/o valores similares deben pertenecer al mismo dominio, mientras que el criterio de similitud "profundo" de "relaciones" hace que el razonamiento analógico sea aplicable entre dominios donde solo las relaciones son similares entre los casos. Los sistemas de RBC se utilizan comúnmente en escenarios de atención al cliente/ soporte técnico y centros de llamadas , y tienen aplicaciones en la fabricación industrial , la agricultura , la medicina , el derecho y muchas otras áreas.

Sistemas de razonamiento procedimental

Un sistema de razonamiento procedimental (SRP) utiliza técnicas de razonamiento para seleccionar planes a partir de una base de conocimiento procedimental . Cada plan representa un curso de acción para alcanzar un objetivo determinado . El SRP implementa un modelo de creencias, deseos e intenciones, razonando sobre hechos ( creencias ) para seleccionar planes apropiados ( intenciones ) para objetivos específicos (deseos). Las aplicaciones típicas de los SRP incluyen sistemas de gestión, monitorización y detección de fallos .

Referencias

  1. ↑ Wos, Larry ; Owerbeek, Ross; Ewing, Lusk; Boyle, Jim (1984). Razonamiento automatizado: Introducción y aplicaciones . Prentice Hall. pág. 4. ISBN  978-0-13-054453-7.
  2. Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems . AddisonWesley. ISBN 978-0-201-10686-2.
  3. Grosof, Benjamin N. (30 de diciembre de 1997). "Programas de lógica cortés: manejo priorizado de conflictos para reglas" (Postscript) . Informe de investigación de IBM . RC 20836 (92273).
  4. Moses, Yoram; Vardi, Moshe Y; Fagin, Ronald; Halpern, Joseph Y (2003). Razonamiento sobre el conocimiento . MIT Press. ISBN 978-0-262-56200-3.
  5. Schalkoff, Robert (2011). Sistemas inteligentes: principios, paradigmas y pragmática . Jones & Bartlett Learning. ISBN 978-0-7637-8017-3.
  6. 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 . 
  7. Berners-Lee, Tim; Hendler, James; Lassila, Ora (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 (5): 34–43 . doi : 10.1038/scientificamerican0501-34 . Archivado del original el 24 de abril de 2013.