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 el objetivo. Se utiliza en demostradores automáticos de teoremas , motores de inferencia , asistentes de demostración 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 denomina análisis retrógrado y se utiliza para generar tablas base para finales de ajedrez en el ajedrez computacional .
El encadenamiento hacia atrás se implementa en la programación lógica mediante la resolución SLD . Ambas reglas se basan en la regla de inferencia modus ponens . Es uno de los dos métodos más utilizados para razonar con reglas de inferencia e implicaciones lógicas ; el otro es el encadenamiento hacia adelante . Los sistemas de encadenamiento hacia atrás suelen emplear una estrategia de búsqueda en profundidad , por ejemplo, Prolog . [ 2 ]
Uso
El encadenamiento hacia atrás comienza con una lista de objetivos (o una hipótesis ) y trabaja hacia atrás desde el consecuente hasta el antecedente para ver si algún dato respalda alguno de estos consecuentes. [ 3 ] Un motor de inferencia que utiliza el encadenamiento hacia atrás buscaría en las reglas de inferencia hasta encontrar una con un consecuente ( cláusula Then ) que coincida con un objetivo deseado. Si se desconoce si el antecedente ( cláusula If ) de esa regla es verdadero, entonces se agrega a la lista de objetivos (para que un objetivo sea confirmado, también se deben proporcionar datos que confirmen esta nueva regla).
Por ejemplo, supongamos que una nueva mascota, Fritz, llega 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 un conjunto de reglas que contiene las siguientes cuatro reglas:

- Si X croa y X come moscas, entonces X es una rana.
- Si X gorjea 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.
Mediante razonamiento inverso, un motor de inferencia puede determinar si Fritz es verde en cuatro pasos. Para empezar, la consulta se formula como una afirmación que debe probarse: "Fritz es verde".
1. Fritz se sustituye por X en la regla n.º 3 para ver si su consecuente coincide con el objetivo, por lo que la regla n.º 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 comprobar si se puede demostrar el antecedente ("Fritz es una rana"). Por lo tanto, el antecedente se convierte en el nuevo objetivo:
Fritz es una rana
2. Sustituyendo nuevamente a Fritz por X, la regla n.° 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 comprobar si se puede demostrar el antecedente ("Fritz croa y come moscas"). Por lo tanto, el antecedente se convierte en el nuevo objetivo:
Fritz croa y Fritz come moscas
3. Dado que este objetivo es una conjunción de dos enunciados, el motor de inferencia lo divide en dos subobjetivos, ambos de los cuales deben ser probados:
Fritz croa Fritz come moscas
4. Para probar ambos subobjetivos, el motor de inferencia observa que ambos se dieron como hechos iniciales. Por lo tanto, la conjunción es verdadera:
Fritz croa y Fritz come moscas
Por lo tanto, el antecedente de la regla n.° 1 es verdadero y el consecuente debe ser verdadero:
Fritz es una rana
Por lo tanto, el antecedente de la regla n.° 3 es verdadero y el consecuente debe ser verdadero:
Fritz es verde
Por lo tanto, esta derivación permite al motor de inferencia demostrar que Fritz es verde. No se utilizaron las reglas n.° 2 y n.° 4.
Nótese que los objetivos siempre coinciden con las versiones afirmadas de los consecuentes de las implicaciones (y no con las versiones negadas como en el modus tollens ) e incluso entonces, sus antecedentes se consideran como los nuevos objetivos (y no las conclusiones como en la afirmación del consecuente ), que en última instancia deben coincidir con hechos conocidos (generalmente definidos como consecuentes cuyos antecedentes son siempre verdaderos); por lo tanto, la regla de inferencia utilizada es el modus ponens .
Debido a que la lista de objetivos determina qué reglas se seleccionan y utilizan, este método se denomina orientado a objetivos , en contraste con la inferencia de encadenamiento hacia adelante basada en datos . El enfoque de encadenamiento hacia atrás se emplea con frecuencia en los 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 ]
Véase también
Referencias
- ↑ Feigenbaum, Edward (1988). El auge de la empresa experta . Times Books. pág . 317. ISBN 0-8129-1731-6.
- ↑ Michel Chein; Marie-Laure Mugnier (2009). Representación del conocimiento basada en grafos: fundamentos computacionales de los grafos conceptuales . Springer. pág. 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
- ↑ Lenguajes que admiten encadenamiento hacia atrás:
- Russell y Norvig 2009 , pág. 339
Lecturas adicionales
- Russell, Stuart ; Norvig, Peter (2009). Inteligencia artificial: un enfoque moderno . Prentice Hall. ISBN 978-0-13-604259-4.
Enlaces externos
- Ejemplo de encadenamiento hacia atrás
- Sistemas expertos
- Lógica en informática
- Razonamiento
- Razonamiento automatizado