¿Cuáles son las restricciones de ordenamiento de la base herbrand en el aprendizaje metainterpretativo?

MIL usa dos ordenamientos (1) sobre símbolos predicados y (2) sobre términos. Los ordenamientos aseguran que un objetivo G se pruebe utilizando átomos inferiores en el ordenamiento.

Para ordenar (1), suponga que tiene la cadena de metarule:

P (A, B) <- Q (A, C), R (C, B).

Para garantizar la terminación, nos aseguramos de que P> Q y P> R, donde> se refiere al orden sobre los símbolos predicados. Metagol, una implementación MIL, crea automáticamente un ordenamiento total arbitrario sobre los símbolos de predicado en el conocimiento de fondo y coloca el predicado objetivo en la parte superior del orden.

Por ejemplo, suponga que está tratando de aprender la relación de los abuelos utilizando los hechos madre y padre (para simplificar, suponga que cada predicado es diádico). Entonces un pedido es {abuelo, madre, padre}. Para probar una metarule con un abuelo en la cabeza, Metagol solo puede usar a la madre o al padre como átomos del cuerpo. Cuando se inventa un predicado, se coloca debajo del predicado objetivo en el orden. Entonces, si Metagol inventa tres nuevos predicados f3, f3, f2, el orden sería {abuelo, f3, f2, f1, madre, padre}.

El pedido (1) es suficiente para las metarules no recursivas, pero insuficiente para las metarules recursivas.

Ordenar (2) es específico de las metarules recursivas y se define sobre los términos.

Por ejemplo, para el metarule tailrec P (A, B) C> B. Este pedido no sea manejado por Metagol y el usuario debe definir eso.

Por ejemplo, suponga que hay un robot en un espacio unidimensional y cada término es un estado (una lista de hechos de Prolog). El siguiente orden asegura que el robot siempre se mueva al menos un lugar a la derecha. Debido a que el espacio es finito, la terminación está garantizada.

obj_gt (A, B): –
world_check (robot_pos (APos), A),
world_check (robot_pos (BPos), B),
APos <BPos.

Como segundo ejemplo, al aprender las funciones de transformación de cadenas (donde los términos son listas de caracteres) aplicamos un orden sobre los términos de la siguiente manera:

obj_gt (A, B): –
input_len (A, Na),
input_len (B, Nb),
Na> Nb.

input_len (In / _): – longitud (In, N).

Aquí, nos aseguramos de que la longitud de la entrada disminuya con cada llamada recursiva. Como la longitud de la lista no puede ser negativa, la terminación está garantizada.

En ambos casos, el pedido se implementa como una condición posterior a la prueba en la metarule, por lo que definiríamos la metarule tailrec de la siguiente manera:

P (A, B): – Q (A, C) -obj_gt (A, C), P (C, B) -obj_gt (C, B).

Espero que ayude.

More Interesting

¿Cuál es una buena distribución para usar para simular un conjunto de entrenamiento para la clasificación supervisada?

¿Es posible verificar manualmente si los vectores de soporte siguen hiperplanos teóricos en SVM usando un núcleo de base radial?

¿DevOps mejora las operaciones de ciencia de datos y aprendizaje automático?

¿Cuáles son algunos de los beneficios y desventajas de los modelos discriminativos y generativos?

¿Cómo funcionan los aceleradores de procesador?

¿Cuáles son algunos modelos de detección de rostros basados ​​en aprendizaje profundo disponibles gratuitamente?

¿Cuál es el peor caso de sobreajuste que hayas visto en entornos sociales o psicológicos?

¿Por qué la mayoría de las competencias recientes se centran en el aprendizaje profundo / redes neuronales? ¿No crea esto un desequilibrio en los tipos de problemas que se ofrecen?

Aprendizaje automático: al construir un modelo de regresión lineal, ¿cómo decido entre variar el grado del polinomio y variar el parámetro de regularización?

Si su red neuronal no está aprendiendo (o no está aprendiendo mucho), ¿qué pasos toma para descubrir por qué?

¿Cuál es actualmente la mejor GPU para el aprendizaje profundo?

Cómo mostrar que una convolución transpuesta es equivalente a un paso de respaldo de la capa de convolución, con los mismos pesos que en una propagación hacia adelante

¿Cuál es un ejemplo de un sistema, proceso o actividad que no puede ser modelado por un proceso de decisión de Markov?

¿Cuál es el libro recomendado sobre 'plasticidad neuronal' para informáticos, programadores o profesionales de aprendizaje profundo?

¿Puedo usar el aprendizaje por refuerzo para ayudar a las personas a elegir la ruta más barata cuando viajan en avión?