La pregunta es simple y directa: para un fijo , ¿cuántos idiomas (diferentes) son aceptados por un DFA de tamaño (es decir, estados)? Declararé formalmente esto:
Defina un DFA como , donde todo está como de costumbre y es una función (posiblemente parcial). Necesitamos establecer esto ya que a veces solo las funciones totales se consideran válidas.
Para cada , defina la relación (equivalencia) en el conjunto de todos los DFA como: \ mathcal {A} \ sim_n \ mathcal {B} if | \ mathcal {A} | = | \ mathcal {B} | = n y L (\ mathcal {A}) = L (\ mathcal {B}) .A ∼ n B | A | = | B | = n L ( A ) = L ( B )
La pregunta es, entonces: para un n dado , ¿cuál es el índice de ? Es decir, ¿cuál es el tamaño del conjunto ?
Incluso cuando es una función total, no parece ser un recuento fácil (al menos para mí). Es posible que el gráfico no esté conectado, y los estados en el componente conectado que contiene el estado inicial podrían estar aceptando, por lo que, por ejemplo, hay muchos gráficos de tamaño aceptan . Lo mismo con otras combinaciones triviales para el idioma vacío y otros idiomas cuyo DFA mínimo tiene menos de estados.
(Una ingenua) recurrencia tampoco parece funcionar. Si tomamos un DFA de tamaño y agregamos un nuevo estado, entonces, si queremos mantener el determinismo y hacer que el nuevo gráfico esté conectado (para tratar de evitar casos triviales), tenemos que eliminar una transición para conectar el nuevo estado, pero en ese caso podemos perder el idioma original.
¿Alguna idea?
Nota. Actualicé la pregunta nuevamente, con una declaración formal y sin los elementos de distracción anteriores.
Respuestas:
Creo que esta pregunta ha sido estudiada previamente. Mike Domaratzki escribió una encuesta sobre investigación en esta área: "Enumeración de idiomas formales", Bull. COMER, vol. 89 (junio de 2006), 113-133: http://www.eatcs.org/images/bulletin/beatcs89.pdf
fuente