El encadenamiento hacia atrás (o razonamiento hacia atrás ) es un método de inferencia que se describe coloquialmente como trabajar hacia atrás desde la meta. Se utiliza en probadores de teoremas automatizados , motores de inferencia , asistentes de prueba y otras aplicaciones de inteligencia artificial . [1]
En teoría de juegos , los investigadores la aplican a subjuegos (más simples) para encontrar una solución al juego, en un proceso llamado inducción hacia atrás . En ajedrez, se llama análisis retrógrado y se utiliza para generar bases de mesa para finales de ajedrez para ajedrez por computadora .
El encadenamiento hacia atrás se implementa en la programación lógica mediante resolución SLD . Ambas reglas se basan en la regla de inferencia del modus ponens . Es uno de los dos métodos de razonamiento más utilizados con reglas de inferencia e implicaciones lógicas ; el otro es el encadenamiento hacia adelante . Los sistemas de encadenamiento hacia atrás generalmente emplean una estrategia de búsqueda en profundidad , por ejemplo, Prolog . [2]
Cómo funciona
El encadenamiento hacia atrás comienza con una lista de objetivos (o una hipótesis ) y trabaja hacia atrás desde el consecuente al antecedente para ver si algún dato apoya alguno de estos consecuentes. [3] Un motor de inferencia que utilice el encadenamiento hacia atrás buscaría las reglas de inferencia hasta encontrar una con un consecuente ( cláusula Then ) que coincida con el objetivo deseado. Si se sabe que el antecedente ( cláusula If ) de esa regla es verdadero, entonces se agrega a la lista de objetivos (para que el objetivo de uno sea confirmado, también debe proporcionar datos que confirmen esta nueva regla).
Por ejemplo, supongamos que se entrega una nueva mascota, Fritz, en una caja opaca junto con dos datos sobre Fritz:
- Fritz croa
- Fritz come moscas
El objetivo es decidir si Fritz es verde, basándose en una base de reglas que contiene las siguientes cuatro reglas:
- Si X croa y X come moscas, entonces X es una rana
- Si X chirría y X canta, entonces X es un canario
- Si X es una rana, entonces X es verde
- Si X es un canario, entonces X es amarillo
Con el razonamiento hacia atrás, un motor de inferencia puede determinar si Fritz es verde en cuatro pasos. Para empezar, la consulta está redactada como una afirmación de objetivo que debe demostrarse: "Fritz es verde".
1. Fritz es sustituido por X en la regla # 3 para ver si su consecuente coincide con el objetivo, por lo que la regla # 3 se convierte en:
Si Fritz es una rana, entonces Fritz es verde
Dado que el consecuente coincide con el objetivo ("Fritz es verde"), el motor de reglas ahora necesita ver si se puede probar el antecedente ("Fritz es una rana"). El antecedente, por tanto, se convierte en la nueva meta:
Fritz es una rana
2. Nuevamente sustituyendo a Fritz por X, la regla # 1 se convierte en:
Si Fritz croa y Fritz come moscas, entonces Fritz es una rana
Dado que el consecuente coincide con el objetivo actual ("Fritz es una rana"), el motor de inferencia ahora necesita ver si el antecedente ("Fritz croa y come moscas") puede demostrarse. El antecedente, por tanto, se convierte en la nueva meta:
Fritz croa y Fritz come moscas
3. Dado que este objetivo es una conjunción de dos declaraciones, el motor de inferencia lo divide en dos subobjetivos, los cuales deben probarse:
Fritz croa Fritz come moscas
4. Para probar ambos subobjetivos, el motor de inferencia ve que ambos subobjetivos se dieron como hechos iniciales. Por tanto, la conjunción es verdadera:
Fritz croa y Fritz come moscas
por lo tanto, el antecedente de la regla # 1 es verdadero y el consecuente debe ser verdadero:
Fritz es una rana
por lo tanto, el antecedente de la regla # 3 es verdadero y el consecuente debe ser verdadero:
Fritz es verde
Esta derivación, por lo tanto, permite que el motor de inferencia demuestre que Fritz es verde. No se utilizaron las reglas 2 y 4.
Tenga en cuenta que los objetivos siempre coinciden con las versiones afirmadas de las consecuencias de las implicaciones (y no las versiones negadas como en modus tollens ) e incluso entonces, sus antecedentes se consideran entonces como los nuevos objetivos (y no las conclusiones como al afirmar el consecuente ), que en última instancia debe coincidir con hechos conocidos (generalmente definidos como consecuentes cuyos antecedentes son siempre verdaderos); por tanto, la regla de inferencia utilizada es modus ponens .
Debido a que la lista de objetivos determina qué reglas se seleccionan y utilizan, este método se denomina basado en objetivos , en contraste con la inferencia de encadenamiento hacia adelante impulsada por datos . El enfoque de encadenamiento hacia atrás a menudo es empleado por sistemas expertos .
Los lenguajes de programación como Prolog , Knowledge Machine y ECLiPSe admiten el encadenamiento hacia atrás dentro de sus motores de inferencia. [4]
Ver también
Referencias
- ^ Feigenbaum, Edward (1988). El auge de la empresa experta . Libros de tiempos. pag. 317 . ISBN 0-8129-1731-6.
- ^ Michel Chein; Marie-Laure Mugnier (2009). Representación del conocimiento basada en gráficos: fundamentos computacionales de gráficos conceptuales . Saltador. pag. 297. ISBN 978-1-84800-285-2.
- ^ Definición de encadenamiento hacia atrás como método de búsqueda en profundidad:
- Russell y Norvig 2009 , pág. 337
- ^ Idiomas que admiten el encadenamiento hacia atrás:
- Russell y Norvig 2009 , pág. 339
enlaces externos
- Ejemplo de encadenamiento hacia atrás