stringtranslate.com

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 utilizando 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 de uso cotidiano de la frase, todos los sistemas informáticos son sistemas de razonamiento en el sentido de que todos 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 , la frase suele reservarse para sistemas que realizan tipos de razonamiento más complejos. Por ejemplo, no para sistemas que realizan tipos de razonamiento bastante sencillos, como calcular un impuesto a las ventas o un descuento para clientes, sino para hacer 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 de procesamiento por lotes. Los sistemas interactivos interactúan con el usuario para hacer preguntas aclaratorias o permitirle guiar el proceso de razonamiento. Los sistemas por lotes toman toda la información disponible a la vez y generan la mejor respuesta posible sin retroalimentación ni orientación del usuario. [1]

Los sistemas de razonamiento tienen un amplio campo de aplicación que incluye la programació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 la 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. Se trataba de sistemas 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 probadores de teoremas y solucionadores de problemas generales rara vez eran útiles para aplicaciones prácticas y requerían de usuarios especializados con conocimientos de lógica para utilizarlos. La primera aplicación práctica del razonamiento automatizado fueron los sistemas expertos . Los sistemas expertos se centraban en dominios mucho más definidos que la resolución de problemas generales, como el diagnóstico médico o el análisis de fallas en una aeronave. Los sistemas expertos también se centraban en implementaciones más limitadas de la lógica. En lugar de intentar implementar la gama completa de expresiones lógicas, normalmente se centraban en modus-ponens implementados mediante reglas IF-THEN. Centrarse en un dominio específico y permitir solo un subconjunto restringido de lógica mejoraba el rendimiento de dichos sistemas de modo que fueran prácticos para su uso en el mundo real y no simplemente 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 sistemas expertos se denominaba normalmente motores de inferencia . Los utilizados para inferencias lógicas más generales se denominan normalmente probadores de teoremas . [2]

Con el aumento de la popularidad de los sistemas expertos, se aplicaron muchos tipos nuevos de razonamiento automático a diversos problemas en el gobierno y la industria. Algunos, como el razonamiento basado en casos, surgieron de la investigación de sistemas expertos. Otros, como los algoritmos de satisfacción de restricciones, también fueron influenciados por campos como la tecnología de decisiones y la programación lineal. Además, un enfoque completamente diferente, uno que no se basa en el razonamiento simbólico sino en un modelo conexionista, también ha sido extremadamente productivo. Este último tipo de razonamiento automático es especialmente adecuado para problemas de detección de señales y de comparación de patrones, como la búsqueda de texto y la comparación de rostros.

Uso de la lógica

El término sistema de razonamiento se puede utilizar para aplicar a casi cualquier tipo de sistema sofisticado de soporte 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 informática de la lógica. Varias implementaciones demuestran una variación significativa en términos de sistemas de lógica y formalidad. La mayoría de los sistemas de razonamiento implementan variaciones de lógica proposicional y simbólica ( predicativa ). Estas variaciones pueden ser representaciones matemáticamente precisas de sistemas de lógica formal (por ejemplo, FOL ), o versiones extendidas e híbridas de esos sistemas (por ejemplo, lógica cortés [3] ). Los sistemas de razonamiento pueden implementar explícitamente tipos de lógica adicionales (por ejemplo, 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 anexos personalizados para resolver problemas del mundo real.

Muchos sistemas de razonamiento emplean el razonamiento deductivo para extraer inferencias del conocimiento disponible. Estos motores de inferencia admiten el razonamiento hacia adelante o el razonamiento hacia atrás para inferir conclusiones mediante 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 admiten ampliamente la inferencia deductiva, algunos sistemas emplean razonamiento abductivo , inductivo , refutable y otros tipos de razonamiento. También se pueden emplear heurísticas para determinar soluciones aceptables a problemas intratables .

Los sistemas de razonamiento pueden emplear el supuesto de mundo cerrado (CWA) o el supuesto de mundo abierto (OWA). El OWA se asocia a menudo con la representación del conocimiento ontológico y la Web Semántica . Los diferentes sistemas exhiben una variedad de 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, incluida la negación como fracaso y la negación "inflacionaria" (negación de átomos no fundamentales ). Diferentes 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 proporcionan capacidades para razonar en condiciones de incertidumbre . Esto es importante cuando se construyen 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 , lógica multivaluada (" difusa ") y varios enfoques conexionistas . [4]

Tipos de sistemas de razonamiento

En esta sección se ofrece una clasificación informal y no exhaustiva de los tipos comunes de sistemas de razonamiento. Estas categorías no son absolutas. Se superponen en un grado significativo 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 una 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 soluciones óptimas. Pueden emplear formas de programación lineal y no lineal . A menudo se utilizan para realizar la optimización dentro de espacios de problemas altamente combinatorios . Por ejemplo, pueden usarse 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 automático para determinar las pruebas de teoremas matemáticos. También pueden utilizarse para verificar pruebas 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 (PL) son programas de software escritos mediante 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ó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 muchas 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 por separado a otras funciones. Tienen una amplia aplicabilidad en muchos dominios. Muchos motores de reglas implementan capacidades de razonamiento. Un enfoque común es 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 ("activa") la lista de acciones asociadas para cada coincidencia. Si esas acciones eliminan o modifican algún hecho, o afirman nuevos hechos, el motor vuelve a calcular inmediatamente el conjunto de coincidencias. Los motores de reglas se utilizan ampliamente para modelar y aplicar reglas comerciales , para controlar la toma de decisiones en procesos automatizados y para hacer cumplir políticas comerciales y técnicas.

Clasificador deductivo

Los clasificadores deductivos surgieron 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 de inteligencia artificial conocida como lenguajes de marco . Un lenguaje de marco describe el dominio del problema como un conjunto de clases, subclases y relaciones entre las clases. Es similar al modelo orientado a objetos . Sin embargo, a diferencia de los modelos orientados a objetos, los lenguajes de marco tienen 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 determinado (conocido como ontología ) y determinar si las distintas relaciones descritas en el modelo son consistentes. Si la ontología no es consistente, el clasificador resaltará las declaraciones que sean 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 clases adicionales 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 . [6] [7]

Sistemas de aprendizaje automático

Los sistemas de aprendizaje automático desarrollan su comportamiento con el tiempo en función de la experiencia . Esto puede implicar el razonamiento sobre eventos observados o datos de ejemplo proporcionados con fines de entrenamiento. Por ejemplo, los sistemas de aprendizaje automático 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 en línea con las observaciones y luego utilizan estas generalizaciones para controlar el comportamiento futuro.

Sistemas de razonamiento basados ​​en casos

Los sistemas de razonamiento basado en casos (CBR) brindan soluciones a los problemas mediante el análisis de similitudes con otros problemas para los cuales 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 difiere del razonamiento analógico en que el razonamiento analógico utiliza solo el criterio de similitud "profunda", es decir, la relación o incluso las 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 porque los objetos, características y/o valores similares deben estar en el mismo dominio, mientras que el criterio de similitud "profunda" de "relaciones" hace que el razonamiento analógico sea aplicable entre dominios donde solo las relaciones son similares entre los casos. Los sistemas CBR se utilizan comúnmente en escenarios de soporte técnico /al cliente 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 (PRS) 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 el logro de un objetivo determinado . El PRS implementa un modelo de creencias-deseos-intenciones razonando sobre hechos (' creencias ') para seleccionar planes apropiados (' intenciones ') para objetivos determinados ('deseos'). Las aplicaciones típicas del PRS incluyen sistemas de gestión, monitoreo y detección de fallas .

Referencias

  1. ^ Wos, Larry; Owerbeek, Ross; Ewing, Lusk; Boyle, Jim (1984). Razonamiento automatizado: introducciones y aplicaciones. Prentice Hall. pág. 4. ISBN 978-0-13-054453-7.
  2. ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Construcción de sistemas expertos. Addison-Wesley. 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: 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 tiene sentido para las computadoras desencadenará una revolución de nuevas posibilidades». Scientific American . 284 (5): 34–43. doi :10.1038/scientificamerican0501-34. Archivado desde el original el 24 de abril de 2013.