En la teoría de los autómatas , un autómata temporizado alterno (ATA) es una mezcla de autómata temporizado y autómata finito alterno . Es decir, es una especie de autómatas que pueden medir el tiempo y en los que existe una transición universal y existencial.
Los ATA son más expresivos que los autómatas cronometrados. Autómata temporizado alterno de un reloj (OCATA)es la restricción de ATA que permite el uso de un solo reloj. Los OCATA permiten expresar lenguajes cronometrados que no se pueden expresar con un autómata cronometrado. [1]
Un autómata temporizado alterno se define como un autómata temporizado, donde las transiciones son más complejas.
Dado un conjunto , sea el conjunto de combinación booleana positiva de elementos de . Es decir, el conjunto que contiene los elementos de , y que contiene y , para .
Para cada letra y ubicación , sea un conjunto de restricciones de reloj de modo que sus zonas se dividan con el número de relojes. Dada una valoración de reloj , sea la única restricción de reloj de la que se satisfaga .
Un autómata temporizado alterno contiene una función de transición, que se asocia a una tupla de 3 , con , a un elemento de .
Por ejemplo, es un elemento de . Intuitivamente, significa que la carrera puede continuar moviéndose a la ubicación y no reiniciando el reloj. O moviéndose a la ubicación y debería tener éxito cuando se reinicia o .
Formalmente, un autómata temporizado alterno es una tupla que consta de los siguientes componentes:
Cualquier expresión booleana se puede reescribir en una expresión equivalente en forma disyuntiva normal . En la representación de un ATA, cada disyunción está representada por una flecha diferente. Cada conjunción de una disyunción está representada por un conjunto de flechas con la misma cola y múltiples cabezas. La cola está etiquetada por la letra y cada cabeza está etiquetada por el conjunto de relojes que reinicia.
Ahora definimos una ejecución de un autómata temporizado alternativo sobre una palabra temporizada . Hay dos formas equivalentes de definir una carrera, ya sea como un árbol o como un juego .
En esta definición de ejecución, una ejecución ya no es una lista de pares, sino un árbol enraizado . Los nodos del árbol con raíces están etiquetados por pares con una ubicación y una valoración de reloj. El árbol se define de la siguiente manera:
La definición de una ejecución de aceptación difiere dependiendo de si la palabra cronometrada es finita o infinita. Si la palabra cronometrada es finita, entonces la ejecución se acepta si la etiqueta de cada hoja contiene una ubicación de aceptación. Si la palabra cronometrada es infinita, entonces se acepta una ejecución si cada rama contiene un número infinito de ubicaciones de aceptación.
Una carrera también se puede definir como un juego de dos jugadores . Llamemos a los dos jugadores "jugador" y "oponente". El objetivo del jugador es crear una carrera de aceptación y el objetivo del oponente es crear una carrera de rechazo (no aceptación).
Cada estado del juego es una tupla compuesta por una ubicación, una valoración del reloj, una posición en la palabra y, potencialmente, un elemento de . Intuitivamente, una tupla significa que la ejecución ha leído letras, está en la ubicación , con el valor del reloj y que la transición será como la describe . La ejecución se define de la siguiente manera:
El conjunto de estados sucesivos que comienzan en un estado de la forma y terminan antes del siguiente estado de este tipo se denomina fase .
La definición de una ejecución de aceptación es la misma que para los autómatas cronometrados .
Un autómata temporizado alterno de un reloj (OCATA) es un autómata temporizado alterno que utiliza un solo reloj.
La expresividad de los OCATA y del autómata temporizado son incomparables.
Por ejemplo, un autómata cronometrado no puede reconocer el idioma sobre el alfabeto de modo que nunca haya exactamente una unidad de tiempo entre dos letras. Sin embargo, la OCATA que se muestra cerca
lo acepta
. En este autómata temporizado alterno, se inician dos ramales. Una rama reinicia el reloj y asegura que cada vez en el futuro cuando se emita una letra, el reloj sea distinto de 1. Esto asegura que entre esta letra y las siguientes, el tiempo transcurrido no sea uno. La segunda rama solo espera a que se emitan otras letras y realiza la misma verificación.
Se dice que un ATA es puramente universal (respectivamente, puramente existencial ) si su función de transición no usa disyunción (respectivamente, conjunción).
Los ATA puramente existenciales son tan expresivos como un autómata temporizado no determinista.
La clase de idioma aceptada por las ATA y por las OCATA está cerrada bajo complemento. La construcción se explica para el caso de que exista una única ubicación inicial.
Dado que un ATA acepta un lenguaje cronometrado , su lenguaje complementario es aceptado por un autómata que es esencialmente , donde se define como donde la disyunción y las conjunciones se invierten y simula la ejecución desde cada una de las ubicaciones de simultáneamente.
De ello se desprende que la clase de lenguaje aceptada por las ATA y por las OCATA es aceptada por los sindicatos y la intersección. La unión de dos lenguajes se construye tomando copias disjuntas de los autómatas aceptando ambos lenguajes. La intersección se puede construir a partir de unión y concatenación.
El problema del vacío, el problema de la universalidad y el problema de la capacidad de retención para OCATA es decidible, pero no es un problema elemental .
Esos tres problemas son indecidibles sobre los ATA.