En inteligencia artificial, el encadenamiento hacia adelante y hacia atrás es uno de los temas importantes, pero antes de comprender el encadenamiento hacia adelante y hacia atrás, primero comprendamos de dónde provienen estos dos términos.
iterar mapa en java
Máquina de inferencia:
El motor de inferencia es el componente del sistema inteligente en inteligencia artificial, que aplica reglas lógicas a la base de conocimientos para inferir nueva información a partir de hechos conocidos. El primer motor de inferencia formó parte del sistema experto. El motor de inferencia comúnmente procede de dos modos, que son:
Cláusula de cuerno y cláusula definida:
La cláusula de cuerno y la cláusula definida son formas de oraciones, lo que permite que la base de conocimientos utilice un algoritmo de inferencia más restringido y eficiente. Los algoritmos de inferencia lógica utilizan enfoques de encadenamiento hacia adelante y hacia atrás, que requieren KB en forma de cláusula definida de primer orden .
Cláusula definida: Una cláusula que es una disyunción de literales con exactamente un literal positivo Se conoce como cláusula definida o cláusula de cuerno estricta.
Cláusula de cuerno: Una cláusula que es una disyunción de literales con como máximo un literal positivo Se conoce como cláusula de cuerno. Por tanto, todas las cláusulas definidas son cláusulas cuerno.
Ejemplo: (¬ p V ¬ q V k) . Tiene sólo un literal positivo k.
Es equivalente a p ∧ q → k.A. Encadenamiento hacia adelante
El encadenamiento directo también se conoce como método de deducción directa o razonamiento directo cuando se utiliza un motor de inferencia. El encadenamiento directo es una forma de razonamiento que comienza con oraciones atómicas en la base de conocimientos y aplica reglas de inferencia (Modus Ponens) en dirección directa para extraer más datos hasta alcanzar un objetivo.
El algoritmo de encadenamiento directo parte de hechos conocidos, activa todas las reglas cuyas premisas se satisfacen y agrega su conclusión a los hechos conocidos. Este proceso se repite hasta que se solucione el problema.
Propiedades del encadenamiento directo:
- Es un enfoque descendente, ya que se mueve de abajo hacia arriba.
- Es un proceso de llegar a una conclusión basada en hechos o datos conocidos, comenzando desde el estado inicial y alcanzando el estado objetivo.
- El enfoque de encadenamiento hacia adelante también se denomina basado en datos, ya que alcanzamos el objetivo utilizando los datos disponibles.
- El enfoque de encadenamiento directo se utiliza comúnmente en sistemas expertos, como CLIPS, sistemas de reglas comerciales y de producción.
Considere el siguiente ejemplo famoso que usaremos en ambos enfoques:
Ejemplo:
'Según la ley, es un delito que un estadounidense venda armas a naciones hostiles. El país A, enemigo de Estados Unidos, tiene algunos misiles, y todos los misiles se los vendió Robert, que es ciudadano estadounidense.
Pruebalo 'Robert es un criminal.'
Para resolver el problema anterior, primero convertiremos todos los hechos anteriores en cláusulas definidas de primer orden y luego usaremos un algoritmo de encadenamiento directo para alcanzar el objetivo.
Conversión de hechos a FOL:
- Es un delito que un estadounidense venda armas a naciones hostiles. (Digamos que p, q y r son variables)
Americano (p) ∧ arma(q) ∧ vende (p, q, r) ∧ hostil(r) → Criminal(p) ...(1) - El país A tiene algunos misiles. ?p Posee(A, p) ∧ Misil(p) . Se puede escribir en dos cláusulas definidas utilizando la instanciación existencial, introduciendo la nueva constante T1.
Posee(A, T1) ......(2)
Misil(T1) ......(3) - Todos los misiles fueron vendidos al país A por Robert.
?p Misiles(p) ∧ Posee (A, p) → Vende (Robert, p, A) ......(4) - Los misiles son armas.
Misil(p) → Armas (p) .......(5) - El enemigo de América se conoce como hostil.
Enemigo(p, América) →Hostil(p) ........(6) - El país A es un enemigo de Estados Unidos.
Enemigo (A, América) .........(7) - robert es americano
americano(Roberto). ..........(8)
Prueba de encadenamiento directo:
Paso 1:
En el primer paso comenzaremos con los hechos conocidos y elegiremos las frases que no tengan implicaciones, como por ejemplo: Americano (Robert), enemigo (A, América), propietario (A, T1) y misil (T1) . Todos estos hechos se representarán a continuación.
Paso 2:
En el segundo paso veremos aquellos hechos que se infieren a partir de hechos disponibles y con premisas satisfechas.
La regla (1) no satisface las premisas, por lo que no se agregará en la primera iteración.
Las reglas (2) y (3) ya están agregadas.
Regla-(4) satisfacer con la sustitución {p/T1}, entonces vende (Robert, T1, A) se añade, lo que se infiere de la conjunción de las Reglas (2) y (3).
La regla (6) se cumple con la sustitución (p/A), por lo que se agrega Hostil (A) y se infiere de la regla (7).
Paso 3:
En el paso 3, como podemos comprobar, la regla (1) se cumple con la sustitución. {p/Robert, q/T1, r/A}, entonces podemos agregar Criminal(Robert) lo que infiere todos los hechos disponibles. Y así alcanzamos nuestra declaración de objetivos.
Por lo tanto, se demuestra que Robert es un criminal que utiliza el enfoque de encadenamiento directo.
B. Encadenamiento hacia atrás:
El encadenamiento hacia atrás también se conoce como método de deducción hacia atrás o razonamiento hacia atrás cuando se utiliza un motor de inferencia. Un algoritmo de encadenamiento hacia atrás es una forma de razonamiento que comienza con el objetivo y trabaja hacia atrás, encadenando reglas para encontrar hechos conocidos que respalden el objetivo.
Propiedades del encadenamiento hacia atrás:
- Se le conoce como enfoque de arriba hacia abajo.
- El encadenamiento hacia atrás se basa en la regla de inferencia modus ponens.
- En el encadenamiento hacia atrás, el objetivo se divide en submetas o submetas para demostrar que los hechos son ciertos.
- Se denomina enfoque basado en objetivos, ya que una lista de objetivos decide qué reglas se seleccionan y utilizan.
- El algoritmo de encadenamiento hacia atrás se utiliza en teoría de juegos, herramientas automatizadas de demostración de teoremas, motores de inferencia, asistentes de demostración y diversas aplicaciones de inteligencia artificial.
- El método de encadenamiento hacia atrás utilizaba principalmente un búsqueda en profundidad estrategia para la prueba.
Ejemplo:
En el encadenamiento hacia atrás, usaremos el mismo ejemplo anterior y reescribiremos todas las reglas.
Posee(A, T1) ........(2)
Prueba de encadenamiento hacia atrás:
En el encadenamiento hacia atrás, comenzaremos con nuestro predicado objetivo, que es Criminal (Roberto) y luego inferir reglas adicionales.
Paso 1:
En el primer paso, tomaremos el hecho del objetivo. Y a partir del hecho objetivo, inferiremos otros hechos y, finalmente, demostraremos que esos hechos son ciertos. Entonces nuestro hecho objetivo es 'Robert es un criminal', por lo que su predicado es lo siguiente.
Paso 2:
En el segundo paso, inferiremos otros hechos a partir del hecho objetivo que satisface las reglas. Como podemos ver en la Regla 1, el predicado objetivo Penal (Robert) está presente con la sustitución {Robert/P}. Entonces agregaremos todos los hechos conjuntivos debajo del primer nivel y reemplazaremos p con Robert.
Aquí podemos ver que American (Robert) es un hecho, así se demuestra aquí.
Paso 3: t En el paso 3, extraeremos más hechos del Misil(q) que se deducen del Arma(q), ya que satisface la Regla-(5). El arma (q) también es cierta con la sustitución de una constante T1 en q.
Etapa 4:
En el paso 4, podemos inferir los hechos Misil(T1) y Posee(A, T1) de Ventas(Robert, T1, r) que satisface la Regla- 4 , con la sustitución de A en lugar de r. Entonces estas dos afirmaciones quedan demostradas aquí.
Paso 5:
En el paso 5, podemos inferir el hecho Enemigo (A, América) de Hostil(A) lo que satisface la regla 6. Y, por lo tanto, se demuestra que todas las afirmaciones son verdaderas mediante encadenamiento hacia atrás.