stringtranslate.com

Encadenamiento hacia atrás

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 demostradores 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 tablas 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 modus ponens . Es uno de los dos métodos de razonamiento con reglas de inferencia e implicaciones lógicas más utilizados ; el otro es el encadenamiento directo . Los sistemas de encadenamiento hacia atrás suelen emplear 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 hasta el antecedente para ver si algún dato respalda alguno de estos consecuentes. [3] Un motor de inferencia que utilice encadenamiento hacia atrás buscaría las reglas de inferencia hasta encontrar una con una consecuente ( cláusula Then ) que coincida con el objetivo deseado. Si no se sabe que el antecedente ( cláusula If ) de esa regla es verdadero, entonces se agrega a la lista de objetivos (para que se confirme el objetivo, también se deben 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:

El objetivo es decidir si Fritz es verde, basándose en una base de reglas que contiene las siguientes cuatro reglas:

Un ejemplo de encadenamiento hacia atrás.
Un ejemplo de encadenamiento hacia atrás
  1. Si X croa y X come moscas, entonces X es una rana.
  2. Si X chirría y X canta, entonces X es un canario.
  3. Si X es una rana, entonces X es verde.
  4. Si X es un canario, entonces X es amarillo.

Con razonamiento inverso, un motor de inferencia puede determinar si Fritz es verde en cuatro pasos. Para empezar, la pregunta se formula como una afirmación de objetivo que debe demostrarse: "Fritz es verde".

1. Fritz se sustituye 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. 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 ver si el antecedente ("Fritz croa y come moscas") se puede probar. 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 demostrarse:

Fritz grazna Fritz come moscas

4. Para probar ambos submetas, el motor de inferencia ve que ambos submetas 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

Por lo tanto, esta derivación permite que el motor de inferencia demuestre que Fritz es verde. No se utilizaron las reglas 2 y 4.

Tenga en cuenta que las metas siempre coinciden con las versiones afirmadas de los consecuentes de las implicaciones (y no con las versiones negadas como en modus tollens ) y aun así, sus antecedentes se consideran como las nuevas metas (y no las conclusiones como al afirmar el consecuente ), que en última instancia deben coincidir con hechos conocidos (generalmente definidos como consecuentes cuyos antecedentes son siempre verdaderos); así, 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 basado en objetivos , en contraste con la inferencia de encadenamiento directo basada en datos . Los sistemas expertos suelen emplear el enfoque de encadenamiento hacia atrás .

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

  1. ^ Feigenbaum, Eduardo (1988). El auge de la empresa experta . Libros de tiempos. pag. 317.ISBN​ 0-8129-1731-6.
  2. ^ 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.
  3. ^ Definición de encadenamiento hacia atrás como método de búsqueda en profundidad:
    • Russell y Norvig 2009, pág. 337
  4. ^ Idiomas que admiten el encadenamiento hacia atrás:
    • Russell y Norvig 2009, pág. 339

Fuentes

enlaces externos