Sistema de razonamiento - Enciclopedia
En la tecnología de la información, un sistema de razonamiento es un sistema de software que genera conclusiones a partir del conocimiento disponible utilizando técnicas lógicas como la deducción y la inducción. Los sistemas de razonamiento juegan un papel importante en la implementación de la inteligencia artificial y los sistemas basados en el conocimiento.
Por la definición cotidiana del término, todos los sistemas informáticos son sistemas de razonamiento en la medida en que automatizan algún tipo de lógica o decisión. Sin embargo, en el uso típico en el campo de la tecnología de la información, el término se reserva generalmente para sistemas que realizan tipos más complejos de razonamiento. Por ejemplo, no para sistemas que realizan tipos de razonamiento bastante directos como calcular el impuesto al valor agregado o el descuento al cliente, sino que hacen inferencias lógicas sobre un diagnóstico médico o un teorema matemático. Los sistemas de razonamiento vienen en dos modos: interactivos y de procesamiento por lotes. Los sistemas interactivos interactúan con el usuario para hacer preguntas clarificadoras u otra vez permiten al usuario guiar el proceso de razonamiento. Los sistemas de procesamiento por lotes toman toda la información disponible al mismo tiempo y generan la mejor respuesta posible sin retroalimentación o guía del usuario.
Los sistemas de razonamiento tienen un amplio campo de aplicación que incluye la programación de horarios, el procesamiento de reglas de negocio, la resolución de problemas, el procesamiento de eventos complejos, la detección de intrusos, el análisis predictivo, la robótica, la visión por computadora y el procesamiento del lenguaje natural.
Historia
Los primeros sistemas de razonamiento fueron los demostradores de teoremas, sistemas que representan axiomas y afirmaciones en Lógica de Primer Orden y luego utilizan reglas lógicas como el modus ponens para inferir nuevas afirmaciones. Otro tipo temprano de sistema de razonamiento fueron los solucionadores de problemas generales. Estos eran sistemas como el Solucionador de Problemas General diseñado por Newell y Simon. Los solucionadores de problemas generales intentaban proporcionar un motor de planificación genérico que pudiera representar y resolver problemas estructurados. Trabajaban mediante la descomposición de problemas en subproblemas más pequeños y manejables, resolviendo cada subproblema y reuniendo las respuestas parciales en una respuesta final. Otro ejemplo de solucionador de problemas general fue la familia de sistemas SOAR.
En la práctica, estos demostradores de teoremas y solucionadores de problemas generales rara vez eran útiles para aplicaciones prácticas y requerían usuarios especializados con conocimientos de lógica para utilizarlos. La primera aplicación práctica de la razonamiento automático fueron los sistemas expertos. Los sistemas expertos se centraron en dominios mucho más bien definidos que la resolución de problemas general, como el diagnóstico médico o el análisis de fallos en una aeronave. Los sistemas expertos también se centraron en implementaciones más limitadas de la lógica. En lugar de intentar implementar el rango completo de expresiones lógicas, generalmente se centraban en el modus ponens implementado mediante reglas IF-THEN. Centrarse en un dominio específico y permitir solo un subconjunto restringido de lógica mejoró el rendimiento de dichos sistemas, haciendo que fueran prácticos para su uso en el mundo real y no solo como demostraciones de investigación como lo habían sido la mayoría de los sistemas de razonamiento automático anteriores. El motor utilizado para el razonamiento automático en los sistemas expertos se denominaba generalmente motor de inferencias. Aquellos utilizados para una inferencia lógica más general se denominaban demostradores de teoremas.
Con el aumento en la popularidad de los sistemas expertos, se aplicaron muchos nuevos tipos de razonamiento automático a una variedad de problemas en el gobierno y la industria. Algunos, como el razonamiento basado en casos, fueron ramificaciones de la investigación en sistemas expertos. Otros, como los algoritmos de satisfacción de restricciones, también estuvieron influenciados por campos como la tecnología de decisión y la programación lineal. Además, un enfoque completamente diferente, uno no basado en el razonamiento simbólico sino en un modelo de conexiónista, ha sido extremadamente productivo. Este último tipo de razonamiento automático es especialmente adecuado para problemas de coincidencia de patrones y detección de señales, como la búsqueda de texto y la coincidencia de rostros.
Uso de la lógica
El término sistema de razonamiento puede aplicarse a prácticamente cualquier tipo de sistema de apoyo a la toma de decisiones sofisticado, como se ilustra en las áreas específicas descritas a continuación. Sin embargo, el uso más común del término sistema de razonamiento implica la representación de lógica en el computador. Varias implementaciones muestran una gran variación en términos de sistemas de lógica y formalidad. La mayoría de los sistemas de razonamiento implementan variaciones de la lógica proposicional y simbólica (predicativa). Estas variaciones pueden ser representaciones matemáticamente precisas de sistemas lógicos formales (por ejemplo, Lógica de Primer Orden) o versiones extendidas y híbridas de esos sistemas (por ejemplo, lógica cortés). Los sistemas de razonamiento pueden implementar explícitamente tipos adicionales de lógica (por ejemplo, lógica modal, deontológica, lógica temporal). Sin embargo, muchos sistemas de razonamiento implementan aproximaciones imprecisas y semiformales a sistemas lógicos reconocidos. Estos sistemas suelen respaldar una variedad de técnicas procedimentales y semideclarativas para modelar diferentes estrategias de razonamiento. Emphasizan el pragmatismo sobre la formalidad y pueden depender de extensiones y adjuntos personalizados para resolver problemas del mundo real.
Muchos sistemas de razonamiento emplean razonamiento deductivo para extraer inferencias del conocimiento disponible. Estos motores de inferencias respaldan 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 "encadenamiento hacia adelante" y "encadenamiento hacia atrás", respectivamente. Aunque los sistemas de razonamiento respaldan ampliamente la inferencia deductiva, algunos sistemas emplean tipos de razonamiento abductivo, inductivo, defeasible y otros. También pueden emplearse heurísticas para determinar soluciones aceptables para problemas intractables.
Los sistemas de razonamiento pueden emplear la asunción del mundo cerrado (CWA) o la asunción del mundo abierto (OWA). La OWA se asocia a menudo con la representación de conocimiento ontológico y la Web Semántica. Diferentes sistemas muestran una variedad de enfoques para la negación. Además del complemento lógico o bit a bit, los sistemas pueden respaldar formas existencial de negación fuerte y débil, incluyendo la negación como fracaso y la negación "inflacionaria" (negación de átomos no grounding). Diferentes sistemas de razonamiento pueden respaldar el razonamiento monotónico o no monotónico, la estratificación y otras técnicas lógicas.
Razonamiento bajo incertidumbre
Muchos sistemas de razonamiento proporcionan capacidades para razonar bajo incertidumbre. Esto es importante al construir agentes de razonamiento situado que deben manejar representaciones inciertas del mundo. Hay varias aproximaciones comunes para manejar la incertidumbre. Estas incluyen el uso de factores de certidumbre, métodos probabilísticos como la inferencia bayesiana o la teoría de Dempster–Shafer, la lógica multivaluada ('difusa') y varios enfoques de conexiónistas.
Tipos de sistema de razonamiento
Esta sección proporciona una categorización no exhaustiva e informal de tipos comunes de sistemas de razonamiento. Estas categorías no son absolutas. Se superponen en gran medida y comparten una serie de técnicas, métodos y algoritmos.
= Solucionadores de restricciones =
Los solucionadores de restricciones resuelven problemas de satisfacción de restricciones (CSP). Apoyan la programación de restricciones. Una restricción es algo que debe cumplirse por cualquier solución válida a un problema. Las restricciones se definen declarativamente 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 soluciones óptimas. Pueden emplear formas de programación lineal y no lineal. Se utilizan a menudo para realizar optimización dentro de espacios de problemas altamente combinatorios. Por ejemplo, pueden utilizarse para calcular programaciones óptimas, diseñar circuitos integrados eficientes o maximizar la productividad en un proceso de fabricación.
= Demostradores de teoremas =
Los demostradores de teoremas utilizan técnicas de razonamiento automático para determinar las demostraciones de teoremas matemáticos. También pueden utilizarse para verificar demostraciones existentes. Además del uso académico, las aplicaciones típicas de los demostradores de teoremas incluyen la verificación de la corrección de circuitos integrados, programas de software, diseños de ingeniería, etc.
= Programas lógicos =
Los programas lógicos (LP) son programas de software escritos utilizando lenguajes de programación cuyos primitivos y expresiones proporcionan representaciones directas de construcciones extraídas de la lógica matemática. Un ejemplo de un lenguaje de programación lógico general es Prolog. Los LP 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 lógica formal y tiene una amplia aplicación en muchas disciplinas.
= Motores de reglas =
Los motores de reglas representan la lógica condicional como reglas discretas. Los conjuntos de reglas pueden administrarse y aplicarse separadamente a otra funcionalidad. Tienen una amplia aplicación en muchos dominios. Muchos motores de reglas implementan capacidades de razonamiento. Un enfoque común es implementar sistemas de producción para respaldar el encadenamiento hacia adelante o hacia atrás. Cada regla ('producción') une una conjunción de cláusulas predicativas a una lista de acciones ejecutables.
En tiempo de ejecución, el motor de reglas coincide las producciones con hechos y ejecuta ('dispara') la lista de acciones asociada para cada coincidencia. Si esas 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 a menudo para modelar y aplicar reglas de negocio, controlar la toma de decisiones en procesos automatizados y hacer cumplir políticas comerciales y técnicas.
= Clasificadores deductivos =
Los clasificadores deductivos aparecieron un poco más tarde que los sistemas basados en reglas y fueron un componente de un nuevo tipo de herramienta de representación del conocimiento artificial conocido como lenguajes de marcos. Un lenguaje de marcos describe el dominio del problema como un conjunto de clases, subclases y relaciones entre las clases. Es similar al modelo orientado a objetos. A diferencia de los modelos orientados a objetos, los lenguajes de marcos tienen una semántica formal basada en la lógica de primer orden. Utilizan esta semántica para proporcionar entrada 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 el modelo son consistentes. Si la ontología no es consistente, el clasificador resaltará las declaraciones inconsistentes. Si la ontología es consistente, el clasificador puede realizar un razonamiento adicional y extraer conclusiones adicionales 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 otras clases como las descritas por el usuario. Los clasificadores son una tecnología importante en el análisis de las ontologías utilizadas para describir modelos en la Web Semántica.
= Sistemas de aprendizaje automático =
Los sistemas de aprendizaje automático evolucionan su comportamiento a lo largo del tiempo basándose en la experiencia. Esto puede implicar razonar sobre eventos observados o datos de ejemplo proporcionados con fines de entrenamiento. Por ejemplo, los sistemas de aprendizaje automático pueden utilizar razonamiento inductivo para generar hipótesis para hechos observados. Los sistemas de aprendizaje buscan reglas o funciones generalizadas que proporcionen resultados en línea con las observaciones y luego utilizan estas generalizaciones para controlar el comportamiento futuro.
= Sistemas de razonamiento basado en casos =
Los sistemas de razonamiento basado en casos (CBR) proporcionan soluciones a problemas analizando similitudes con otros problemas para los que ya existen soluciones conocidas. El razonamiento basado en casos utiliza los niveles más superficiales de similitud; es decir, los criterios de objeto, característica y valor. Esto diferencia al razonamiento basado en casos del razonamiento analogico, que utiliza solo el criterio de similitud "profundo" o relación, e incluso relaciones de relaciones, y no necesita encontrar similitud en los niveles más superficiales. Esta diferencia hace que el razonamiento basado en casos sea aplicable solo entre casos del mismo dominio, ya que los objetos, características y / o valores similares deben estar en el mismo dominio, mientras que el criterio de similitud "relaciones" hace que el razonamiento analogico sea aplicable a través de dominios donde solo las relaciones entre los casos son similares. Los sistemas de razonamiento basado en casos se utilizan comúnmente en escenarios de soporte al cliente / técnico y centros de llamadas y tienen aplicaciones en la fabricación industrial, agricultura, medicina, derecho y muchas otras áreas.
= Sistemas de razonamiento procedimental =
Un sistema de razonamiento procedimental (PRS) utiliza técnicas de razonamiento para seleccionar planes de una base de conocimiento procedimental. Cada plan representa un curso de acción para lograr un objetivo dado. El PRS implementa un modelo de creencia-deseo-intención mediante el razonamiento sobre hechos ('creencias') para seleccionar planes ('intenciones') adecuados para objetivos dados ('deseos'). Las aplicaciones típicas del PRS incluyen sistemas de gestión, monitoreo y detección de fallos.
Referencias