En la teoría de autómatas , una rama de la informática teórica , un ω- autómata (o autómata de flujo ) es una variación de un autómata finito que se ejecuta con cadenas infinitas, en lugar de finitas, como entrada. Dado que los ω-autómatas no se detienen, poseen diversas condiciones de aceptación en lugar de un simple conjunto de estados de aceptación.
Los autómatas ω son útiles para especificar el comportamiento de sistemas que no se espera que terminen, como el hardware, los sistemas operativos y los sistemas de control . Para estos sistemas, se puede especificar una propiedad como «para cada solicitud, finalmente se envía una confirmación», o su negación «hay una solicitud que no va seguida de una confirmación». La primera es una propiedad de palabras infinitas: no se puede afirmar que una secuencia finita satisfaga esta propiedad.
Las clases de autómatas ω incluyen los autómatas de Büchi , Rabin, Streett, paridad y Muller , cada uno determinista o no determinista. Estas clases de autómatas ω se diferencian únicamente en la condición de aceptación . Todos reconocen con precisión los lenguajes ω regulares, excepto los autómatas de Büchi deterministas, que son estrictamente más débiles que los demás. Si bien todos estos tipos de autómatas reconocen el mismo conjunto de lenguajes ω , difieren en la concisión de su representación para un lenguaje ω dado.
Autómatas ω deterministas
Formalmente, un ω-autómata determinista es una tupla, que consta de los siguientes componentes:
- , es un conjunto finito . Los elementos dese llaman los estados de.
- , es un conjunto finito llamado alfabeto de.
- es una función, llamada función de transición de.
- es un elemento de, llamado estado inicial.
- es un conjunto de estados de aceptación de, formalmente un subconjunto de.
Una entrada paraes una cadena infinita sobre el alfabeto, es decir, es una secuencia infinita. La carrera deEn dicha entrada hay una secuencia infinitade estados, definidos de la siguiente manera:
- .
- .
- .
- ...
- es decir, por cada:.
El propósito principal de un autómata ω es definir un subconjunto del conjunto de todas las entradas: el conjunto de entradas aceptadas . Mientras que en el caso de un autómata finito ordinario, cada ejecución termina con un estadoy la entrada se acepta si y solo sies un estado de aceptación, la definición del conjunto de entradas aceptadas es más complicada para los ω-autómatas. Aquí debemos observar toda la ejecución.. La entrada se acepta si la ejecución correspondiente está enEl conjunto de palabras ω de entrada aceptadas se denomina lenguaje ω reconocido por el autómata, que se denota como.
La definición decomo un subconjunto dees puramente formal y no es adecuado para la práctica porque normalmente dichos conjuntos son infinitos. La diferencia entre los distintos tipos de autómatas ω (Büchi, Rabin, etc.) radica en cómo codifican ciertos subconjuntos.decomo conjuntos finitos y, por lo tanto, en qué subconjuntos pueden codificar.
Autómatas ω no deterministas
Formalmente, un ω-autómata no determinista es una tuplaque consta de los siguientes componentes:
- es un conjunto finito . Los elementos dese llaman los estados de.
- es un conjunto finito llamado alfabeto de.
- es un subconjunto dey se denomina relación de transición de.
- es un subconjunto de, denominado el conjunto inicial de estados.
- es la condición de aceptación , un subconjunto de.
A diferencia de un ω-autómata determinista, que tiene una función de transición., la versión no determinista tiene una relación de transición. Tenga en cuenta quepuede considerarse una funcióndeal conjunto de potencia. Por lo tanto, dado un estadoy un símbolo, el siguiente estadoNo está necesariamente determinado de forma única, sino que existe un conjunto de posibles estados siguientes.
Una carrera deen la entradaes cualquier secuencia infinitade estados que satisfacen las siguientes condiciones:
- es un elemento de.
- es un elemento de.
- es un elemento de.
- ...
- es decir, por cada:es un elemento de.
Un autómata ω no determinista puede admitir muchas ejecuciones diferentes para cualquier entrada dada, o ninguna en absoluto. La entrada se acepta si al menos una de las ejecuciones posibles es de aceptación. Que una ejecución sea de aceptación depende únicamente de, como en el caso de los ω-autómatas deterministas. Todo ω-autómata determinista puede considerarse un ω-autómata no determinista tomandoser el gráfico deLas definiciones de secuencias y aceptación para los autómatas ω deterministas son, por lo tanto, casos especiales de los casos no deterministas.
Condiciones de aceptación
Las condiciones de aceptación pueden ser conjuntos infinitos de palabras ω. Sin embargo, generalmente se estudian condiciones de aceptación que son finitamente representables. A continuación se presenta una lista de diversas condiciones de aceptación comunes.
Antes de analizar la lista, hagamos la siguiente observación. En el caso de sistemas que se ejecutan infinitamente, a menudo interesa saber si cierto comportamiento se repite infinitamente. Por ejemplo, si una tarjeta de red recibe infinitas solicitudes de ping, puede que no responda a algunas de ellas, pero debería responder a un subconjunto infinito de las solicitudes de ping recibidas. Esto motiva la siguiente definición: Para cualquier ejecución, dejarsea el conjunto de estados que ocurren infinitamente a menudo enEsta noción de que ciertos estados se visitan infinitamente a menudo será útil para definir las siguientes condiciones de aceptación.
- Un autómata de Büchi es un ω-autómata.que utiliza la siguiente condición de aceptación, para algún subconjuntode:
- Condición de Büchi
- acepta exactamente esas carreraspara qué, es decir, existe un estado de aceptación que ocurre infinitamente a menudo en.
- AEl autómata Rabin es un autómata ωque utiliza la siguiente condición de aceptación, para algún conjuntode paresde conjuntos de estados:
- condición de Rabin
- acepta exactamente esas carreraspara el cual existe un parende tal manera quey.
- Un autómata de Streett es un ω-autómata.que utiliza la siguiente condición de aceptación, para algún conjuntode paresde conjuntos de estados:
- Estado de la calle
- acepta exactamente esas carrerasde tal manera que para todos los paresen,o.
- Un autómata de paridad es un autómatacuyo conjunto de estados espara algún número naturaly que tiene la siguiente condición de aceptación:
- Condición de paridad
- aceptasi y solo si el número más pequeño enes par.
- Un autómata de Muller es un ω-autómata.que utiliza la siguiente condición de aceptación, para un subconjuntode(el conjunto de potencias de):
- condición de Muller
- acepta exactamente esas carreraspara qué.
Todo autómata de Büchi puede considerarse un autómata de Muller. Basta con reemplazarporcompuesto por todos los subconjuntos deque contengan al menos un elemento deDe igual modo, todo autómata de Rabin, Streett o de paridad también puede considerarse un autómata de Muller.
Ejemplo

El siguiente lenguaje ωsobre el alfabeto, que puede ser reconocido por un autómata de Büchi no determinista: consta de todas las palabras ω enen el que 1 aparece solo un número finito de veces. Un autómata de Büchi no determinista que reconoceSolo necesita dos estados(el estado inicial) y.consta de las ternas,,y. Para cualquier aportaciónen el que 1 ocurre solo un número finito de veces, hay una secuencia que permanece en estadosiempre que haya 1s para leer y vaya al estadodespués. Esta ejecución es exitosa. Si hay infinitos 1, entonces solo hay una ejecución posible: la que siempre permanece en el estado. (Una vez que la máquina se haya idoy alcanzóNo puede regresar. Si se lee otro 1, no hay estado sucesor.
Obsérvese que el lenguaje anterior no puede ser reconocido por un autómata de Büchi determinista , que es estrictamente menos expresivo que su contraparte no determinista.
Poder expresivo de los autómatas ω
Un lenguaje ω sobre un alfabeto finitoes un conjunto de palabras ω sobre, es decir, es un subconjunto de. Un lenguaje ω sobreSe dice que es reconocido por un autómata ω.(con el mismo alfabeto) si es el conjunto de todas las palabras ω aceptadas porEl poder expresivo de una clase de ω-autómatas se mide por la clase de todos los ω-lenguajes que pueden ser reconocidos por algún autómata de esa clase.
Los autómatas no deterministas de Büchi, paridad, Rabin, Streett y Muller, respectivamente, reconocen exactamente la misma clase de ω-lenguajes. [ 1 ] Estos se conocen como el cierre ω-Kleene de los lenguajes regulares o como los ω-lenguajes regulares . Usando diferentes demostraciones, también se puede mostrar que los autómatas deterministas de paridad, Rabin, Streett y Muller reconocen los ω-lenguajes regulares. De esto se deduce que la clase de ω-lenguajes regulares es cerrada bajo complementación. Sin embargo, el ejemplo anterior muestra que la clase de autómatas deterministas de Büchi es estrictamente más débil.
Conversión entre ω-autómatas
Dado que los autómatas no deterministas de Muller, Rabin, Streett, paridad y Büchi son igualmente expresivos, pueden traducirse entre sí. Usemos la siguiente abreviatura:: por ejemplo, NB significa autómata ω de Büchi no determinista, mientras que DP significa autómata ω de paridad determinista. Entonces se cumple lo siguiente.
- Evidentemente, cualquier autómata determinista puede considerarse como uno no determinista.
- sin explosión en el espacio de estados.
- con una explosión polinómica en el espacio de estados, es decir, el número de estados en el NB resultante es, dóndees el número de estados en el NB yes el número de pares de aceptación de Rabin (véase, por ejemplo, [ 2 ] ).
- con un crecimiento exponencial en el espacio de estados.
- con explosión exponencial en el espacio de estados. Este resultado de determinización utiliza la construcción de Safra .
En la fuente web citada se puede encontrar una descripción general completa de las traducciones. [ 3 ]
Aplicaciones a la decidibilidad
Los autómatas ω se pueden usar para demostrar la decidibilidad de S1S, la teoría monádica de segundo orden (MSO) de los números naturales bajo el sucesor. Los autómatas de árbol infinito extienden los autómatas ω a árboles infinitos y se pueden usar para demostrar la decidibilidad de S2S , la teoría MSO con dos sucesores, y esto se puede extender a la teoría MSO de grafos con ancho de árbol acotado (dado un límite fijo) .
Lecturas adicionales
- Farwer, Berndt (2002), "ω-Automata", en Grädel, Erich; Thomas, Wolfgang; Wilke, Thomas (eds.), Autómatas, lógica y juegos infinitos , Apuntes de conferencias sobre informática , Springer, págs. 3-21 , ISBN 978-3-540-00388-5.
- Perrin, Dominique; Pin, Jean-Éric (2004), Palabras infinitas: Autómatas, semigrupos, lógica y juegos , Elsevier , ISBN 978-0-12-532111-2
- Thomas, Wolfgang (1990), "Autómatas en objetos infinitos", en van Leeuwen, Jan (ed.), Manual de informática teórica, vol. B , MIT Press , pp. 133–191 , ISBN 978-0-262-22039-2
- Bakhadyr Khoussainov; Anil Nerode (6 de diciembre de 2012). Teoría de autómatas y sus aplicaciones . Springer Science & Business Media. ISBN 978-1-4612-0171-7.
Referencias
- ↑ 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. 319–327 , doi : 10.1109/SFCS.1988.21948 .
- ↑ Esparza, Javier (2017), Teoría de autómatas: un enfoque algorítmico (PDF)
- ↑ Boker, Udi (18 de abril de 2018). "Traducciones de autómatas de palabras" . Página web de Udi Boker . Consultado el 30 de marzo de 2019 .
- Máquinas de estados finitos
- Palabras infinitas