Articulo de referencia

Sistema de adición vectorial

Un sistema de adición vectorial ( VAS ) es uno de los diversos lenguajes de modelado matemático para la descripción de sistemas distribuidos . Los sistemas de adición vectorial ...

Un sistema de adición vectorial ( VAS ) es uno de los diversos lenguajes de modelado matemático para la descripción de sistemas distribuidos . Los sistemas de adición vectorial fueron introducidos por Richard M. Karp y Raymond E. Miller en 1969, [ 1 ] y generalizados a sistemas de adición vectorial con estados ( VASS ) por John E. Hopcroft y Jean-Jacques Pansiot en 1979. [ 2 ] Tanto VAS como VASS son equivalentes en muchos sentidos a las redes de Petri introducidas anteriormente por Carl Adam Petri .

Ejemplo de una suma vectorial con estados. En este VASS, por ejemplo, se puede llegar a q(1,2) desde p(0,0), pero no se puede llegar a q(0,0) desde p(0,0).

Definición informal

Un sistema de suma vectorial (SSA) consta de un conjunto finito de vectores enteros , todos con la misma longitud. Un vector inicial se considera como los valores iniciales de múltiples contadores, y los vectores del SSA se consideran actualizaciones. Estos contadores nunca pueden ser negativos. Más precisamente, dado un vector inicial con valores no negativos, los vectores del SSA se pueden sumar componente a componente, siempre que cada vector intermedio tenga valores no negativos. Un SSA con estados es un SSA equipado con estados de control. Más precisamente, es un grafo dirigido finito con arcos etiquetados por vectores enteros . Los SSA tienen la misma restricción: los valores de los contadores nunca deben ser negativos.

Los sistemas de suma vectorial pueden considerarse como una máquina de contador débil , incapaz de comprobar si un contador es cero (pero sí puede verificar si es positivo, intentando decrementarlo. Si la comprobación falla, la ejecución finaliza).

Definiciones formales y terminología básica

  • Un VAS es un conjunto finitoVZd{\displaystyle V\subseteq \mathbb {Z} ^{d}}para algunosd1{\displaystyle d\geq 1}.
  • Un VASS es un grafo dirigido finito.(Q,T){\displaystyle (Q,T)}de tal manera queTQ×Zd×Q{\displaystyle T\subseteq Q\times \mathbb {Z} ^{d}\times Q}para algunosd>0{\displaystyle d>0}.

Transiciones

  • DejarVZd{\displaystyle V\subseteq \mathbb {Z} ^{d}}ser un VAS. Dado un vectornorted{\displaystyle u\in \mathbb {N} ^{d}}, el vector+v{\displaystyle u+v}se puede alcanzar , en una transición, sivV{\displaystyle v\in V}y+vnorted{\displaystyle u+v\in \mathbb {N} ^{d}}.
  • Dejar(Q,T){\displaystyle (Q,T)}ser un VASS. Dada una configuración(pag,)Q×norted{\displaystyle (p,u)\in Q\times \mathbb {N} ^{d}}, la configuración(q,+v){\displaystyle (q,u+v)}se puede alcanzar , en una transición, si(pag,v,q)T{\displaystyle (p,v,q)\in T}y+vnorted{\displaystyle u+v\in \mathbb {N} ^{d}}.

VASS y VAS

Un VAS es obviamente un caso especial de VASS. Por otro lado, un VASS de dimensión n puede simularse mediante un VAS de dimensión n + 3, como demostraron Hopcroft y Pansiot . [ 3 ] En este sistema, las tres coordenadas adicionales codifican el estado. Cada transición del VASS se simula mediante una secuencia de tres transiciones VAS, donde las dos primeras simplemente manipulan las coordenadas que codifican el estado.

VASS y redes de Petri

Una red de Petri puede verse como un VASS: consideremos una red de Petri.(S,T,W){\displaystyle (S,T,W)}, dónde

  • S={1,,norte}{\displaystyle S=\{1,\dots ,n\}}es un conjunto finito de lugares
  • T es un conjunto finito de transiciones
  • W:(S×T)(T×S)norte{\displaystyle W:(S\times T)\cup (T\times S)\to \mathbb {N} }especifica la cantidad de tokens que consume y produce una transición.

Entonces, una marcación de la red puede verse como un vector ennorted{\displaystyle \mathbb {N} ^{d}}, dónded=|S|{\displaystyle d=|S|}y una transición t como un par de transiciones VASS(pag,v,q),(q,v,pag){\displaystyle (p,v,q),(q,v',p)}donde q es un estado de control auxiliar,vi=W(i,t){\displaystyle v_{i}=-W(i,t)}y vj=W(t,j){\displaystyle v'_{j}=W(t,j)}. De manera similar, un VAS puede formularse como una red de Petri.

Propiedades de las VAS(S) y procedimientos de decisión

Accesibilidad

El problema de alcanzabilidad para las redes de Petri consiste en decidir, dado un A VAS(S) y un estado (un vector en el caso de VAS, un vector y un estado de control en el caso de VASS), si otro estado dado es alcanzable desde él mediante cualquier secuencia finita de transiciones.

Se demostró que este problema era EXPSPACE -difícil [ 4 ] años antes de que se demostrara que era decidible. [ 5 ] En 2021, se demostró que este problema era Ackermann-completo (por lo tanto, no recursivo primitivo ), independientemente por Jerome Leroux [ 6 ] y por Wojciech Czerwiński y Łukasz Orlikowski. [ 7 ] La ​​cota superior ackermanniana se debe a Leroux y Schmitz [ 8 ] cuyo algoritmo admite una cota superior recursiva primitiva cuando la dimensión es una constante.

El problema de alcanzabilidad mutua (también conocido como alcanzabilidad reversible) plantea, para dos estados, x e y , si x es alcanzable desde y y viceversa. Este problema es mucho más sencillo que el de alcanzabilidad unidireccional y se ha demostrado que es EXPSPACE-completo. [ 9 ]

Cobertura

Dados dos estados de un VAS, x e y , la pregunta de cobertura plantea si existe una secuencia de transiciones que lleve del estado inicial x a un estadoincógnita{\displaystyle x'}de tal manera queincógnitay{\displaystyle x'\geq y}(la comparación se realiza elemento a elemento). En un VASS, también se especifican los estados de control, y el problema es equivalente al problema (superficialmente) más simple de preguntar si un estado de control dado, q , es alcanzable desde el estado inicial.(pag,incógnita){\displaystyle (p,x)}. El problema de la cobertura es EXPSPACE-completo. [ 4 ]

Limitación

El problema de acotación para un VASS es: dado el estado inicial(pag,incógnita){\displaystyle (p,x)}, es el conjunto de estados alcanzables desde(pag,incógnita){\displaystyle (p,x)}¿Finito? Este problema de decisión también es EXPSPACE-completo. [ 10 ]

Véase también

Referencias

  1. Karp, Richard M.; Miller, Raymond E. (mayo de 1969). "Esquemas de programas paralelos" . Journal of Computer and System Sciences . 3 (2): 147– 195. doi : 10.1016/S0022-0000(69)80011-5 .
  2. Hopcroft, John E.; Pansiot, Jean-Jacques (1979). "Sobre el problema de alcanzabilidad para sistemas de adición de vectores de 5 dimensiones". Theoretical Computer Science . 8 (2): 135– 159. doi : 10.1016/0304-3975(79)90041-0 . hdl : 1813/6102 .
  3. Hopcroft, John; Pansiot, Jean-Jacques. "Sobre el problema de alcanzabilidad para sistemas de suma vectorial de 5 dimensiones". Theoretical Computer Science . 8 (2). Elsevier: 135– 159.
  4. 1 2 Lipton, R. (1976). "El problema de la alcanzabilidad requiere un espacio exponencial" . Informe técnico 62. Universidad de Yale: 305–329 .
  5. Mayr, Ernst W. "Un algoritmo para el problema general de alcanzabilidad de redes de Petri". SIAM Journal on Computing . 13 (3). SIAM: 441– 460.
  6. Leroux, Jérôme (2021). El problema de alcanzabilidad para redes de Petri no es recursivo primitivo . 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS). arXiv : 2104.12695 .
  7. Czerwiński, Wojciech; Orlikowski, Łukasz (2021). La alcanzabilidad en sistemas de adición vectorial es Ackermann-completa . 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS). arXiv : 2104.13866 .
  8. Leroux, Jérôme; Schmitz, Sylvain. "La alcanzabilidad en sistemas de suma vectorial es recursiva primitiva en dimensión fija". 34.º Simposio Anual ACM/IEEE sobre Lógica en Ciencias de la Computación . LICS. IEEE.
  9. Leroux, Jérôme (2013). "Problema de alcanzabilidad reversible del sistema de adición vectorial" . Métodos lógicos en informática . 9 (1). arXiv : 1301.4874 . doi : 10.2168/LMCS-9(1:5)2013 .
  10. Rackoff, Charles. "Los problemas de cobertura y acotación para sistemas de adición vectorial". Theoretical Computer Science . 6 (2). Elsevier: 223–23 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Vector_addition_system&oldid=1304135865 "