L'un des problèmes ouverts intéressants concernant les DFA est répertorié dans Existe-t-il des problèmes ouverts concernant les DFA? est la taille d'un DFA requis pour séparer deux chaînes de longueur . Je suis curieux de savoir s'il existe des résultats sur la capacité d'un DFA aléatoire à séparer deux chaînes données (non aléatoires).
Clairement, un DFA aléatoire avec suffisamment d'états sépare les chaînes avec une forte probabilité. Plus précisément, si , il est peu probable qu'un DFA aléatoire avec des états O ( n ) revisite le même état une fois qu'il atteint le premier endroit où u et v diffèrent, et sépare donc u et v .
Pouvons-nous faire mieux? Idéalement, ce qui est le plus petit st que DFA aléatoire f ( n ) les chaînes de états de longueur n avec une probabilité positive (ou peut - être la probabilité ≥ 1 / 2 )? Une brève recherche n'a pas donné beaucoup de résultats sur les propriétés des DFA aléatoires; tout ce que j'ai pu trouver était http://arxiv.org/abs/1311.6830 .
la source
Réponses:
[Modifier: cette réponse ne fonctionne pas, voir les commentaires.]
C'est juste une idée informelle et je ne sais pas si ça aide, mais c'est trop long pour être donné en commentaire. De plus, je ne suis pas du tout familier avec les DFA aléatoires, alors j'ai peut-être une mauvaise intuition sur la façon dont vous devriez raisonner sur les probabilités, mais j'espère que cela n'est pas totalement inutile.
Je suppose que vos limites devraient dépendre de la différence entre et v ; s'ils ne le font pas, il me semble clair que le pire des cas sont des chaînes qui ne diffèrent que par leur premier caractère (des chaînes qui diffèrent d'un jeu à l'autre)u v de positions ont plus de chances d'être distinguées que les chaînes qui diffèrent à un ensemble Y ⊂ X de positions , Je dirais, et mettre la différence le plus tôt possible vous donne la possibilité de resynchroniser).X Y⊂X
J'examinerai également la probabilité que les mots se distinguent, à savoir qu'ils atteignent des états différents. Je suppose que vous devrez alors vous adapter pour être accepté ou rejeté en fonction de la façon dont vos DFA aléatoires allouent les états finaux. Si chaque état a une probabilité 1/2 d'être final, alors lorsque les chaînes se retrouvent dans le même état, elles ne sont pas distinguées, et lorsqu'elles se retrouvent dans des états différents, elles ont une probabilité 1/2 d'être distinguées.
Je vais maintenant considérer le mot obtenu à partir de u et v comme suit: w i = 1 si u i = v i , et w i = 0 sinon. Je pense qu'il est clair que ww u v wi=1 ui=vi wi=0 w est la seule chose intéressante à considérer à propos de et v .u v
Maintenant, définissons la probabilité que nous soyons au même état après avoir lu les préfixes de longueur i de u et v , et q ( i ) = 1 - p ( i ) la probabilité que nous ne le soyons pas.p(i) i u v q(i)=1−p(i)
Je pense que nous avons lorsque w i + 1 est 1 . Intuitivement, nous sommes dans le même état après avoir lu i + 1 lettres soit lorsque nous étions dans le même état après avoir lu i , soit lorsque nous étions dans deux états différents (aléatoires), nous avons tracé deux transitions vers des états aléatoires, et ils sont arrivés à être le même. De même, nous avons p ( i + 1 ) = 1p(i+1)=p(i)+q(i)/n wi+1 1 i+1 i lorsque w i + 1 est 0 : vous dessinez deux états aléatoires, peu importe d'où vous êtes parti.p(i+1)=1/n wi+1 0
À partir de cela, je pense que vous pourriez calculer la probabilité d'être au même état après avoir lu etu .v
la source