stringtranslate.com

Autómata Büchi

Un autómata Büchi
Un autómata Büchi con dos estados, y , el primero de los cuales es el estado inicial y el segundo es el de aceptación. Sus entradas son infinitas palabras sobre los símbolos . Como ejemplo, acepta la palabra infinita , donde denota la repetición infinita de una cadena. Rechaza la palabra infinita .

En informática y teoría de autómatas , un autómata Büchi determinista es una máquina teórica que acepta o rechaza infinitas entradas. Una máquina de este tipo tiene un conjunto de estados y una función de transición, que determina a qué estado debe pasar la máquina desde su estado actual cuando lee el siguiente carácter de entrada. Algunos estados aceptan estados y un estado es el estado inicial. La máquina acepta una entrada si y sólo si pasará por un estado de aceptación infinitas veces mientras lee la entrada.

Un autómata Büchi no determinista , más tarde denominado simplemente autómata Büchi , tiene una función de transición que puede tener múltiples salidas, lo que lleva a muchas rutas posibles para la misma entrada; acepta una entrada infinita si y solo si alguna ruta posible la acepta. Los autómatas de Büchi deterministas y no deterministas generalizan los autómatas finitos deterministas y los autómatas finitos no deterministas a entradas infinitas. Cada uno de ellos son tipos de ω-autómatas . Los autómatas Büchi reconocen los lenguajes ω-regulares , la versión de palabras infinitas de los lenguajes regulares . Llevan el nombre del matemático suizo Julius Richard Büchi , quien los inventó en 1962. [1]

Los autómatas de Büchi se utilizan a menudo en la verificación de modelos como una versión teórica de autómatas de una fórmula en lógica temporal lineal .

Definicion formal

Formalmente, un autómata Büchi determinista es una tupla A  = ( Q ,Σ,δ, q 0 , F ) que consta de los siguientes componentes:

En un autómata Büchi ( no determinista ) , la función de transición δ se reemplaza con una relación de transición Δ que devuelve un conjunto de estados, y el estado inicial único q 0 se reemplaza por un conjunto I de estados iniciales. Generalmente, el término autómata Büchi sin calificativo se refiere a autómatas Büchi no deterministas.

Para un formalismo más completo, consulte también ω-autómata .

Propiedades de cierre

El conjunto de autómatas Büchi se cierra bajo las siguientes operaciones.

Sea y sea autómata de Büchi y sea un autómata finito .

Prueba: si asumimos que wlog está vacío , entonces es reconocido por el autómata Büchi.
La prueba: el autómata Büchi reconoce dónde
Por construcción, es una ejecución del autómata A' en la palabra de entrada w si se ejecuta A en w y se ejecuta B en w . se acepta y se acepta si r' es la concatenación de una serie infinita de segmentos finitos de 1-estados (estados con tercer componente 1) y 2-estados (estados con tercer componente 2) alternativamente. Existe tal serie de segmentos de r' si A' acepta r'.
Prueba: si asumimos que wlog está vacío , entonces el autómata Büchi reconoce dónde
Prueba: el autómata Büchi que reconoce se construye en dos etapas. Primero, construimos un autómata finito A' tal que A' también reconoce, pero no hay transiciones entrantes a los estados iniciales de A'. Entonces, tenga en cuenta que porque no contiene la cadena vacía. En segundo lugar, construiremos el autómata Büchi A" que reconoce agregando un bucle al estado inicial de A'. Entonces , donde
Prueba: La prueba se presenta aquí .

Idiomas reconocibles

Los autómatas Büchi reconocen los lenguajes ω-regulares . Utilizando la definición de lenguaje ω-regular y las propiedades de cierre anteriores de los autómatas Büchi, se puede demostrar fácilmente que se puede construir un autómata Büchi de manera que reconozca cualquier lenguaje ω-regular determinado. Para lo contrario, consulte construcción de un lenguaje ω-regular para un autómata Büchi.

Autómatas Büchi deterministas versus no deterministas

Un autómata Büchi no determinista que reconoce

La clase de autómatas Büchi deterministas no es suficiente para abarcar todos los lenguajes omega-regulares. En particular, no existe ningún autómata Büchi determinista que reconozca el lenguaje , que contiene exactamente palabras en las que 1 aparece sólo un número finito de veces. Podemos demostrar por contradicción que no existe tal autómata Büchi determinista. Supongamos que A es un autómata Büchi determinista que reconoce con el conjunto de estados finales F. A acepta . Entonces, A visitará algún estado en F después de leer algún prefijo finito de , digamos después de la enésima letra. A también acepta la palabra ω. Por lo tanto, para algunos , después del prefijo, el autómata visitará algún estado en F. Continuando con esta construcción, se genera la palabra ω que hace que A visite algún estado en F infinitamente veces y la palabra no esté en contradicción.

La clase de lenguajes reconocibles por los autómatas deterministas de Büchi se caracteriza por el siguiente lema.

Lema: Un lenguaje ω es reconocible por un autómata Büchi determinista si es el lenguaje límite de algún lenguaje regular .
Prueba: Cualquier autómata Büchi determinista A puede verse como un autómata finito determinista A' y viceversa, ya que ambos tipos de autómata se definen como 5-tuplas de los mismos componentes, solo la interpretación de la condición de aceptación es diferente. Demostraremos que es el lenguaje límite de . A acepta una palabra ω si obliga a A a visitar estados finales con una frecuencia infinita. Por lo tanto, A' aceptará infinitos prefijos finitos de esta palabra ω . Por tanto, es un lenguaje límite de .

Algoritmos

La verificación de modelos de sistemas de estados finitos a menudo se puede traducir en varias operaciones en autómatas de Büchi. Además de las operaciones de cierre presentadas anteriormente, las siguientes son algunas operaciones útiles para las aplicaciones de los autómatas Büchi.

Determinación

Dado que los autómatas de Büchi deterministas son estrictamente menos expresivos que los autómatas no deterministas, no puede haber un algoritmo para la determinación de los autómatas de Büchi. Pero el teorema de McNaughton y la construcción de Safra proporcionan algoritmos que pueden traducir un autómata de Büchi en un autómata determinista de Muller o un autómata determinista de Rabin . [2]

Comprobación de vacío

El lenguaje reconocido por un autómata Büchi no está vacío si y sólo si hay un estado final que es alcanzable desde el estado inicial y se encuentra en un ciclo.

Un algoritmo eficaz que puede comprobar el vacío de un autómata Büchi:

  1. Considere el autómata como un gráfico dirigido y descompóngalo en componentes fuertemente conectados (SCC).
  2. Ejecute una búsqueda (por ejemplo, la búsqueda en profundidad ) para encontrar qué SCC son accesibles desde el estado inicial.
  3. Compruebe si existe un SCC no trivial al que se pueda acceder y que contenga un estado final.

Cada uno de los pasos de este algoritmo se puede realizar en tiempo lineal en el tamaño del autómata, de ahí que el algoritmo sea claramente óptimo.

Minimización

Minimizar los autómatas Büchi deterministas (es decir, dado un autómata Büchi determinista, encontrar un autómata Büchi determinista que reconozca el mismo lenguaje con un número mínimo de estados) es un problema NP-completo. [3] Esto contrasta con la minimización de DFA , que se puede realizar en tiempo polinomial.

Variantes

Transformación de otros modelos de descripción a autómatas Büchi no deterministas

De autómatas de Büchi generalizados (GBA)

Se pueden traducir múltiples conjuntos de estados en condiciones de aceptación en un conjunto de estados mediante una construcción de autómata, lo que se conoce como "construcción de conteo". Digamos que A  = (Q,Σ,∆,q 0 ,{F 1 ,...,F n }) es un GBA, donde F 1 ,...,F n son conjuntos de estados aceptantes y luego el autómata Büchi equivalente. es A'  = (Q', Σ, ∆',q' 0 ,F'), donde
  • Q' = Q × {1,...,n}
  • q' 0 = ( q 0 ,1 )
  • ∆' = { ( (q,i), a, (q',j) ) | (q,a,q') ∈ ∆ y si q ∈ F i entonces j=((i+1) mod n) else j=i }
  • F'=F 1 × {1}

De la fórmula de lógica temporal lineal

Aquí se proporciona una traducción de una fórmula de lógica temporal lineal a un autómata Büchi generalizado . Y arriba se presenta una traducción de un autómata Büchi generalizado a un autómata Büchi.

De los autómatas de Müller

Un autómata Muller determinado se puede transformar en un autómata Büchi equivalente con la siguiente construcción de autómata. Supongamos que A  = (Q,Σ,∆,Q 0 ,{F 0 ,...,F n }) es un autómata de Muller, donde F 0 ,...,F n son conjuntos de estados aceptantes. Un autómata Büchi equivalente es A'  = (Q', Σ, ∆',Q 0 ,F'), donde
  • Q' = Q ∪  n i=0 {i} × F yo  × 2 F yo
  • ∆'= ∆ ∪ ∆ 1  ∪ ∆ 2 , donde
    • 1  ={ ( q, a, (i,q',∅) ) | (q, a, q') ∈ ∆ y q' ∈ F i }
    • 2 ={ ( (i,q,R), a, (i,q',R') ) | (q,a,q')∈∆ y q,q' ∈ F i y si R=F i entonces R'= ∅ en caso contrario R'=R∪{q} }
  • F'= norte yo=0 {i} × F yo  × {F yo }
A' mantiene el conjunto original de estados de A y les agrega estados adicionales. El autómata Büchi A' simula el autómata Muller A de la siguiente manera: al comienzo de la palabra de entrada, la ejecución de A' sigue a la ejecución de A , ya que los estados iniciales son los mismos y ∆' contiene ∆. En alguna posición elegida de forma no determinista en la palabra de entrada, A' decide saltar a estados recién agregados mediante una transición en ∆ 1 . Entonces, las transiciones en ∆ 2 intentan visitar todos los estados de F i y siguen creciendo R . Una vez que R se vuelve igual a F i , se restablece al conjunto vacío y ∆ 2 intenta visitar todos los estados de F i una y otra vez. Entonces, si los estados R = F i se visitan con una frecuencia infinita, entonces A' acepta la entrada correspondiente y A también . Esta construcción sigue de cerca la primera parte de la demostración del teorema de McNaughton .

De las estructuras Kripke

Dejemos que la estructura de Kripke dada se defina por M = Q , I , R , L , AP donde Q es el conjunto de estados, I es el conjunto de estados iniciales, R es una relación entre dos estados también interpretada como una arista, L es la etiqueta del estado y AP son el conjunto de proposiciones atómicas que  forman L.
El autómata Büchi tendrá las siguientes características:
si ( q , p ) pertenece a R y L ( p ) = a
e init q si q pertenece a I y L ( q ) = a .
Sin embargo, tenga en cuenta que existe una diferencia en la interpretación entre las estructuras de Kripke y los autómatas de Büchi. Mientras que el primero nombra explícitamente la polaridad de cada variable de estado para cada estado, el segundo simplemente declara que el conjunto actual de variables se cumple o no. No dice absolutamente nada sobre las otras variables que podrían estar presentes en el modelo.

Referencias

  1. ^ Büchi, JR (1962). "Sobre un método de decisión en aritmética de segundo orden restringido". Las obras completas de J. Richard Büchi . Stanford: Prensa de la Universidad de Stanford. págs. 425–435. doi :10.1007/978-1-4613-8928-6_23. ISBN 978-1-4613-8930-9. {{cite book}}: |journal=ignorado ( ayuda )
  2. ^ Safra, S. (1988), "Sobre la complejidad de los ω-autómatas", Actas del 29º Simposio anual sobre fundamentos de la informática (FOCS '88) , Washington DC, EE. UU.: IEEE Computer Society, págs. , doi :10.1109/SFCS.1988.21948, ISBN 0-8186-0877-3, S2CID  206559211.
  3. ^ Schewe, Sven (2010). "Minimización de la paridad determinista y autómatas Büchi y minimización relativa de autómatas finitos deterministas". arXiv : 1007.1333 [cs.FL].

enlaces externos