El número de diferentes idiomas regulares.

14

Dado un alfabeto , ¿cuántos idiomas regulares diferentes puede aceptar un autómata finito no determinista de estados?Σ={a,b}n

Como ejemplo, consideremos . Luego tenemos configuraciones de transición diferentes y configuraciones de estado inicial y final diferentes, por lo que tenemos un límite superior de idiomas diferentes. Sin embargo, muchos de estos serán equivalentes y dado que la prueba para eso es PSPACE-Complete, probablemente no sea factible probar cada configuración. ¿Hay otros medios o argumentos combinatorios que limitan el número de idiomas diferentes aceptados por un recurso dado?n=321823224

john_leo
fuente
Solo hay 3 configuraciones de estado de inicio diferentes, no 23 .
FrankW
44
Idea rápida: los lenguajes regulares se caracterizan por muchas clases de equivalencia, cf Myhill-Nerode. ¿Cuántos conjuntos diferentes de clases de equivalencia puede admitir un autómata norte state?
Raphael
55
Puede ser útil buscar en Google el documento "Sobre el número de idiomas distintos aceptados por autómatas finitos con n estados" por Domaratzki, Kisman y Shallit.
Hendrik ene
1
aquí está la url de cita en papel
vzn
1
encontró casi la misma pregunta en tcs.se: ¿Cuál es el número de idiomas aceptados por un DFA de tamaño n?
vzn

Respuestas:

11

Este es un resumen del documento sobre el número de idiomas distintos aceptados por autómatas finitos con n estados . El documento proporciona límites relativamente fáciles, aunque lejos de ser estrictos, inferiores y superiores en cuanto al número de idiomas distintos aceptados por los NFA. Su discusión sobre el número de DFA distintos es muy perspicaz, por lo que también incluiré esa parte.

El artículo comienza con un asintótico bastante riguroso para la cantidad de idiomas distintos aceptados por un DFA con estados sobre un alfabeto unario. Esto se realiza observando en qué condiciones un DFA unario n dado es mínimo. En tales casos, la descripción del autómata puede asignarse (biyectamente) a una palabra primitiva , y la enumeración de tales palabras es bien conocida y se realiza con la ayuda de la función de Möbius . Usando ese resultado, se prueban los límites para alfabetos no unarios, tanto en el caso de DFA como en el de NFA.nn

Vamos a entrar en más detalles. Para un alfabeto -letter, defina f k ( n )k Tenga en cuenta quegk(n)= n i = 1 fk(i). Comenzamos conf1(k)yg1(k).

fk(n)=the number of pairwise non-isomorphic minimal DFA's with n statesgk(n)=the number of distinct languages accepted by DFA's with n statesGk(n)=the number of distinct languages accepted by NFA's with n states
gk(n)=i=1nfk(i)f1(k)g1(k)

Enumeración de Dary unarios

Un DFA unario con estados q 0 , ... , q n - 1 es mínimo iffM=(Q,{a},δ,q0,F)q0,,qn1

  1. Esta conectado. Por lo tanto, después de cambiar el nombre, el diagrama de transición consiste en un bucle y una cola, es decir, y δ ( q n - 1 , a ) = q j para algunos j n - 1 .δ(qi,a)=qi+1δ(qnorte-1,un)=qjjnorte-1
  2. El bucle es mínimo.
  3. Si , entonces o bien q j - 1F y q n - 1F o q j - 1F y q n - 1F .j0 0qj-1Fqnorte-1Fqj-1Fqnorte-1F

El ciclo es mínimo si la palabra a ja n - 1 definida por a i = { 1qj,...,qnorte-1unjunnorte-1 esprimitivo, lo que significa que no se puede escribir en la formaxk para alguna palabraxyalgún enterok2. Seconoce elnúmeroψk(n)de palabras primitivas de longitudnsobrek-alfabetos de letras, véase, por ejemplo, Lothaire,Combinatorics on Words. Tenemos ψk(n)=d | nμ(d)kn/

unyo={1Si qF,0 0Si qF
XkXk2
ψk(norte)nortek dondeμ(n)es lafunción de Möbius. Con la ayuda de ψ k (n),el documento prueba fórmulas exactas para f 1 (n)y g 1 (n)y muestra que asintóticamente (Teorema 5 y Corolario 6), g 1 ( n )
ψk(norte)=reEl |norteμ(re)knorte/ /re
μ(norte)ψk(norte)F1(norte)sol1(norte)
g1(n)=2n(nα+O(n2n/2))f1(n)=2n1(n+1α+O(n2n/2)).

Enumeración de DFA

El siguiente paso es un límite inferior para . El teorema 7 establece que f k ( n ) f 1 ( n ) n ( k - 1 ) nn 2 n - 1 n ( k - 1 ) n . Para un conjunto Δ Σ de un autómata M , defina M Δ como la restricción de M a Δ .fk(n)

fk(n)f1(n)n(k1)nn2n1n(k1)n.
ΔΣMMΔMΔ
La prueba funciona considerando el conjunto de M de DFA sobre el alfabeto k -letter { 0 , 1 , ... , k - 1 } definido porSk,nMk{0,1,,k1}
  1. Dejar que sea ​​uno de los f 1 ( n ) diferentes DFA unarios en n estados, yM{0}f1(n)n
  2. La elección de cualquier funciones h i : Q Q para 1 i < k y que define δ ( q , i ) = h i ( q ) para 1 i < k y q Q .k1hi:QQ1i<kδ(q,i)=hi(q)1i<kqQ

La observación es entonces que contiene f 1 ( n ) n ( k - 1 ) n idiomas diferentes y mínimos.Sn,kf1(n)n(k1)n

Enumeración de los NFA

G1(n)2nϵ,a,,an1n
G1(n)(c1nlogn)n
k2

n2(k1)n2Gk(n)(2n1)2kn2+1.
(q,a)Qδ(q,a)2kn2{1,,k}k[0..n1]
M=(Q,Σ,δ,q0,F)Σ={0,1,,k1}Q={q0 0,...,qnorte-1}δ
δ(qyo,0 0)=q(yo+1)modificaciónnortepara 0 0yo<norteδ(qyo,j)=hj(yo)para 0 0yo<norte,1j<k
hj:{1,...,norte-1}2QF={qyo}yo[0 ..norte-1]2(k-1)norte2norteformas de elegir el conjunto de estados finales. Entonces se puede demostrar que no hay dos NFA que acepten el mismo idioma.
john_leo
fuente