Articulo de referencia

Lógica de punto fijo

En lógica matemática , las lógicas de punto fijo son extensiones de la lógica de predicados clásica que se han introducido para expresar la recursión. Su desarrollo ha sido moti...

En lógica matemática , las lógicas de punto fijo son extensiones de la lógica de predicados clásica que se han introducido para expresar la recursión. Su desarrollo ha sido motivado por la teoría de la complejidad descriptiva y su relación con los lenguajes de consulta de bases de datos , en particular con Datalog .

La lógica de punto fijo mínimo fue estudiada sistemáticamente por primera vez por Yiannis N. Moschovakis en 1974, [ 1 ] y se introdujo a los científicos informáticos en 1979, cuando Alfred Aho y Jeffrey Ullman sugirieron la lógica de punto fijo como un lenguaje de consulta de bases de datos expresivo. [ 2 ]

Lógica de punto fijo parcial

Para una signatura relacional X , FO[PFP]( X ) es el conjunto de fórmulas formadas a partir de X utilizando conectores y predicados de primer orden , variables de segundo orden y un operador de punto fijo parcial.PFP{\displaystyle \operatorname {PFP} }utilizado para formar fórmulas de la forma[PFPincógnita,PAGφ]t{\displaystyle [\operatorname {PFP} _{{\vec {x}},P}\varphi ]{\vec {t}}}, dóndePAG{\displaystyle P}es una variable de segundo orden,incógnita{\displaystyle {\vec {x}}}una tupla de variables de primer orden,t{\displaystyle {\vec {t}}}una tupla de términos y las longitudes deincógnita{\displaystyle {\vec {x}}}yt{\displaystyle {\vec {t}}}coincidir con la aridad dePAG{\displaystyle P}.

Sea k un número entero,incógnita,y{\displaystyle x,y}Sean vectores de k variables, P una variable de segundo orden de aridad k , y sea φ una función FO(PFP,X) que utiliza x y P como variables. Podemos definir iterativamente(PAGi)inorte{\displaystyle (P_{i})_{i\in N}}de tal manera quePAG0(incógnita)=Falsmi{\displaystyle P_{0}(x)=falso}yPAGi(incógnita)=φ(PAGi1,incógnita){\displaystyle P_{i}(x)=\varphi (P_{i-1},x)}(que significa φ conPAGi1{\displaystyle P_{i-1}}sustituido por la variable de segundo orden P ). Entonces, o bien hay un punto fijo, o bien la lista de(PAGi){\displaystyle (P_{i})}s es cíclico. [ 3 ]

[PFPincógnita,PAGφ]t{\displaystyle [\operatorname {PFP} _{{\vec {x}},P}\varphi ]{\vec {t}}}se define como el valor del punto fijo de(PAGi){\displaystyle (P_{i})}ent{\displaystyle {\vec {t}}}si hay un punto fijo, de lo contrario es falso. [ 4 ] Dado que P s son propiedades de aridad k , hay como máximo2nortek{\displaystyle 2^{n^{k}}}valores para elPAGi{\displaystyle P_{i}}s, por lo que con un contador de espacio polinomial podemos comprobar si hay un bucle o no. [ 5 ]

Se ha demostrado que en estructuras finitas ordenadas, una propiedad es expresable en FO(PFP, X ) si y solo si se encuentra en PSPACE . [ 6 ]

Lógica de mínimo punto fijo

Dado que los predicados iterados involucrados en el cálculo del punto fijo parcial no son en general monótonos, el punto fijo puede no existir siempre. FO(LFP,X), lógica de punto fijo mínimo , es el conjunto de fórmulas en FO(PFP,X) donde el punto fijo parcial se toma solo sobre aquellas fórmulas φ que solo contienen ocurrencias positivas de P (es decir, ocurrencias precedidas por un número par de negaciones). Esto garantiza la monotonicidad de la construcción del punto fijo (es decir, si la variable de segundo orden es P , entoncesPAGi(incógnita){\displaystyle P_{i}(x)}siempre implicaPAGi+1(incógnita){\displaystyle P_{i+1}(x)}).

Debido a la monotonicidad, solo agregamos vectores a la tabla de verdad de P , y como solo haynortek{\displaystyle n^{k}}vectores posibles siempre encontraremos un punto fijo antesnortek{\displaystyle n^{k}}iteraciones. El teorema de Immerman-Vardi, demostrado independientemente por Immerman [ 7 ] y Vardi , [ 8 ] muestra que FO(LFP, X ) caracteriza P en todas las estructuras ordenadas.

La expresividad de la lógica de punto fijo mínimo coincide exactamente con la expresividad del lenguaje de consulta de bases de datos Datalog , lo que demuestra que, en estructuras ordenadas, Datalog puede expresar exactamente aquellas consultas ejecutables en tiempo polinomial. [ 9 ]

Lógica de punto fijo inflacionaria

Otra forma de asegurar la monotonicidad de la construcción de punto fijo es agregando solo nuevas tuplas aPAG{\displaystyle P}en cada etapa de la iteración, sin eliminar tuplas para las cualesPAG{\displaystyle P}ya no es válido. Formalmente, definimosIFP(ϕPAG,incógnita){\displaystyle \operatorname {IFP} (\phi _{P,x})}comoPFP(ψPAG,incógnita){\displaystyle \operatorname {PFP} (\psi _{P,x})}dóndeψ(PAG,incógnita)=ϕ(PAG,incógnita)PAG(incógnita){\displaystyle \psi (P,x)=\phi (P,x)\vee P(x)}.

Este punto fijo inflacionario coincide con el punto fijo mínimo donde este último está definido. Aunque a primera vista parece que la lógica de punto fijo inflacionario debería ser más expresiva que la lógica de punto fijo mínimo, ya que admite una gama más amplia de argumentos de punto fijo, de hecho, toda fórmula FO[IFP]( X ) es equivalente a una fórmula FO[LFP]( X ). [ 10 ]

Inducción simultánea

Si bien todos los operadores de punto fijo introducidos hasta ahora iteraban únicamente sobre la definición de un solo predicado, muchos programas informáticos se conciben de forma más natural como iterando sobre varios predicados simultáneamente. Al aumentar la aridad de los operadores de punto fijo o al anidarlos, cualquier operador de punto fijo simultáneo, ya sea mínimo, inflacionario o parcial, puede expresarse utilizando las construcciones de una sola iteración correspondientes que se han comentado anteriormente. [ 11 ]

lógica de cierre transitivo

En lugar de permitir la inducción sobre predicados arbitrarios, la lógica de cierre transitivo solo permite que los cierres transitivos se expresen directamente.

FO[TC]( X ) es el conjunto de fórmulas formadas a partir de X utilizando conectores y predicados de primer orden, variables de segundo orden y un operador de cierre transitivo.TC{\displaystyle \operatorname {TC} }utilizado para formar fórmulas de la forma[TCincógnita,yφ]st{\displaystyle [\operatorname {TC} _{{\vec {x}},{\vec {y}}}\varphi ]{\vec {s}}{\vec {t}}}, dóndeincógnita{\displaystyle {\vec {x}}}yy{\displaystyle {\vec {y}}}son tuplas de variables de primer orden distintas entre sí,t{\displaystyle {\vec {t}}}ys{\displaystyle {\vec {s}}}tuplas de términos y longitudes deincógnita{\displaystyle {\vec {x}}},y{\displaystyle {\vec {y}}},s{\displaystyle {\vec {s}}}yt{\displaystyle {\vec {t}}}coincidir.

TC se define de la siguiente manera: Sea k un entero positivo y,v,incógnita,y{\displaystyle u,v,x,y}sean vectores de k variables. EntoncesTdo(φ,v)(incógnita,y){\displaystyle {\mathsf {TC}}(\varphi _{u,v})(x,y)}es cierto si existen n vectores de variables(zi){\displaystyle (z_{i})}de tal manera quez1=incógnita,znorte=y{\displaystyle z_{1}=x,z_{n}=y}y para todosi<norte{\displaystyle i<n},φ(zi,zi+1){\displaystyle \varphi (z_{i},z_{i+1})}es cierto. Aquí, φ es una fórmula escrita en FO(TC) yφ(incógnita,y){\displaystyle \varphi (x,y)}significa que las variables u y v se reemplazan por x e y .

Sobre estructuras ordenadas, FO[TC] caracteriza la clase de complejidad NL . [ 12 ] Esta caracterización es una parte crucial de la prueba de Immerman de que NL es cerrada bajo complemento (NL = co-NL). [ 13 ]

Lógica de cierre transitivo determinista

FO[DTC]( X ) se define como FO(TC,X) donde el operador de cierre transitivo es determinista. Esto significa que cuando aplicamosDTC(ϕ,v){\displaystyle \operatorname {DTC} (\phi _{u,v})}Sabemos que para todo u , existe como máximo un v tal queϕ(,v){\displaystyle \phi (u,v)}.

Podemos suponer queDTC(ϕ,v){\displaystyle \operatorname {DTC} (\phi _{u,v})}es azúcar sintáctico paraTC(ψ,v){\displaystyle \operatorname {TC} (\psi _{u,v})}dóndeψ(,v)=ϕ(,v)incógnita(incógnita=v¬ϕ(,incógnita)){\displaystyle \psi (u,v)=\phi (u,v)\wedge \forall x(x=v\vee \neg \phi (u,x))}.

Sobre estructuras ordenadas, FO[DTC] caracteriza la clase de complejidad L. [ 12 ]

Ejemplos

Los vértices rojos son vértices débiles. Los vértices restantes forman el núcleo 2 del grafo.

Definir un vérticeincógnita{\displaystyle x}ser débil si, con como máximo una excepcióny{\displaystyle y}, cada uno de sus vecinosz{\displaystyle z}es débil, según la fórmula de punto fijoW(incógnita)yz(incógnitaz(y=zW(z))){\displaystyle W(x)\leftarrow \exists y\forall z{\bigl (}x\sim z\Rightarrow (y=z\vee W(z)){\bigr )}}Los vértices restantes forman el núcleo 2 del grafo.

La siguiente fórmula escrita en lógica de mínimos puntos fijos establece que el núcleo 2 de un grafo no está vacío: t[LFPincógnita,PAGyz(incógnitaz(y=zPAG(z)))]t{\displaystyle \exists t[\operatorname {LFP} _{x,P}\exists y\forall z{\bigl (}x\sim z\Rightarrow (y=z\vee P(z)){\bigr )}]t}

Un grafo es conexo si existe un camino entre cada par de vértices. El hecho de que exista un camino entre dos vértices constituye el cierre transitivo de la relación de adyacencia. Por lo tanto, la siguiente fórmula, escrita en lógica de cierre transitivo, establece que un grafo es conexo: st[TCincógnita,yincógnitay]st{\displaystyle \forall s\forall t[\operatorname {TC} _{x,y}x\sim y]st}

Iteraciones

Las operaciones de punto fijo que hemos definido hasta ahora iteran indefinidamente las definiciones inductivas de los predicados mencionados en la fórmula, hasta alcanzar un punto fijo. En las implementaciones, puede ser necesario limitar el número de iteraciones para reducir el tiempo de cálculo. Los operadores resultantes también son de interés desde un punto de vista teórico, ya que pueden utilizarse para caracterizar clases de complejidad.

Definiremos el primer orden con iteración,FO[t(norte)]{\displaystyle {\mathsf {FO}}[t(n)]}; aquít(norte){\displaystyle t(n)}es una (clase de) funciones de enteros a enteros, y para diferentes clases de funcionest(norte){\displaystyle t(n)}obtendremos diferentes clases de complejidadFO[t(norte)]{\displaystyle {\mathsf {FO}}[t(n)]}.

En esta sección escribiremos (incógnitaPAG)Q{\displaystyle (\forall xP)Q}significar(incógnita(PAGQ)){\displaystyle (\forall x(P\Rightarrow Q))}y(incógnitaPAG)Q{\displaystyle (\exists xP)Q}significar(incógnita(PAGQ)){\displaystyle (\exists x(P\wedge Q))}. Primero necesitamos definir los bloques cuantificadores (QB), un bloque cuantificador es una lista(Q1incógnita1,ϕ1)...(Qkincógnitak,ϕk){\displaystyle (Q_{1}x_{1},\phi _{1})...(Q_{k}x_{k},\phi _{k})}donde elϕi{\displaystyle \phi _{i}}s son fórmulas FO sin cuantificador yQi{\displaystyle Q_{i}}s son o{\displaystyle \forall }o{\displaystyle \exists }. Si Q es un bloque de cuantificadores, entonces lo llamaremos[Q]t(norte){\displaystyle [Q]^{t(n)}}el operador de iteración, que se define como Q escritot(norte){\displaystyle t(n)}tiempo. Hay que prestar atención a que aquí haykt(norte){\displaystyle k*t(n)}cuantificadores en la lista, pero solo k variables y cada una de esas variables se utilizat(norte){\displaystyle t(n)}veces. [ 14 ]

Ahora podemos definirFO[t(norte)]{\displaystyle {\mathsf {FO}}[t(n)]}ser las fórmulas FO con un operador de iteración cuyo exponente está en la claset(norte){\displaystyle t(n)}y obtenemos las siguientes igualdades:

  • FO[(registronorte)i]{\displaystyle {\mathsf {FO}}[(\log n)^{i}]}es igual a FO-uniform AC i , y de hechoFO[t(norte)]{\displaystyle {\mathsf {FO}}[t(n)]}es FO-AC uniforme de profundidadt(norte){\displaystyle t(n)}. [ 15 ]
  • FO[(registronorte)O(1)]{\displaystyle {\mathsf {FO}}[(\log n)^{O(1)}]}es igual a NC. [ 16 ]
  • FO[norteO(1)]{\displaystyle {\mathsf {FO}}[n^{O(1)}]}es igual a PTIME . También es otra forma de escribir FO(IFP). [ 17 ]
  • FO[2norteO(1)]{\displaystyle {\mathsf {FO}}[2^{n^{O(1)}}]}es igual a PSPACE . También es otra forma de escribir FO(PFP). [ 18 ]

Notas

  1. Moschovakis, Yiannis N. (1974). «Inducción elemental sobre estructuras abstractas» . Estudios en lógica y fundamentos de las matemáticas . 77. doi : 10.1016 /s0049-237x(08)x7092-2 . ISBN 9780444105370ISSN 0049-237X 
  2. Aho, Alfred V.; Ullman, Jeffrey D. (1979). "Universalidad de los lenguajes de recuperación de datos". Actas del 6.º simposio ACM SIGACT-SIGPLAN sobre Principios de los lenguajes de programación - POPL '79 . Nueva York, Nueva York, EE. UU.: ACM Press. págs. 110–119 . doi : 10.1145/567752.567763 . S2CID 3242505 .  
  3. Ebbinghaus y Flum, pág. 121
  4. Ebbinghaus y Flum, pág. 121
  5. Immerman 1999, pág. 161
  6. Abiteboul, S.; Vianu, V. (1989). "Extensiones de punto fijo de la lógica de primer orden y lenguajes tipo datalog" . [ 1989 ] Actas del Cuarto Simposio Anual sobre Lógica en Ciencias de la Computación . IEEE Comput. Soc. Press. págs. 71–79 . doi : 10.1109/lics.1989.39160 . ISBN  0-8186-1954-6. S2CID 206437693 . 
  7. Immerman, Neil (1986). "Consultas relacionales computables en tiempo polinomial" . Information and Control . 68 ( 1–3 ): 86–104 . doi : 10.1016/s0019-9958(86)80029-8 .
  8. Vardi, Moshe Y. (1982). "La complejidad de los lenguajes de consulta relacionales (Resumen extendido)". Actas del decimocuarto simposio anual de la ACM sobre Teoría de la Computación - STOC '82 . Nueva York, NY, EE. UU.: ACM. págs. 137–146 . CiteSeerX 10.1.1.331.6045 . doi : 10.1145/800070.802186 . ISBN   978-0897910705. S2CID 7869248 . 
  9. Ebbinghaus y Flum, pág. 242
  10. Yuri Gurevich y Saharon Shelah, Extensión de punto fijo de la lógica de primer orden, Annals of Pure and Applied Logic 32 (1986) 265--280.
  11. Ebbinghaus y Flum, págs. 179, 193
  12. 1 2 Immerman, Neil (1983). «Lenguajes que capturan clases de complejidad» . Actas del decimoquinto simposio anual de la ACM sobre Teoría de la Computación - STOC '83 . Nueva York, Nueva York, EE. UU.: ACM Press. págs. 347–354 . doi : 10.1145/800061.808765 . ISBN  0897910990. S2CID 7503265 . 
  13. Immerman, Neil (1988). "El espacio no determinista es cerrado bajo la complementación" . SIAM Journal on Computing . 17 (5): 935– 938. doi : 10.1137/0217058 . ISSN 0097-5397 . 
  14. Immerman 1999, pág. 63
  15. Immerman 1999, pág. 82
  16. Immerman 1999, pág. 84
  17. Immerman 1999, pág. 58
  18. Immerman 1999, pág. 161

Referencias

  • Ebbinghaus, Heinz-Dieter; Flum, Jörg (1999). Teoría de modelos finitos . Perspectivas en lógica matemática (2  ed.). Saltador. doi : 10.1007/978-3-662-03182-7 . ISBN 978-3-662-03184-1.
  • Neil, Immerman (1999). Complejidad descriptiva . Springer. ISBN 0-387-98600-6OCLC 901297152