• No se han encontrado resultados

Automata de Büchi

N/A
N/A
Protected

Academic year: 2020

Share "Automata de Büchi"

Copied!
18
0
0

Texto completo

(1)

Autómatas y Lenguajes Formales

Dr. Favio Ezequiel Miranda Perea

Proyecto:

Autómata de Büchi

Jesús Nestaly Marín Nevárez

Omar Álvarez Zárate

Anuar Cadena Rico

(2)

1

Introducción

Los lenguajes de palabras infinitas aparecen en verificación de modelos, como codificaciones de ejecuciones de programas sin terminación.

Los programas convencionales se ejecutan de forma que aceptan una entrada, realizan un cómputo y regresa un resultado. Un programa puede ser visto como una función de un dominio de entrada a un dominio de salida cuyo comportamiento es una transformación de estados iniciales a estados finales.

Los programas que no terminan, o programas reactivos, son programas que reaccionan a su entorno de manera continua respondiendo adecuadamente a cada entrada. Para especificar el comportamiento de un sistema reactivo es necesario un mecanismo que describa la manera en la que el sistema evoluciona a través de cómputos infinitos, donde la computación tiene una secuencia infinita de estados. En un contexto proposicional, estas secuencias de estados pueden ser vistas como secuencias infinitas de asignaciones proposicionales verdaderas. La lógica temporal es una manera razonar sobre esas secuencias. En la verificación de modelos la especificación de propiedades de correctud está dada en una fórmula de lógica temporal lineal.

Existe una relación cercana entre la lógica temporal lineal y los lenguajes de palabras infinitas u ω-lenguajes: los modelos de una fórmula de LLT constituyen un ω-lenguaje

regular sobre un alfabeto. Una de las caracterizaciones de los ω-lenguajes regulares son

los autómatas de Büchi, que fueron introducidos en 1962 por el lógico y matemático suizo Julius Richard Büchi. Un método para decidir si se cumplen los modelos mencionados es construir un autómata de Büchi que acepte exactamente las cadenas que satisfagan la fórmula.

A continuación, estudiaremos la definición del autómata de Büchi y mencionaremos algunas de las propiedades de cerradura de los ω-lenguajes aplicadas a autómatas de

(3)

2

Definiciones previas

ω-palabra

Sea Σ un alfabeto finito. Una palabra infinita u ω-palabra es una secuencia de símbolos

a1a2... donde cada ai∈Σ. Σ" denota el conjunto de palabras infinitas sobre el alfabeto Σ.

La concatenación de una palabra finita w1 = a1...an y una ω-palabra w2 = b1b2... es la ω

-palabra w1w2 = a1...anb1b2...

ω-lenguaje

Un conjunto 𝐿 ⊆ Σ" de ω-palabras es un cómo ω-lenguaje sobre Σ. Un lenguaje L

1 puede

ser concatenado con un ω-lenguaje L2 para crear el ω-lenguaje L1L2, pero dos ω-lenguajes

no pueden ser concatenados. La ω-iteración de un lenguaje 𝐿 ⊆ Σ* es el ω-lenguaje L" = {𝑤*𝑤+𝑤,. . . | 𝑤/ ∈ 𝐿 \ 𝜀 }.

ω-expresión regular

Una ω-expresión regular es un tipo de expresión regular que describe un lenguaje de

palabras infinitas.

Definimos una ω-expresión regular ω sobre un alfabeto Σ como:

𝜔 = 𝛼*𝛽*"+ 𝛼

+𝛽+"+ . . . + 𝛼8𝛽8"

en donde α y β son expresiones regulares sobre Σ y ε∉ L(βi) para 1 ≤ i ≤ n. Definimos las

palabras generadas por cada 𝛽/"como sigue:

L(β") = {𝑤

*𝑤+𝑤,. . . | 𝑐𝑎𝑑𝑎 𝑤/ ∈ 𝐿(β)}

Las ω-expresiones regulares tienen sintaxis: 𝑠 = 𝑟" | 𝑟𝑠

* | 𝑠* + 𝑠+

donde r es una expresión regular ordinaria.

El ω-lenguaje L"(𝑠) de una ω-expresión s se define recursivamente como:

L"(𝑟") = 𝐿 𝑟 ", L"(𝑟𝑠*) = 𝐿(𝑟)L"(𝑠*), L"(𝑠*+ 𝑠+) = L"(𝑠*) ⋃ L"(𝑠+)

(4)

3 A continuación se muestran algunos ejemplos de ω-expresiones regulares sobre el

alfabeto Σ = {a, b, c}:

• Conjunto de todas las palabras infinitas: (𝑎 + 𝑏)" • Palabras infinitas que comienzan con a: 𝑎(𝑎 + 𝑏)"

• Palabra infinita que consiste únicamente del símbolo a: 𝑎" • Palabras infinitas que contienen sólo a o sólo b: 𝑎" + 𝑏"

• Una palabra en aa(a + b)*aa seguida de una cantidad infinita de bes: 𝑎𝑎(𝑎 + 𝑏) ∗ 𝑎𝑎𝑏"

• Palabras donde b no aparece una cantidad infinita de veces: (𝑎 + 𝑏)∗𝑎" • Palabras donde b aparece una cantidad infinita de veces: (𝑎∗𝑏)"

(5)

4

Autómata de Büchi

Definición Formal.

Un autómata de Büchi (no determinista) es un quíntupla A = (Q, Σ,δ, q0, F) donde:

• Q es un conjunto de estados. • Σ es un alfabeto finito.

• δ:(Q×Σ) → 2Q es una función de transición que retorna un subconjunto de Q. • q0∈Q es un estado inicial.

• F⊆Q es un conjunto de estado de aceptación.

Sea A = (Q, Σ, δ, q0, F) un autómata finito. Una ejecución sobre una palabra infinita σ =

a1a2... es una secuencia ρ = q0q1q2... con 𝑞F GH

𝑞*GI𝑞+... tal que qi∈ Q para 0 ≤ i ≤ n y δ(qi , ai) = qi+1 para 0 ≤ i ≤ n - 1.

(Separar aquí los temas para la expo y no incluir la demostración que agregue, o incluir la demostración y que uno de los dos la explique y el otro diga todas las definiciones de esta parte)

Dada una ejecución ρ sobre una palabra infinita, definimos el conjunto inf(ρ) como el

conjunto {𝑞 ∈ 𝑄 | 𝑞 = 𝑞/ 𝑝𝑎𝑟𝑎 𝑖𝑒𝑠 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠}, es decir, los estados que son visitados un número infinito de veces durante la ejecución. Büchi sugiere que se clasifique una ejecución como de aceptación si ρ visita el conjunto F infinitamente. Cómo la cantidad de

estados en Q y F es finita, lo anterior es equivalente a decir que para que la ejecución sea de aceptación, debe visitar algún estado fijo de F de manera infinita i.e., si 𝑖𝑛𝑓(𝜌) ∩ 𝐹 ≠ 0.

Formalmente, un autómata de Büchi es un autómata finito A = (Q, Σ, δ, q0, F), y el lenguaje

aceptado por A es L(A) = {σ | existe una ejecución ρ sobre σ tal que inf(ρ) ∩ F ≠∅}.

Un lenguaje L ⊆ Σ" es llamado Büchi reconocible u ω-regular si es aceptado por algún

autómata de Büchi.

Teorema 1:

(6)

5 Demostración:

Asumamos que M = (Q, Σ, δ, q0, F) es una autómata finito que reconoce a L, i.e. L(M) = L,

podemos asumir que no hay una transición hacia el estado inicial desde cualquier otro estado ya que esto puede ser logrado agregando un nuevo estado inicial con una épsilon transición hacia q0.

Definimos M' = (Q, Σ, δ, q0, {q0}) tal que M' simula a M como sigue: dada una cadena 𝑤 ∈ Σ", M' simula a M. Una vez que hemos alcanzado un estado final en M, digamos 𝑞 ∈ 𝑄,

entonces M' selecciona de forma no determinista continuar o comenzar M desde su estado inicial y leer el resto de la cadena.

Sea 𝛼 ∈ 𝐿" tal que 𝛼 = 𝑤

*𝑤+. .., con cada 𝑤/ ∈ 𝐿 ⊆ Σ∗. Para cada wi, M tiene cómputos 𝑟F/𝑟*/, . . . , 𝑟8V/ tales que:

1. 𝑟F/ = 𝑞F

2. 𝑟WX* / = 𝛿(𝑟W/, 𝑤W/)

3. 𝑟W/ ∈ 𝐹

así que tendremos una secuencia 𝑟 = 𝑟F*, 𝑟**, . . . , 𝑟8H+𝑞F𝑟F+𝑟*+, . . . , 𝑟8I+𝑞F. .., con lo que

𝑖𝑛𝑓(𝑟) ∩ {𝑞F} ≠ ∅, por lo tanto 𝛼 ∈ 𝐿(𝑀′) y así 𝐿 ⊆ 𝐿(𝑀).

Del mismo modo, sea 𝛼 ∈ 𝐿(𝑀′), entonces existe una ejecución con un número infinito de q0, las palabras entre cualesquiera dos q0 son computaciones hechas por L, por lo tanto

Sea 𝛼 ∈ 𝐿" y así 𝐿(𝑀) = 𝐿.

(7)

6 Ejemplo de un autómata de Büchi:

Considérese el autómata de Büchi M representado por el siguiente diagrama:

La palabra ababaabbbbbbb... es aceptada por M por que el estado q1 que es final se visita

de forma infinita en la ejecución ρ = q0 q0q1q0q1 q0 q0 q1 q1 q1 q1 q1 q1 q1..., con lo que se

cumple la condición de que un estado en F se repita de forma infinita.

La palabra ababababababab.... es aceptada por M por que a pesar de que hay un estado que se repute infinitamente y no está en F, la condición es que haya al menos un estado en F que se repita infinitamente, lo cual se cumple por que en la ejecución ρ =

q0q1q0q1q0q1... se repiteq1 un número infinito de veces.

La palabra ababaaaaaaaa... no es aceptada por M por que el único estado que se visita de forma infinita en la ejecución es q0, pero q0 no es un estado de aceptación de M.

Más ejemplos de autómatas de Büchi no deterministas:

Autómata de Büchi no determinista que reconoce el lenguaje 𝐿(𝑎" + 𝑏")

Autómata de Büchi no determinista que reconoce el lenguaje 𝐿(𝑎𝑎(𝑎 + 𝑏)∗𝑏")

a

q0 q1

(8)

7 Autómata de Büchi que acepta el lenguaje de palabras que tienen una cantidad finita de bes, 𝐿(𝑎 + 𝑏)∗𝑎":

Autómata de Büchi Determinista

En un autómata de Büchi determinista las transiciones se definen de la misma manera como se definen en un AFD. La diferencia entre un autómata de Büchi determinista y un autómata de Büchi no determinista radica en que el segundo es capaz aceptar lenguajes que el primero no puede reconocer.

Teorema:

Un autómata de Büchi no determinista es más poderoso que un autómata de Büchi determinista.

Prueba:

En un ejemplo anterior vimos un autómata de Büchi no determinista que acepta el lenguaje 𝐿 = (𝑎 + 𝑏)∗𝑎". Supongamos que existe un autómata de Büchi determinista M

que acepta este lenguaje. Este autómata debe tener una ejecución de aceptación en la palabra 𝑎" (donde 𝑎"= aaaaaaa...). Supongamos que esta ejecución única entra en un

estado de F después de leer 𝑎8H para algún n1 1. Dado que M reconoce a 𝑎" , debe

aceptar a 𝑎8H𝑏𝑎", por lo que después de leer una b, M visita un estado de F en una

ejecución única para esta palabra que extiende la ejecución previa para 𝑎8H. De nuevo, M

debe aceptar a 𝑎8H𝑏𝑎8I𝑏𝑎" y repitiendo este argumento podemos ver que M debería

aceptar a 𝑎8H𝑏𝑎8I𝑏𝑎8]. . . 𝑏𝑎8^. .. por lo que M está aceptando una ω-palabra con un

número infinito de bes. Pero lo anterior contradice la suposición de que M acepta el

lenguaje de palabras con un número finito de bes. □

q0 q1 a

(9)

8

Aceptación de Muller

Un autómata de Muller es un AFN M = (Q, Σ, δ, q0, F) en donde con conjunto de estados

finales se define como 𝐹 ∈ 2`.

La condición de aceptación para un autómata de Muller M, es que M acepta una ω-palabra 𝛼 ∈ 𝛴" si y sólo si existe una ejecución ρ de M en 𝛼 que satisfaga:

𝐼𝑛𝑓 𝜌 ∈ 𝐹

El conjunto de estados que se visitan de forma infinita tiene exactamente un elemento del conjunto F.

Un autómata de Büchi es un caso especial de autómata de Muller en el que:

𝐹 = 𝑞 ∈ 𝑄 | 𝑞 ∩ 𝐹 ≠ ∅

Aceptación de Rabin

Un autómata de Rabin es un AFN M = (Q, Σ, δ, q0, Ω) en donde con conjunto de estados

finales se define Ω = {(𝐸*, 𝐹*), (𝐸+, 𝐹+), . . . , (𝐸8, 𝐹8)|(𝐸*, 𝐹*) ∈ 𝑄} y que tiene la siguiente condición de aceptación:

M acepta una ω-palabra 𝛼 ∈ 𝛴" si y sólo si existe una ejecución ρ de M en 𝛼 tal que ∃(𝐸, 𝐹) ∈ Ω , 𝐼𝑛𝑓 𝜌 ∩ 𝐸 = ∅ 𝑒 𝐼𝑛𝑓 𝜌 ∩ 𝐹 ≠ ∅

Un autómata de Büchi es un caso especial de autómata de Rabin con:

(10)

9

Propiedades de cerradura en autómatas de Büchi

Unión

Los autómatas Büchi son cerrados bajo la unión, es decir, para cada par de autómatas A y

B, existe un autómata C tal que:

Lω(C) = Lω(A) U Lω(B)

Prueba:

Sean A1 y A2 dos ω-lenguajes regulares, entonces existen autómatas M1 = (Q1, Σ, δ1, q1, F1)

y M2 = (Q2, Σ, δ2, q2, F2), tales que A1 = L (M1) y A2 = L (M2) y sean:

Q = Q1 X Q2

q0 = (q1, q2) ∈ Q

F= {(p1,p2) ∈ Q| p1∈ F1 o p2∈ F2}

La función de transición es: δ : Q x Σ à Potencia(Q)

δ((p1, p2), a) = {(r,s) ∈ Q| r ∈ δ(p1,a), s ∈ δ(p2,a)}

Entonces tenemos el autómata de Büchi M1 = (Q, Σ, δ, q0, F) tal que L(M) = A1 U A2. PAra

ver esto, sea w una palabra de A1 U A2, por ejemplo, sea w una palabra de A1, entonces

existe una ejecución p1 de M1 tal que 𝑖𝑛𝑓(𝑝1) ∩ 𝐹* ≠ ∅.

Si simulamos w en M, entonces existiría una ejecución (p,s) = (p0p1..., s0s1...) con 𝑖𝑛𝑓(𝑝, 𝑠) ∩ 𝐹 ≠ ∅. Como para algún estado q en F1, 𝑞 ∈ 𝑖𝑛𝑓(𝑝*), tenemos que (𝑞, 𝑞′) ∈ 𝑖𝑛𝑓(𝑝, 𝑠) y (𝑞, 𝑞′) ∈ 𝐹, entonces 𝑖𝑛𝑓(𝑝, 𝑠) ∩ 𝐹 ≠ ∅ y por lo tanto 𝑤 ∈ 𝐿(𝑀), que es equivalente a que 𝐴*∪ 𝐴+ ⊆ 𝐿(𝑀).

Del mismo modo sea 𝑤 ∈ 𝐿(𝑀), entonces habrá una ejecución (p, s) = (p0p1...,s0s1...) con 𝑖𝑛𝑓(𝑝, 𝑠) ∩ 𝐹 ≠ ∅, así que para algún estado (𝑞, 𝑞′) ∈ 𝑖𝑛𝑓(𝑝, 𝑠) tal que (𝑞, 𝑞′) ∈ 𝐹, por lo que o 𝑞 ∈ 𝑖𝑛𝑓(𝑝) ∩ 𝐹* o 𝑞′ ∈ 𝑖𝑛𝑓(𝑠) ∩ 𝐹+, con lo que tenemos que o 𝑖𝑛𝑓(𝑝) ∩ 𝐹* ≠ ∅ o 𝑖𝑛𝑓(𝑠) ∩ 𝐹+ ≠ ∅, por lo tanto 𝑤 ∈ 𝐴*∪ 𝐴+, así que 𝐴*∪ 𝐴+ = 𝐿(𝑀).

Intersección

Los autómatas de Büchi son cerrados bajo la intersección, tal que para cada par de autómatas A y B, existe un autómata C.

(11)

10 Suponga que:

A = (Q1, Σ, q10, δ1, F1)

B = (Q2, Σ, q20, δ2, F2)

Definimos C como:

C = (Q1 × Q2 × {1,2}, Σ, q10 × q20 × {1}, δ, F)

Sean M1 = (Q1, Σ, δ1, q1, F1) y M2 = (Q2, Σ, δ2, q2, F2), tales que A1 = L (M1) y A2 = L(M2),

entonces tenemos el autómata de Büchi como sigue: Q = Q1 X Q2 X {1,2,3}

q0 = (q1, q2, 1) ∈ Q

F= F1 X F2 X 3

La función de transición queda δ : Q x Σ à Potencia(Q)

(δ1 (q1, a), δ2 (q2, a), 1); SI δ1 (q1, a) ∉ F1

((p1, p2, 1), a) à

(δ1 (q1, a), δ2(q2, a), 2); SI δ1 (q1, a) ∈ F1

(δ1(q1, a), δ2(q2, a), 2); SI δ2 (q2, a) ∉ F2

((p1, p2, 2), a) à

(δ1(q1, a), δ2(q2, a), 3); SI δ2 (q2, a) ∈ F2

δ((p1, p2, 3), a) = (δ1(q1, a), δ2(q2, a), 1)

Entonces tenemos el autómata de Büchi M = (Q, Σ, δ, q, F) tal que 𝐿(𝑀) = 𝐴*∪ 𝐴+.

Determinización

Decimos que autómata de Büchi A es determinizable si existe un autómata determinista B tal que Lω (A) = Lω (B).

Todos los autómatas sobre las palabras finitas son determinizables.

• Esto es falso para el caso infinito.

• La construcción basada en subconjuntos de estado no funciona.

(12)

11 Sea Σ = {a, b} y:

Entonces: 𝐿"(𝐴) = {𝑤 ∈ 𝛴" | 𝑤 𝑡𝑖𝑒𝑛𝑒 𝑢𝑛 𝑛ú𝑚𝑒𝑟𝑜 𝑓𝑖𝑛𝑖𝑡𝑜 𝑑𝑒 𝑠í𝑚𝑏𝑜𝑙𝑜𝑠 𝑎}

Se probará que la construcción basada en subconjuntos no funciona. Con la construcción de subconjuntos se genera el autómata siguiente:

Este autómata acepta el siguiente lenguaje:

𝐿"(𝐵) = {𝑤 ∈ 𝛴" | 𝑤 𝑡𝑖𝑒𝑛𝑒 𝑢𝑛 𝑛ú𝑚𝑒𝑟𝑜 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑜 𝑑𝑒 𝑠í𝑚𝑏𝑜𝑙𝑜𝑠 𝑏}.

Entonces se tiene que Lω(A) ≠ Lω(B).

La construcción de subconjuntos no funciona para convertir un autómata de Büchi no determinista a un autómata de Büchi determinista, sin embargo existen algoritmos que pueden traducir un autómata de Büchi no determinista en un autómata de Muller determinista o un autómata de Rabin determinista. En los anexos se muestra la construcción de Safra, que permite crear un autómata de Rabin a partir de un autómata de Büchi.

Complementación

Decimos que un autómata de Büchi es complementable si existe un autómata de Büchi B tal que 𝐿"(𝐵) = 𝛴" \ 𝐿

"(𝐴).

(13)

12

Anexos

Construcción de Safra

Dado: Autómata de Büchi A = (Q, Σ, Q0, δ, F). Suponga que Q = {q1, . . . , qn}. Vamos a

construir un autómata de Rabin determinista B tal que Lω(A) = Lω(B), donde B está

compuesto por:

• Conjunto de estados Q1. • Estado inicial q0.

• Función de transición δ1: Q1 × Σ → Q1. • Conjunto ∆ de pares de aceptación.

Sea {c1, ... , c2n} un conjunto de 2n colores. Cada estado en Q1 contiene los siguientes

elementos:

• Para cada estado qi∈ Q, un stack de colores Si. • Un orden lineal < en {S1, ... , Sn}.

• Un par (B, M), donde B, M ⊆ {c1, ... , c2n}.

Estado inicial q0:

• Para cada estado qi∈ Q0: Si = c1. Para cada estado qi∈ Q \ Q0: Si = ∅. • c1 < ∅.

• (∅, ∅).

Dado: Estado α = (S1, ... , Sn, <1,(B1, M1)) y un símbolo a ∈ Σ. δ1 (α, a) = (T1, ... ,Tn, <2,(B2,

M2)) es calculado usando las siguientes reglas:

1. Intuición: Si qi∈ δ(qj, a), entonces el stack Si es reemplazado por Sj. Si para un

estado qi hay varias alternativas, se considera el menor stack según el orden <1.

Formalmente: Para i ∈ [1, n], sea Ai = {Sj| qi ∈ δ(qj, a)}. Entonces: Ti es el menor

elemento de Ai según <1 (si Ai = ∅, entonces Ti = ∅).

2. Para cada estado final qi∈ F: Se reemplaza Ti por Tidi, donde di es un color no

utilizado. Si para qi, qj∈ F se tiene que el tope de Ti es igual al tope de Tj, entonces

di = dj.

3. Un color es invisible si no está en el tope de ningún stack. Si c es invisible, entonces para cada Tj que contiene a c, se remueve todos los elementos que están

sobre c.

Pasos 1 al 3: Son calculados T1, ..., Tn. Los siguientes pasos calculan <2 y (B2, M2):

4. Para Ti ≠ Tj, se tiene que Ti <2 Tj si alguno de los siguientes casos se cumple: • Ti extiende a Tj, vale decir, Ti = Tjd1 · · · dk, donde cada di es un color. • Ti = PdQ y Tj = PeR, donde d y e son distintos colores, y se tiene que

(14)

13

• Ti = PdQ y Tj = PeR, donde d y e son distintos colores y e fue agregado en

el paso 2.

5. B2 y M2 son el resultado de aplicar las siguientes reglas:

• Si un color c deja de ser invisible en el paso 3, entonces c ∈ B2.

• Si un color c es eliminado de todos los stacks en el paso 1 ó 3, entonces c ∈

(15)

14

Determinización utilizando Construcción de Safra

Lema

A acepta w si y sólo si existe una ejecución ρ de B sobre w y un color c tales que:

• Existe estado (S1, . . . , Sn, <,(B, M)) en Inf(ρ) tal que c ∈ B.

• Para ningún estado (S1, . . . , Sn, <,(B, M)) en Inf(ρ) se tiene que c ∈ M.

Los estados finales de B son los siguientes: ∆ = {(V1, R1), . . . ,(V2n, R2n)}, donde:

Vi = {(S1, . . . , Sn, <,(B, M)) ∈ Q1 | ci∈ B},

(16)

15 Número de estados de B:

• Posibles stacks ≤ (n + 1)2n

• Órdenes para cada combinación de n stacks ≤ n!

• Pares (B, M) para cada combinación de n stacks ≤ 22n · 22n

Total:

Mejor estimación: No es necesario almacenar por separado los n stacks; basta con almacenar dos funciones:

• Una que indica que color está en el tope de cada stack: f : {1, . . . , n} → {c1, . . . , c2n, ⊥},

• y una que indica que color está inmediatamente abajo en cada stack: g : {c1, . . . ,

c2n} → {c1, . . . , c2n, ⊥},

Nueva estimación:

(2n + 1)n · (2n + 1)2n · n! · 22n · 22n = 2O(n log n).

Teorema (Safra)

(17)

16

Autómata de Muller

Un autómata de muller está definido como: M = (Q,Ʃ,δ,s,F) donde:

• Q es un conjunto de estados. • Ʃ es el alfabeto

• δ es una transición • s es el estado inicial

• F es un conjunto de estados. Formalmente, F es un subconjunto P(Q) donde P(Q)

es un conjunto potencia de Q. F define las condiciones de aceptación. M acepta exactamente aquellas ejecuciones en las cuales el conjunto de infinitos usualmente ocurren en estados pertenecientes a F.

La ejecución del autómata de muller sobre una ω-palabra b0b1b2… ϵ Ʃω es una secuencia

q0q1q2… con q0 = s y (qk, a, qk+1) ϵ δ para todos los k. La ejecución del autómata de Muller

es aceptado si solo si el conjunto U de infinitos estados visitados usualmente satisface U ϵ F. Una autómata de Muller es determinístico si solo si la transición δ es una función, que es para cada p ϵ Q y a ϵ Ʃ existe al menos un q ϵ Q (p , a, q) ϵ δ.

Teoremas.

Teorema 1. Para cada Büchi autómata A1 existe un lenguaje equivalente al autómata de

Muller A2.

Construcción: A1 y A2 tienen el mismo grafo autómata. Sea F un conjunto de estados

finales de Büchi A1. El autómata de Muller define una tabla final FT = {Y ϵ 2q | Y ∩ F ≠ ø}

Teorema 2: Para cada autómata de Büchi A1 podemos construir un lenguaje equivalente a

un autómata determinista de Muller A2.

Teorema 3. Para cada autómata de Muller no determinista existe un autómata de Büchi no determinista tal que Lω(A) = Lω(B).

(18)

17 Abdulla Eid. (2009). Finite ω-Automata and Büchi Automata. mayo, 2009, de Department of Computer Science Sitio web: http://www.math.uiuc.edu/~eid1/ba.pdf

K Narayan Kumar. (2006). Büchi Automata. 2013, de Chennai Mathematical Institute Sitio web: http://www.cmi.ac.in/~kumar/words/lecture07.pdf

Javier Esparza. (2011). omega automata. 2012, de Chair for Foundations of Software Reliability and Theoretical Computer Science Sitio web:

https://www7.in.tum.de/um/courses/auto/ws1112/slides1011/omegaautomata-melted.PDF

Marcelo Arenas. (2013). Autómatas sobre palabras infinitas. 2013, de Pontificia Universidad Católica de Chile Sitio web:

http://web.ing.puc.cl/~marenas/iic3800/clases/automata-1-imp.pdf

A. Prasad Sistla, Moshe Y. Vardi, Pierre Wolper. (1987). The complementation problem for Büchi Automata with applications to temporal logic . Theoretical Computer Science, 49, 21.

Madhavan Mukund. (1996). Linear-Time Temporal Logic and B¨uchi Automata. Enero 1997, de SPIC Mathematical Institute Sitio web:

http://www.cmi.ac.in/~madhavan/papers/pdf/isical97.pdf

Moshe Y. Vardi , Thomas Wilke. (2010). Automata: From Logics to Algorithms. 2010, de Uniwersytet Warszawski, Instytut Informatyki Sitio web:

http://www.mimuw.edu.pl/~fmurlak/ano2010/wal07.pdf

Referencias

Documento similar

Puedes acceder a los lotes de libros, para clubes de lectura, que tienen la biblioteca pública y las bibliotecas municipales?. El club se encarga de recoger y devolver

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

trañables para él: el campo, la vida del labriego, otra vez el tiempo, insinuando ahora una novedad: la distinción del tiempo pleno, el tiempo-vida, y el tiempo

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

En un congrés, convé disposar d’un pla o full de ruta per tal de garantir la igualtat d’accés de totes les persones, tant ponents com participants.. Comunicació : Tant si el

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Desde esa concepción, el Derecho es considerado como algo que puede ser completamente objetivado y observado sin ningún tipo de parti- cipación (puede ser casi «fotografiado»).