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 juegan 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 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 sobre las ventas o un descuento para el 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: 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 absorben toda la información disponible a la vez y generan la mejor respuesta posible sin comentarios ni orientación del usuario. [1]

Los sistemas de razonamiento tienen un amplio campo de aplicación que incluye programación , procesamiento de reglas comerciales , resolución de problemas , procesamiento de eventos complejos , detección de intrusiones , análisis predictivo , robótica , visión por computadora y procesamiento de lenguaje natural .

Historia

Los primeros sistemas de razonamiento fueron demostradores de teoremas, sistemas que representan axiomas y enunciados en lógica de primer orden y luego usan reglas de la 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 General Problem Solver 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. Trabajaron descomponiendo los problemas en subproblemas más pequeños y manejables, resolviendo cada subproblema y reuniendo las respuestas parciales en una respuesta final. Otro ejemplo de solución de problemas generales 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 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 fallos en una aeronave. Los sistemas expertos también se centraron en implementaciones de lógica más limitadas. En lugar de intentar implementar toda la gama de expresiones lógicas, normalmente se centraron en modus-ponens implementados mediante reglas SI-ENTONCES. Centrarse en un dominio específico y permitir sólo un subconjunto restringido de lógica mejoró el rendimiento de dichos sistemas para 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 automatizados anteriores. El motor utilizado para el razonamiento automatizado en los sistemas expertos normalmente se denominaba motores de inferencia . Los que se utilizan para inferencias lógicas más generales suelen denominarse demostradores de teoremas . [2]

Con el aumento de la popularidad 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 de sistemas expertos. Otros, como los algoritmos de satisfacción de restricciones, también se vieron influenciados por campos como la tecnología de decisión y la programación lineal. Además, un enfoque completamente diferente, no basado en un razonamiento simbólico sino en un modelo conexionista, también ha resultado extremadamente productivo. Este último tipo de razonamiento automatizado 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 casi cualquier tipo de sistema sofisticado de apoyo a la decisión , 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 variaciones significativas en términos de sistemas de lógica y formalidad. La mayoría de los sistemas de razonamiento implementan variaciones de la lógica ( de predicados ) proposicional y simbólica . Estas variaciones pueden ser representaciones matemáticamente precisas de sistemas lógicos formales (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 (p. ej., lógica modal , deóntica y 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 archivos adjuntos personalizados para resolver problemas del mundo real.

Muchos sistemas de razonamiento emplean razonamiento deductivo para sacar inferencias del conocimiento disponible. Estos motores de inferencia admiten el razonamiento directo o inverso 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 apoyan ampliamente la inferencia deductiva, algunos sistemas emplean razonamiento abductivo , inductivo , anulable y otros tipos de razonamiento. La heurística también se puede emplear para determinar soluciones aceptables a problemas difíciles de resolver .

Los sistemas de razonamiento pueden emplear el supuesto de mundo cerrado (CWA) o el supuesto de mundo abierto (OWA). La 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 de 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 respaldar el razonamiento, la estratificación y otras técnicas lógicas monótonos o no monótonos .

Razonamiento bajo incertidumbre

Muchos sistemas de razonamiento proporcionan capacidades para razonar en condiciones de incertidumbre . Esto es importante a la hora de 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 , lógica multivaluada (" difusa ") y varios enfoques conexionistas . [4]

Tipos de sistema de razonamiento

Esta sección proporciona una categorización informal y no exhaustiva 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). Admiten programación de restricciones . Una restricción es una restricció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 determinados. 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 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]

Probadores de teoremas

Los demostradores de teoremas utilizan técnicas de razonamiento automatizadas para determinar demostraciones de teoremas matemáticos. También podrán 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 exactitud 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 cuyas primitivas y expresiones proporcionan representaciones directas de construcciones extraídas de la lógica matemática. Un ejemplo de lenguaje de programación lógica de propósito 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 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 soportar el encadenamiento hacia adelante o hacia atrás. Cada regla ("producción") vincula una conjunción de cláusulas predicadas 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 hechos nuevos, 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 marco . Un lenguaje 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 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 diversas 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 entonces razonar más y sacar 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 a 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 evolucionan su comportamiento con el tiempo en función de la experiencia . Esto puede implicar razonamiento sobre eventos observados o datos de ejemplo proporcionados con fines de capacitación. Por ejemplo, los sistemas de aprendizaje automático pueden utilizar el razonamiento inductivo para generar hipótesis sobre hechos observados. Los sistemas de aprendizaje buscan reglas o funciones generalizadas que produzcan resultados acordes 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 problemas analizando 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 basado en casos del razonamiento analógico en que el razonamiento analógico utiliza sólo el criterio de similitud "profunda", es decir, relación o 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 sólo entre casos del mismo dominio porque objetos, características y/o valores similares deben estar en el mismo dominio, mientras que el criterio de similitud "profunda" de las "relaciones" hace que el razonamiento analógico sea aplicable en dominios cruzados. donde sólo las relaciones son similares entre los casos. Los sistemas CBR se utilizan comúnmente en escenarios de centros de llamadas y soporte técnico /al cliente y tienen aplicaciones en la fabricación industrial , la agricultura , la medicina , el derecho y muchas otras áreas.

Sistemas de razonamiento procesal

Un sistema de razonamiento procedimental (PRS) utiliza técnicas de razonamiento para seleccionar planes a partir de una base de conocimientos procedimentales . Cada plan representa un curso de acción para lograr una meta determinada . La PRS implementa un modelo de creencia-deseo-intención razonando sobre hechos (" creencias ") para seleccionar planes apropiados (" intenciones ") para objetivos determinados ("deseos"). Las aplicaciones típicas de PRS incluyen sistemas de gestión, monitoreo y detección de fallas .

Referencias

  1. ^ Vaya, Larry; Owerbeek, Ross; Ewing, Lusk; Boyle, Jim (1984). Razonamiento automatizado: introducciones y aplicaciones. Prentice Hall. pag. 4.ISBN​ 978-0-13-054453-7.
  2. ^ Hayes-Roth, Federico; 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" (posdata) . Informe de investigación de IBM . RC 20836 (92273).
  4. ^ Moisés, Yoram; Vardi, Moshe Y; Fagin, Ronald; Halpern, Joseph Y (2003). Razonamiento sobre el conocimiento. Prensa del MIT. ISBN 978-0-262-56200-3.
  5. ^ Schalkoff, Robert (2011). Sistemas Inteligentes: Principios, Paradigmas y Pragmática: Principios, Paradigmas y Pragmática. Aprendizaje de Jones y Bartlett. ISBN 978-0-7637-8017-3.
  6. ^ MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripciones para mejorar la representación del conocimiento". Experto IEEE . 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 sea significativo para las computadoras desatará una revolución de nuevas posibilidades". Científico americano . 284 (5): 34–43. doi : 10.1038/scientificamerican0501-34. Archivado desde el original el 24 de abril de 2013.