Lógica y Programación

Documentos relacionados
Tema 2: Equivalencias y formas normales

LÓGICA PROPOSICIONAL

ANOTACIONES BÁSICAS SOBRE LÓGICA PROPOSICIONAL FILOSOFÍA 1º BACHILLERATO

Lógica proposicional. Ivan Olmos Pineda

Ampliación Matemática Discreta. Justo Peralta López

PHP: Lenguaje de programación

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

MATEMÁTICAS BÁSICAS. 23 de febrero de Universidad Nacional de Colombia MATEMÁTICAS BÁSICAS

Definición y representación de los

Análisis y síntesis de circuitos con elementos de memoria. Proceso de Análisis y síntesis de circuitos con elementos de memoria

RAZONAMIENTO LÓGICO LECCIÓN 1: ANÁLISIS DEL LENGUAJE ORDINARIO. La lógica se puede clasificar como:

NOT. Ejemplo: Circuito C1

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6]

Ejercicios de Lógica Proposicional *

OPTIMIZACIÓN DE CÓDIGO

Tema 3.- Predicados y sentencias condicionales

Tema 2: Representación de problemas como espacios de estados

Matemáticas Básicas para Computación

Introducción a la Lógica

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román.

Capítulo 6. Relaciones. Continuar

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

TEMA 3 ÁLGEBRA DE CONMUTACIÓN

La Lógica estudia la forma del razonamiento. La Lógica Matemática es la disciplina que trata de métodos de razonamiento. En un nivel elemental, la

Cálculo Proposicional

EJERCICIOS RESUELTOS 6

Operaciones con conjuntos (ejercicios)

Tabla de contenidos. 1 Lógica directa

Autómatas Deterministas. Ivan Olmos Pineda

Forma lógica de enunciados

Material diseñado para los estudiantes del NUTULA, alumnos del profesor Álvaro Moreno.01/10/2010 Lógica Proposicional

CURSO NIVELACIÓN LÓGICA MATEMÁTICA PROYECTO UNICOMFACAUCA TU PROYECTO DE VIDA LAS PROPOSICIONES

LICENCIATURA EN MATEMÁTICA. Práctico N 1 Lenguaje de la lógica. proposicional VICTOR GALARZA ROJAS 1 5 / 0 5 /

Proposicional. Curso Mari Carmen Suárez de Figueroa Baonza

Bases Formales de la Computación

UNIVERSIDAD TECNOLÓGICA DE BAHÍA DE BANDERAS PORTAFOLIO DE ACTIVIDADES DE APRENDIZAJE

REGLAS Y LEYES LOGICAS

Más sobre Leyes de implicación

Capítulo 4. Lógica matemática. Continuar

Tema 3. Tipos de datos simples

Matemáticas Discretas TC1003

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

El número decimal 57, en formato binario es igual a:

GRAMATICAS LIBRES DEL CONTEXTO

Apuntes de Lógica Proposicional

LÓGICA MATEMÁTICA O FORMAL O SIMBÓLICA

CIRCUITOS LÓGICOS. Lógica FCE 1. ALGEBRA DE BOOLE

EXAMEN EXTRAORDINARIO Informática y Computación IV

Matemáticas Básicas para Computación

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Horas Trabajo Estudiante: 128

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012

Formulación del problema de la ruta más corta en programación lineal

Capítulo 1 Lógica Proposicional

MATEMÁTICAS DISCRETAS. UNIDAD 2 Algebras Booleanas y Circuitos Combinatorios

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CIENCIAS CARRERA DE MATEMÁTICO CONJUNTOS Y LÓGICA

Curso de Java Introducción a la Programación III

LOGICA DE ENUNCIADOS

Tema 13: Aplicaciones de programación funcional

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Conceptos básicos necesarios en la asignatura de Fundamentos de Ordenadores (ETSETB)

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

Conjuntos, relaciones y funciones Susana Puddu

GUIA DE TRABAJOS TEORICO PRACTICO N 1: LÓGICA DE LAS PROPOSICIONES

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

encontramos dos enunciados. El primero (p) nos afirma que Pitágoras era griego y el segundo (q) que Pitágoras era geómetra.

SESIÓN 04 LÓGICA PROPOSICIONAL

Benemérita Universidad Autónoma de Puebla

Tema DA 3: Lógica proposicional:

UNIVERSIDAD LIBRE PROGRAMAS ANALÍTICOS SECCIONAL: PEREIRA FACULTAD: INGENIERIAS. PROGRAMA ACADÉMICO: Ingeniería de Sistemas

10.4 Sistemas de ecuaciones lineales

ÁLGEBRAS DE BOOLE. En un álgebra de Boole (B, +,, ) se cumplen las siguientes propiedades, para todo x, y, z B: Doble Complemento

Un. VI. Generador de código intermedio.

UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO

Guía para el estudiante

Tema 7. Generación de código

Inteligencia Artificial II La Lógica Proposicional como un lenguaje formal

Definiciones Una relación R en un conjunto A es una relación de orden si verifica las propiedades reflexiva, antisimétrica y transitiva.

Álgebra de Boole. Valparaíso, 1 er Semestre Prof. Rodrigo Araya E.

CONJUNTO: Colección o agregado de ideas u objetos de cualquier especie.

RAZONAMIENTO LÓGICO PARA LA ARGUMENTACIÓN JURÍDICA

Lógica Proposicional. Guía Lógica Proposicional. Tema III: Cuantificadores

Problemas en P y NP. Marcos Kiwi. Semestre Otoño U. Chile

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición:

ÍNDICE INTRODUCCIÓN...13

Tema 3.1 Introducción a los circuitos combinacionales. Algebra de Boole

El TAD Grafo. El TAD Grafo

Transcripción:

Lógica y Programación Diagramas de Decisión Binarios J.-A. Alonso, F.-J. Martín-Mateos, J.-L. Ruiz-Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Programación - Tema 6 p. 1/24

Forma normal condicional Definición: y 0, y 1 = ( y 0 ) ( y 1 ) Todas las conectivas lógicas se pueden epresar en función de y los valores de verdad 0 y 1, de forma que las condiciones se evalúan únicamente sobre variables: 1, 0 0, 1 y (y 1, 0), 0 y 1, (y 1, 0) y (y 1, 0), 1 y (y 1, 0), (y 0, 1) Una Forma Normal Condicional es una fórmula construida enteramente con la conectiva y los valores de verdad 0 y 1, de forma que las condiciones se evalúan únicamente sobre variables Lógica y Programación - Tema 6 p. 2/24

Epansión de Shannon F [/v] representa la fórmula obtenida a partir de F sustituyendo por v, donde v {0, 1} Epansión de Shannon de F con respecto a : F F [/1], F [/0] Transformación a forma normal condicional usando la epansión de Shannon Implementación: (epansion-shannon F ) Lógica y Programación - Tema 6 p. 3/24

Árboles de decisión Ejemplo: F = ( 1 y 1 ) ( 2 y 2 ) F = 1 F 1, F 0 F 1 = y 1 F 11, 0 F 0 = y 1 0, F 00 F 11 = 2 F 111, F 110 F 00 = 2 F 001, F 000 F 001 = y 2 1, 0 F 000 = y 2 0, 1 F 111 = y 2 1, 0 F 110 = y 2 0, 1 2 y 1 y 2 y 2 1 0 0 1 0 1 0 y 1 2 y 2 y 2 1 0 0 1 Lógica y Programación - Tema 6 p. 4/24

Diagramas de decisión binarios Un diagrama de decisión binario (DDB) es un grafo acíclico dirigido con Uno o dos nodos terminales etiquetados con 0 o 1 Un conjunto de nodos variables con dos hijos. Cada nodo variable está etiquetado con un símbolo proposicional. Ejemplo: F = ( 1 y 1 ) ( 2 y 2 ) 1 1 y 1 y 1 y 1 y 1 2 2 2 y 2 y 2 y 2 y 2 y 2 y 2 0 1 0 1 Lógica y Programación - Tema 6 p. 5/24

Reducción de Diagramas de Decisión Binarios Un DDB está reducido (DDBR) si unicidad: No eisten dos nodos en el diagrama etiquetados con el mismo símbolo proposicional y con los mismos hijos izquierdo y derecho (nodos duplicados) no-redundancia: No eisten nodos variables con hijos izquierdo y derecho idénticos (nodos redundantes) Lógica y Programación - Tema 6 p. 6/24

Reducción de Diagramas de Decisión Binarios Ejemplo: F = ( 1 y 1 ) ( 2 y 2 ) 1 y 1 y 1 2 y 2 y 2 0 1 Lógica y Programación - Tema 6 p. 7/24

Diagramas de Decisión Binarios Ordenados Un DDB está ordenado (DDBO) si eiste un orden entre los símbolos proposicionales 1 < 2 <... < n tal que para todo nodo variable etiquetado con i, si uno de sus nodos hijos es un nodo variable etiquetado con j entonces i < j Ejemplo: F = ( 1 y 1 ) ( 2 y 2 ) 1 < y 1 < 2 < y 2 1 1 y 1 y 1 y 1 y 1 2 2 2 y 2 y 2 y 2 y 2 y 2 y 2 0 1 0 1 Lógica y Programación - Tema 6 p. 8/24

DDB ordenados y reducidos Diagramas de decisión binario reducido y ordenado (DDBRO) Propiedades: Una vez fijado el orden entre las variables Toda fórmula es equivalente a un único DDBRO Una fórmula es válida si su DDBRO equivalente está formado por el nodo terminal 1 Una fórmula es insatisfacible si su DDBRO equivalente está formado por el nodo terminal 0 Los modelos de una fórmula se pueden determinar a partir de los caminos en su DDBRO equivalente que van desde el nodo raíz hasta el nodo terminal 1 Lógica y Programación - Tema 6 p. 9/24

Representación de DDB Un DDB se representa con una lista de nodos, donde el primer elemento es el nodo raíz Los nodos terminales se representan con las listas (1 1) y (0 0) Un nodo variable se representa con una lista de cuatro elementos (id,v,h1,h0), id es un identificador único por nodo (números del 2 en adelante) v es el símbolo proposicional que etiqueta el nodo h1 es el identificador del nodo correspondiente al valor 1 de v h0 es el identificador del nodo correspondiente al valor 0 de v Lógica y Programación - Tema 6 p. 10/24

Representación de DDB Ejemplo: F = ( 1 y 1 ) ( 2 y 2 ) 1 ((2 1 3 4) (3 y1 5 0) (4 y1 0 6) (5 2 7 8) (6 2 9 10) (7 y2 1 0) (8 y2 0 1) (9 y2 1 0) (10 y2 0 1) (1 1) (0 0)) 2 y 1 y 2 y 2 y 1 2 y 2 y 2 1 0 0 1 0 0 1 0 0 1 Lógica y Programación - Tema 6 p. 11/24

Reducción de DDB Ejemplo: F = ( 1 y 1 ) ( 2 y 2 ) 1 ((2 1 3 4) (3 y1 5 0) (4 y1 0 5) (5 2 7 8) y 1 y 1 (7 y2 1 0) (8 y2 0 1) 2 (1 1) (0 0)) y 2 y 2 1 0 0 0 0 1 Lógica y Programación - Tema 6 p. 12/24

Reducción de DDB Detección de nodos duplicados Implementación: (nodos-duplicados D) Ejemplos: > (nodos-duplicados ((2 1 0 1) (3 1 0 1) (1 1) (0 0))) ((2 X1 0 1) (3 X1 0 1)) > (nodos-duplicados ((2 1 0 1) (3 2 0 1) (1 1) (1 1))) ((1 1) (1 1)) Eliminación de nodos duplicados Implementación: (elimina-duplicados D) Ejemplos > (elimina-duplicados ((2 1 0 1) (3 1 0 1) (1 1) (1 1))) ((2 X1 0 1) (1 1)) Lógica y Programación - Tema 6 p. 13/24

Reducción de DDB Detección de nodos redundantes Implementación: (nodo-redundante D) Ejemplos: > (nodo-redundante ((2 1 0 1) (3 1 0 0) (1 1) (0 0))) (3 X1 0 0) > (nodo-redundante ((2 1 3 3) (3 2 0 1) (1 1) (1 1))) (2 X1 3 3) Eliminación de nodos redundantes Implementación: (elimina-redundantes D) Ejemplos > (elimina-redundantes ((2 1 3 3) (3 1 1 1) (1 1))) ((1 1)) Lógica y Programación - Tema 6 p. 14/24

Reducción de DDB La eliminación de nodos redundantes puede generar nodos duplicados La eliminación de nodos duplicados puede generar nodos redundantes Implementación: (reduce-ddb D) Ejemplos: > (reduce-ddb ((2 1 3 4) (3 y1 5 0) (4 y1 0 6) (5 2 7 8) (6 2 9 10) (7 y2 1 0) (8 y2 0 1) (9 y2 1 0) (10 y2 0 1) (1 1) (0 0)) ((2 X1 3 4) (3 Y1 5 0) (4 Y1 0 5) (5 X2 7 8) (7 Y2 1 0) (8 Y2 0 1) (1 1) (0 0)) Lógica y Programación - Tema 6 p. 15/24

Operaciones con DDBRO Conmutatividad de con respecto al resto de conectivas: ( F 1, F 2 ) F 1, F 2 para {,,, } ( F 1, F 2 ) G F 1 G, F 2 G ( F 1, F 2 ) ( G 1, G 2 ) F 1 G 1, F 2 G 2 Construcción de un DDBRO para una fórmula F Construir un árbol de decisión a partir de la tabla de verdad de F y reducirlo Construir recursivamente DDBRO para las subfórmulas principales de F y aplicarles la conectiva principal de F Lógica y Programación - Tema 6 p. 16/24

Operaciones con DDBRO Negación: 1 0 0 1 Operadores binarios: Aplicar conectiva Lógica y Programación - Tema 6 p. 17/24

Operaciones con DDBRO Operadores binarios: E 1 E 0 D 1 E 1 D 0 E 0 y E 1 E 0 D y 1 D 0 y < y E 1 E 0 E 1 E 0 Lógica y Programación - Tema 6 p. 18/24

Operaciones con DDBRO Conjunción: 0 0 1 Disyunción: 1 1 0 Lógica y Programación - Tema 6 p. 19/24

Operaciones con DDBRO Implicación: 1 1 0 0 1 1 Lógica y Programación - Tema 6 p. 20/24

Operaciones con DDBRO Equivalencia: 1 0 Lógica y Programación - Tema 6 p. 21/24

Operaciones con DDBRO Implementación: (aplica-negacion D) (aplica-conjuncion D E) (aplica-disyuncion D E) (aplica-implicacion D E) (aplica-equivalencia D E) Lógica y Programación - Tema 6 p. 22/24

Ejercicios Consideremos las fórmulas F 1 = ( 1 2 ) 3 y F 2 = 1 ( 2 4 ). Se pide: 1. Construir diagramas de decisición binarios reducidos y ordenados para F 1 y F 2 con el siguiente orden entre las variables: 1 < 2 < 3 < 4 2. Aplicar la operación conjunción a los diagramas anteriores Consideremos las fórmulas F 1 = ( 1 2 ) 3 y F 2 = ( 1 4 ) 2. Se pide: 1. Construir diagramas de decisición binarios reducidos y ordenados para F 1 y F 2 con el siguiente orden entre las variables: 1 < 2 < 3 < 4 2. Aplicar la operación implicación a los diagramas anteriores Lógica y Programación - Tema 6 p. 23/24

Bibliografía Bryant, R.E. Graph-based algorithms for Boolean function manipulation IEEE Transactions on Computers, 8(C-35):677 691, 1986. Bryant, R.E. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293 318, September 1992. Lógica y Programación - Tema 6 p. 24/24