La plupart des éléments ci-dessous sont tirés de Parsing Theory de Sippu et Soisalon-Soininen.
Soit l'ensemble des états du DFA. Soit T l'alphabet d'entrée. Soit | M | = O ( | T | ⋅ | Q | ) soit la taille de la machine. L'exercice 3.40 donne un algorithme O ( | T | ⋅ | Q | 2 ) pour la minimisation de l'état. Comme Wikipedia le décrit , l'algorithme de Hopcroft a un temps d'exécution de O ( | T | ⋅ | Q | ⋅ logQT|M|=O(|T|⋅|Q|)O(|T|⋅|Q|2) et l'algorithme de Moore a un temps d'exécution de O ( | T | 2 ⋅ | Q | ) .O(|T|⋅|Q|⋅log|T|)O(|T|2⋅|Q|)
Le théorème 3.30 indique que la construction du sous-ensemble peut être effectuée dans ce qui donne un automate de taille O ( 2 | T | + log | Q | ) (en fait, si le l'automate résultant a | T ′ | états, le temps d'exécution est ( | T ′ | + | T | ⋅ | MO ( 2| T| +journal| T| +journal| Q |)O ( 2| T| +journal| Q |)| T′|). Les deux inversions et la deuxième déterminisation sont donc sans conséquence dans le temps d'exécution, de sorte que le temps d'exécution asymptotique de l'algorithme de Brzozowski est le même que celui de la construction du sous-ensemble.( | T′| + | T| ⋅ | M| )⋅ | Q |
Cela signifie que dans le pire des cas, l'algorithme de Brzozowski est exponentiellement plus lent que les trois autres algorithmes. Notez que le pire des cas se produit vraiment: l'exemple classique du NFA pour la langue a k + 1 états et son DFA minimal correspondant a O ( 2 k ) états, tandis que l'inverse du NFA est déterministe, l'exécution de l'algorithme de Brzozowski sur ce NFA inversé déclenche le comportement le plus défavorable.( a | b )∗unekk + 1O ( 2k)
Cependant, si la construction du sous-ensemble donne un automate de taille , son temps de fonctionnement est également O ( | T | 2 ⋅ | Q | 2 ) , ce qui est souvent le cas sur les entrées réelles. En outre, si l'on prend soin lors du calcul de la fermeture d'un état, cela peut être fait beaucoup plus rapidement dans la plupart des cas (c'est-à-dire dans les cas où la fermeture est petite), en économisant un facteur | T || T′| =O( | T| )O ( | T|2⋅ | Q |2)| T|dans la pratique (essentiellement pour la même raison que les fermetures transitives peuvent être calculées assez rapidement sur des exemples réels). De plus, si les automates d'entrée et intermédiaires sont rares, ce qui signifie que les états ont peu de transitions, alors un facteur est enregistré, ce qui donne un temps de fonctionnement O ( | T | ⋅ | Q | ) sur les «bonnes» entrées.| Q |O ( | T| ⋅ | Q | )
Malheureusement, je ne connais pas suffisamment les algorithmes de Hopcroft ou de Moore pour donner une analyse de leurs temps de fonctionnement dans des cas typiques. Wikipedia parle d'un temps d'exécution dans certains cas, ce qui rendrait les trois algorithmes comparables.O ( | T| JournalJournal| T| )