The Exact Complexity of the First- Order Logic Definibility Problem Marcelo Arenas PUC Chile Gonzalo Díaz University of Oxford.

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Continuidad Definición de Continuidad
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
La aritmetización de la sintaxis
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Matemáticas Computacionales
equivalencia material; y b) equivalencia lógica
INTELIGENCIA ARTIFICIAL
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Introducción a la máquina
Introducción a los Algoritmos
Analisis deAlgoritmos
Resolución de Problemas Algoritmos y Programación
REDUCIBILIDAD.
Técnico en programación de Software
Combinadores SK.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
10. LIMITES DE FUNCIONES Definición de límite
José Alfredo Cervantes Guzmán UMSNH Coautor: Jesús Rivera
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Programación 1 Introducción
Tratabilidad y NP-Completitud
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Introducción a la NP_Completitud Ineficiencia e Intratabilidad No Computablidad e Indecibilidad.
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
PROGRAMACIÓN LÓGICA.
Answering Queries Using Views (Levy, Mendelzon, Sagiv, Srivastava) Javier López C.
Complejidad Roberto Moriyón.
Complejidad Problemas NP-Completos
 La resolución de problemas algorítmicos no solamente implica que los informáticos sepan programar sino necesitan de otras habilidades como tener una.
Introducción a la NP_Completitud
Programación en Matlab
Análisis de Algoritmos

Análisis de Algoritmos
Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE
Representación de Señales y Ruido por medio de Series Ortogonales
Complejidad de los problemas de decisión
(Organización y Manejo de Archivos)
Descomposición Factorial Unidad 5
Material de apoyo Unidad 4 Estructura de datos
complejidad de un problema.
Introducción al Análisis Sintáctico
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
ALGORITMOS.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Método de Montecarlo (…Números Pseudoaleatorios).
Inteligencia Artificial
Problemas de grafos y Tratabilidad Computacional
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Oscar F. Bedoya L. Fundamentos de análisis y diseño de algoritmos.
1.Función y ecuación polinomial
Escuela de Ciencias Basicas, Tecnología e Ingeniería
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
QUINTA CONFERENCIA Lugar: Oficinas Generales Fecha: 15 de Diciembre de 2007 Conferencista: Prof. Carlos Betancourt Monroy Centro de Estudios Científicos.
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
La clase P juega un papel importante en la teoría de la complejidad computacional debido a que: 1. P es invariante para todos los modelos de cómputo que.
Solución a Ecuaciones de Recurrencia Dr. Rogelio Dávila Pérez División de Posgrado Universidad Autónoma de Guadalajara
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

The Exact Complexity of the First- Order Logic Definibility Problem Marcelo Arenas PUC Chile Gonzalo Díaz University of Oxford

El problema a resolver nombreapellido JuanPérez MaríaGonzález PedroGonzález Juan María Pedro Pérez González π nombre (EMPLEADO) EMPLEADO π apellido (EMPLEADO)

El problema a resolver nombreapellido JuanPérez MaríaGonzález PedroGonzález EMPLEADO María Pedro π nombre (σ nombre≠aux (EMPLEADO δ nombre  aux (EMPLEADO))) nombreapellidoaux JuanPérezJuan MaríaGonzálezMaría GonzálezPedro GonzálezMaría PedroGonzálezPedro auxapellido JuanPérez MaríaGonzález PedroGonzález nombreapellidoaux MaríaGonzálezPedro GonzálezMaría nombre María Pedro

El problema a resolver nombreapellido JuanPérez MaríaGonzález PedroGonzález EMPLEADO Pedro ✗

El problema a resolver nombreapellido JuanPérez MaríaGonzález PedroGonzález Juan María Pedro π nombre (EMPLEADO) EMPLEADO nombreapellido JP MG PG J M P π nombre (EMPLEADO) EMPLEADO Consultas no utilizan constantes

¿Por qué es un problema importante? Es un problema fundamental para el aprendizaje de consultas – Un sistema infiere la consulta a realizar basado en ejemplos Tiene muchas otras aplicaciones – Ingeniería reversa de consultas – Optimización de consultas (a nivel de instancias) – Mapeo entre esquemas – …

El problema FO-DEF Input: Una base de datos relacional D y una relación R Output: Una de las siguientes alternativas yes: existe una consulta Q en algebra relacional tal que Q(D) = R no: en caso contrario

¿Es FO-DEF decidible? Problemas de decisión Existe un algoritmo que lo resuelve PRIMO = { n | n es un número primo } Input: n Output: yes (n es primo) o no (n no es primo) PRIMO Problemas decidibles ¿FO-DEF?

Algunos comentarios sobre la noción de algoritmo Se formaliza a través de las Máquinas de Turing (MT) – Objeto matemático bien definido Un problema es decidible si y sólo si existe una MT que lo resuelve

Algunos comentarios sobre la noción de algoritmo En esta presentación vamos a cambiar MTs por un lenguaje de programación – Puede ser C, C++, Java, Python, … ya que son todos equivalentes a las MTs – Un problema es decidible si y sólo si existe un programa en Java que lo resuelve Ver IIC2213 para las definiciones formales de MT y problema decidible

¿Cuál es la forma correcta de la figura? Problemas de decisión Problemas decidibles Tantos como los reales Tantos como los naturales Ver IIC1253 para una formulación de este argumento

Punto de partida: FO-DEF es decidible Teorema [Bancilhon & Paredaens, 1978] Dada una base de datos relacional D y una relación R, existe una consulta Q en algebra relacional tal que Q(D) = R si y sólo si 1.Cada constante mencionada en R es mencionada en D 2.Cada automorfismo de R es un automorfismo de D

La noción de automorfismo nombreapellido JuanPérez MaríaGonzález PedroGonzález EMPLEADO f(Juan) = Juan f(María) = Pedro f(Pedro) = María f(Pérez) = Pérez f(González) = González nombreapellido JuanPérez PedroGonzález MaríaGonzález EMPLEADO f(Juan) = Juan f(María) = Pedro f(Pedro) = María f(Pérez) = Pérez f(González) = González f(Ricardo) = Ricardo nombreapellido JuanPérez MaríaGonzález PedroGonzález EMPLEADO f(Juan) = Juan f(María) = María f(Pedro) = Pedro f(Pérez) = Pérez f(González) = González f(Juan) = Pedro f(María) = María f(Pedro) = Juan f(Pérez) = Pérez f(González) = González nombreapellido PedroPérez MaríaGonzález JuanGonzález EMPLEADO f(Juan) = Ricardo f(María) = María f(Pedro) = Pedro f(Pérez) = Pérez f(González) = González nombreapellido RicardoPérez MaríaGonzález PedroGonzález EMPLEADO f ✗✓

Aplicando las condiciones del teorema nombreapellido JuanPérez MaríaGonzález PedroGonzález Juan María Pedro EMPLEADO Juan María Ricardo JuanPedro g(Juan) = Juan g(María) = Pedro g(Pedro) = María g(Pérez) = Pérez g(González) = González f(Juan) = Juan f(María) = María f(Pedro) = Pedro f(Pérez) = Pérez f(González) = González ¿Q? ✓✓ ✓ ✗ Menciona una constante nueva ✗

Un algoritmo para FO-DEF Input: una base de datos relacional D y una relación R if R menciona una constante que no está en D then return no else for every automorfismo f de D if f no es un automorfismo de R then return no return yes

¿Cuál es la complejidad del algoritmo? El algoritmo funciona en tiempo exponencial Si el conjunto de constantes mencionadas en D es dom(D), entonces el algoritmo sólo debe considerar automorfismos f de D tal que dom(f) = dom(D) – El número de estos automorfismos es a lo más n!, donde n =|dom(D)| El algoritmo funciona en tiempo O(2 n×n )

¿Dónde está FO-DEF? Problemas decidibles EXPTIME FO-DEF Problemas que pueden ser solucionados en tiempo O(2 p(n) ), donde p(n) es un polinomio Ver IIC2213 para una definición formal de EXPTIME

¿Es esto suficiente? EXPTIME PTIME ¿FO-DEF? Problemas que pueden ser solucionados en tiempo O(p(n)), donde p(n) es un polinomio Ver IIC2213 para una definición formal de PTIME, y IIC3242 para una demostración que PTIME ≠ EXPTIME FO-DEF PRIMO

La pregunta a responder ¿Cuál es la complejidad exacta de FO-DEF? ¿Está en PTIME? – ¿Puede ser resuelto por un algoritmo eficiente (que funciona en tiempo polinomial)? ¿Es difícil? ¿No está en PTIME? – ¿Puede ser demostrado que es difícil? Este problema estaba abierto, en este trabajo damos una respuesta a esta pregunta: FO-DEF es un problema difícil

¿Cómo se demuestra que un problema es difícil? EXPTIME PTIME NP Enfoque usual: Demostrar que el problema es NP -completo

La clase de complejidad NP Para definir la clase NP usamos una extensión de Java con la instrucción choose: choose { instrucción 1 … instrucción n } Para ejecutar este instrucción choose simplemente se elige una de las n instrucciones dentro de los paréntesis.

La instrucción choose Al elegir una instrucción no se comienza una ejecución en paralelo – Si se elige instrucción i, entonces las otras n - 1 instrucciones son descartadas Al ejecutar el programa dos veces podemos obtener resultados distintos

Una definición de la clase NP Un problema de decisión L está en NP si y sólo si existe un programa P en Java extendido con la instrucción choose tal que: P funciona en tiempo polinomial (cada posible ejecución funciona en tiempo polinomial) Si el input de P es u que está en L, entonces existe una ejecución del programa que retorna yes Si el input de P es v que no está en L, entonces todas las ejecuciones del programa retornan no Ver IIC2213 para una definición formal de NP en términos de MTs (no deterministas)

La clase NP: Un ejemplo Sea MAPA el problema de verificar si un mapa dado puede ser pintado con a lo más 3 colores de manera tal que países con frontera común son pintados con colores distintos.

El problema MAPA Input: Matriz mapa[n][n] que representa un mapa con n países (numerados de 0 a n – 1) mapa[i][j] es 1 si i y j son países distintos con frontera común mapa[i][j] es 0 en caso contrario Output: yes (existe una 3 coloración del mapa) o no (en caso contrario)

MAPA está en NP for i = 0 to n – 1 choose { color[i] = “rojo” color[i] = “verde” color[i] = “azul” } for i = 0 to n -1 for j = 0 to n – 1 if mapa[i][j] == 1 and color[i] == color[j] then return no return yes

La noción de NP-completitud Un problema L 1 se puede reducir en tiempo polinomial a un problema L 2 (L 1 ≤ L 2 ) si existe un programa P 1 en Java que resuelve L 1 tal que: P 1 utiliza a L 2 como subrutina P 1 funciona en tiempo polinomial suponiendo que las llamadas a L 2 toman una unidad de tiempo (L 2 es un oráculo) Esta noción de reducción es llamada Turing reduction. Esta no es la defición usual de la noción de reducción, la cual es llamada many- to-one reduction, pero es suficiente para esta presentación Ver IIC2213 para una definición precisa de la noción de reducción (many-to-one)

La noción de NP-completitud Vale decir, si L puede ser resuelto en tiempo polinomial, entonces cada problema en NP puede ser resuelto en tiempo polinomial

¿Es PTIME = NP? Este es un problema fundamental que aún está abierto Se conjetura que PTIME ≠ NP Si PTIME ≠ NP, entonces cada problema L que es NP-completo no puede estar en PTIME – Esto demuestra que L es difícil

MAPA es NP-completo EXPTIME PTIME NP ¿Es FO-DEF NP-completo? MAPA¿FO-DEF?

¿Es FO-DEF NP-completo? No es claro si FO-DEF es NP-completo – De hecho, no es claro si está en NP (piense en cómo construir un programa para FO-DEF en Java extendido con choose) Hay una razón para esto, la cual puede ser explicada a partir del complemento de FO-DEF:

FO-DEF está en NP /*La entrada es (D,R), y suponemos que dom(D) = {0,.., n-1} */ if existe una constante en R que no es mencionada en D then return yes for i = 0 to n – 1 { g[i] = 0 for j = 1 to n – 1 choose { g[i] = j true } if g es un automorfismo de D y no de R then return yes else return no

La clase de complejidad coNP Considere la siguiente clase de complejidad: donde L es el complemento del lenguaje L (vale decir, x está en L si y sólo si x no está en L) Demostramos que FO-DEF está en coNP

¿Es NP = coNP? Esto es cierto para PTIME: si L está en PTIME, entonces L está en PTIME Es un problema abierto y fundamental si NP = coNP – Se conjetura que NP ≠ coNP

¿Puede ser FO-DEF NP-completo? Si L es un problema NP-completo y L está en coNP, entonces NP = coNP Concluimos entonces que FO-DEF no puede ser NP-completo – A menos que NP = coNP, lo cual se conjetura falso ¿Cómo podemos demostrar entonces que FO-DEF es difícil?

¿Cómo demostramos que FO-DEF es difícil? EXPTIME NP PTIME coNP MAPA ¿FO-DEF? ¿Es FO-DEF coNP-completo? Este problema estaba abierto desde 1978 Ver IIC3242 para más información sobre coNP En esta investigación damos una respuesta negativa a esta pregunta, y mostramos que FO-DEF es un problema difícil utilizando otro enfoque COMP = { (n,k) | n tiene un divisor m tal que 1 < m ≤ k }

Utilizamos un problema “intermedio” PTIME NP-completo NP-intermedio Un problema en esta clase no está en PTIME ni es NP-completo Un problema en esta clase es difícil GRAPH-ISO Un candidato a estar en esta clase Si PTIME ≠ NP, entonces existe este tipo de problemas NP

La noción de isomorfismo de grafos

El problema GRAPH-ISO Considere el siguiente problema: Este problema ha sido ampliamente estudiado – Es el problema central en torno a la idea de representación canónica

La clase de complejidad GI Se conjetura que GRAPH-ISO es un problema difícil – De hecho, se conjetura que es un problema NP- intermedio Es un problema tan importante que define su propia clase de complejidad: GI se define en términos de la noción de reducción polinomial dada en esta presentación (Turing reduction, no many-to-one reduction)

La complejidad exacta de FO-DEF FO-DEF está en GI: FO-DEF ≤ GRAPH-ISO Esto nos dice que FO-DEF no puede ser coNP-completo … Para cada L en GI se tiene que L ≤ FO-DEF Esto nos dice que FO-DEF es un problema difícil

Más allá de NP y coNP … EXPTIME NP PTIME coNP Σ2Σ2 Π2Π2 La clase de problemas que pueden ser resueltos en tiempo polinomial utilizando programas en Java extendidos con choose y con un problema en NP como subrutina (un oráculo con costo de llamada unitario) Se define como coΣ 2 Ver IIC3242 para la definición precisa de Σ 2, Π 2 y la jerarquía polinomial (Σ i y Π i, para todo i ≥ 0) Es conjeturado que Σ 2 ≠ Π 2 PP P P P PP P P Σ3Σ3 P

FO-DEF no es coNP-completo Esto implica el colapso de toda la jerarquía polinomial al segundo nivel: Σ i = Π i = Σ 2 para todo i ≥ 2 P P PPP

Having made my point, I conclude. L. Babai