razonamiento automático acl2: diagramas de decisión binarios · pdf...

13
Razonamiento Automático - Trabajo ACL 2 – p. 1/13 Razonamiento Automático ACL 2: Diagramas de Decisión Binarios F.-J. Mart´ ın-Mateos Dpto. Ciencias de la Computaci ´ on e Inteligencia Articial Universidad de Sevilla

Upload: hoanganh

Post on 05-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 1/13

Razonamiento Automático

ACL2: Diagramas de Decisión Binarios

F.-J. Martın-Mateos

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

Page 2: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 2/13

Diagramas de Decision Binarios

• Un diagrama de decisión binario (DDB) es un grafo binario acíclicodirigido en el que los nodos internos representan decisiones binariasque llevan a una acción representada en los nodos finales

• Ejemplo: cualquier árbol binario

d1

d3

d4 d4

ab a ba

d2

d3

d4 d4

b a ba

d2

a

Page 3: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 3/13

Diagramas de Decision Binarios

• El interés de los DDB es que evitan el almacenamiento de informaciónredundante, al poder compartir los nodos de la estructura

d1

d3

d4 d4

ab a ba

d2

d3

d4 d4

b a ba

d2

a

d1

d2 d2

d3

a b

d4 d4

Page 4: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 4/13

Diagramas de Decision Binarios

• La eliminación de información redundante en un DDB se consiguemediante ciertos procesos de reducción

• Un proceso de reducción es la eliminación de nodos redundantes: si unnodo n1 de un DDB tiene como hijos izquierdo y derecho a un mismonodo n2, entonces se puede eliminar el nodo n1, reemplazando en laestructura cualquier arco dirigido a n1 por un arco dirigido a n2

d3

b b bb

d1

d2

d3

a

d1

d2

a b b

d1

a b

Page 5: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 5/13

Formalizacion en ACL2

• Representamos los nodos internos como listas con:◦ Un identificador de nodo◦ El identificador del nodo hijo izquierdo◦ El identificador del nodo hijo derecho◦ Para este trabajo se puede prescindir de la decisión asociada alnodo

• Para los nodos finales usamos la misma representación, en la que losidentificadores de los nodos hijos no están asociados a ningún nodo

• Para asegurar la aciclicidad de la estructura exigimos que losidentificadores de los nodos hijos sean estrictamente mayores que elidentificador del nodo

Page 6: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 6/13

Formalizacion en ACL2

• Caracterización de los nodos

(defun nodo-p (nodo)(and (true-listp nodo)

(equal (len nodo) 3)(< (car nodo) (cadr nodo))(< (car nodo) (caddr nodo))))

• Un DDB es una lista de nodos

(defun ddb-p (ddb)(if (endp ddb)

t(and (nodo-p (car ddb))

(ddb-p (cdr ddb)))))

Page 7: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 7/13

Formalizacion en ACL2

• Un nodo redundante es aquel cuyo segundo y tercer elementos soniguales

(defun redundante (nodo)(= (cadr nodo)

(caddr nodo)))

• La siguiente función busca un nodo redundante en un DDB

(defun busca-redundante (ddb)(cond ((endp ddb) nil)

((redundante (car ddb)) (car ddb))(t (busca-redundante (cdr ddb)))))

Page 8: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 8/13

Formalizacion en ACL2

• La eliminación de un nodo redundante supone sustituir en la estructuraunos identificadores por otros

• La siguiente función reemplaza el indice i por el indice j en un nodo

(defun reemplaza-nodo (i j nodo)(list (car nodo)

(if (= (cadr nodo) i) j (cadr nodo))(if (= (caddr nodo) i) j (caddr nodo))))

• La siguiente función reemplaza el indice i por el indice j en un ddb

(defun reemplaza-ddb (i j ddb)(if (endp ddb)

nil(cons (reemplaza-nodo i j (car ddb))

(reemplaza-ddb i j (cdr ddb)))))

Page 9: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 9/13

Formalizacion en ACL2

• El proceso de eliminación de nodos redundantes en un DDB consisteen localizar un nodo redundante en el DDB, eliminarlo y sustituircualquier referencia al identificador del nodo redundante por elidentificador de su nodo hijo izquierdo (o derecho)

• La siguiente función elimina un nodo de un ddb

(defun elimina-nodo (nodo ddb)(cond ((endp ddb) nil)

((equal nodo (car ddb)) (cdr ddb))(t (cons (car ddb) (elimina-nodo nodo (cdr ddb))))))

Page 10: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 10/13

Formalizacion en ACL2

• Finalmente la siguiente función implementa el proceso de eliminaciónde nodos redundantes

(defun reduce-redundantes (ddb)(let ((nodo (busca-redundante ddb)))(if nodo

(reduce-redundantes(reemplaza-ddb (car nodo) (cadr nodo)

(elimina-nodo nodo ddb)))ddb)))

Page 11: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 11/13

Trabajo: Propiedades de la eliminacion de nodos redundantes

• La eliminación de nodos redundantes en un DDB mantiene laestructura de DDB

(defthm reduce-redundantes-es-ddb(implies (ddb-p ddb)

(ddb-p (reduce-redundantes ddb))))

• La estrutura obtenida como resultado de eliminar los nodosredundantes de un DDB no tiene más nodos redundantes

(defthm reduce-redundantes-funciona(implies (ddb-p ddb)

(not (busca-redundante (reduce-redundantes ddb)))))

Page 12: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 12/13

Trabajo: Propiedades de la eliminacion de nodos redundantes

• Valoración del trabajo: 2 puntos• Se evaluarán

◦ corrección de la solución◦ documentación del trabajo◦ presentación del trabajo (si se estima necesario)

Page 13: Razonamiento Automático ACL2: Diagramas de Decisión Binarios · PDF fileRazonamientoAutomático-TrabajoACL2–p.1/13 Razonamiento Automático ACL2: Diagramas de Decisión Binarios

Razonamiento Automático - Trabajo ACL2 – p. 13/13

Trabajo: Propiedades de la eliminacion de nodos redundantes

• Condiciones del trabajo◦ el trabajo se desarrollará en un único fichero admisible como ficherode entrada para el sistema ACL2; la documentación del trabajo seincluirá en dicho fichero como comentario

◦ el trabajo es individual: en caso de coincidencia extrema entrevarios trabajos la nota será repartida

◦ forma parte tanto de la evaluación tradicional como de la alternativa◦ la entrega se realizará vía Web a través de la página de laasignatura

◦ el plazo de entrega es hasta el día 31 de Enero de 2007