analysis of algorithms and formal language theory
play

Analysis of Algorithms and Formal Language Theory Cyril Nicaud - PowerPoint PPT Presentation

Analysis of Algorithms and Formal Language Theory Cyril Nicaud LIGM, Paris-Est, Marne-la-Vall ee AofA13 I. Introduction Languages Words are finite sequences of letters taken in a fixed (small) alphabet A Languages are


  1. – Korshunov’s formula (1978) – ◮ Let A n denote the set accessible automata with n states ◮ Let S ( x , y ) denote the number of surjections from [ x ] onto [ y ] Theorem [Korshunov 78] Asymptotically, a constant proportion of Korshunov’s automata are accessible: � kr � 1 + � ∞ 1 ( e k − 1 λ ) − r r = 1 r r − 1 |A n | ∼ E · S ( k n , n ) , with E = ( e k − 1 λ ) − r , � kr � 1 + � ∞ r = 1 r where λ is a computable constant.

  2. – Korshunov’s formula (1978) – Theorem [Good 61] For fixed k , we have S ( k n , n ) ∼ α · β n · n kn , for some computable constants α and β , with 0 < β < 1. ◮ Korshunov + Good yield |A n | ∼ E · α · β n n kn

  3. – Korshunov’s formula (1978) – Theorem [Good 61] For fixed k , we have S ( k n , n ) ∼ α · β n · n kn , for some computable constants α and β , with 0 < β < 1. ◮ Korshunov + Good yield |A n | ∼ E · α · β n n kn ◮ The proportion of accessible automata is exponentially small

  4. – Random generation: a first algorithm – Boltzmann sampler: Random surjection from [ N ] to [ n ] with E [ N ] = kn + 1

  5. – Random generation: a first algorithm – Boltzmann sampler: Random surjection from [ N ] to [ n ] with E [ N ] = kn + 1 N = kn + 1?

  6. – Random generation: a first algorithm – Boltzmann sampler: Random surjection from [ N ] to [ n ] with E [ N ] = kn + 1 O ( √ n ) N = kn + 1?

  7. – Random generation: a first algorithm – Boltzmann sampler: Random surjection from [ N ] to [ n ] with E [ N ] = kn + 1 O ( √ n ) N = kn + 1? The automaton is accessible?

  8. – Random generation: a first algorithm – Boltzmann sampler: Random surjection from [ N ] to [ n ] with E [ N ] = kn + 1 O ( √ n ) N = kn + 1? O ( 1 ) The automaton is accessible?

  9. – Random generation: a first algorithm – Boltzmann sampler: Random surjection from [ N ] to [ n ] with E [ N ] = kn + 1 O ( √ n ) N = kn + 1? O ( 1 ) The automaton is accessible? Automaton

  10. – Random generation: a first algorithm – Boltzmann sampler [Bassino, N. 07] Using a Boltzmann sampler, one can generate random accessible automata in average time Θ( n 3 / 2 ) . ◮ Variations: David, H´ eam, Schmitz

  11. – Random generation: a first algorithm – Boltzmann sampler [Bassino, N. 07] Using a Boltzmann sampler, one can generate random accessible automata in average time Θ( n 3 / 2 ) . ◮ Variations: David, H´ eam, Schmitz Recursive generator [N. 00; Champarnaud, Parantho¨ en 05] Using the same kind of bijection and the recursive method, one can generate random accessible automata in linear time, at the cost of a Θ( n 2 ) preprocessing. ◮ The algorithm above uses large numbers, it is not really linear

  12. III. Accessible part

  13. – Another approach – ◮ We can extract the accessible part from a random automata b a a 2 4 a a , b 1 2 3 4 5 6 1 b 6 a 1 1 3 2 3 5 b b 5 3 b 5 5 6 4 3 5 a , b a

  14. ◮ We can extract the accessible part from a random automata b a a 2 4 a a , b 1 2 3 4 5 6 1 b 6 a 1 1 3 2 3 5 b b 5 3 b 5 5 6 4 3 5 a , b a

  15. ◮ We can extract the accessible part from a random automata b a a 2 4 a 1 2 3 4 5 6 a , b 1 b 6 a 1 1 3 2 3 5 b b 5 5 6 4 3 5 b 5 3 a , b a a a , b 1 6 b b 5 3 a , b a Extract

  16. ◮ We can extract the accessible part from a random automata b a a 2 4 a 1 2 3 4 5 6 a , b 1 b 6 a 1 1 3 2 3 5 b b 5 5 6 4 3 5 b 5 3 a , b a a a a , b a , b 1 6 1 4 b b b b 5 3 3 2 a , b a , b a a Extract Normalize

  17. ◮ We can extract the accessible part from a random automata b a a 2 4 a 1 2 3 4 5 6 a , b 1 b 6 a 1 1 3 2 3 5 b b 5 5 6 4 3 5 b 5 3 a , b a a a a , b a , b 1 6 1 4 b b b b 5 3 3 2 a , b a , b a a Extract Normalize ◮ We keep the relative order: 1 < 3 < 5 < 6 < < < 1 2 3 4

  18. Two natural questions: ◮ What is the size of the accessible part? ◮ Is the induced distribution on accessible automata interesting?

  19. Two natural questions: ◮ What is the size of the accessible part? ◮ Is the induced distribution on accessible automata interesting? ◮ For the first question, we can do experiments

  20. Two natural questions: ◮ What is the size of the accessible part? ◮ Is the induced distribution on accessible automata interesting? ◮ For the first question, we can do experiments 800 Number of occurences 600 400 200 20 40 60 80 100 Size of the accessible part of an automaton with 100 states

  21. ◮ Fix an accessible automaton A with i states. How many automata with n states produce A ? n = 6 a , b a 1 3 2 4 a , b b b a

  22. ◮ Fix an accessible automaton A with i states. How many automata with n states produce A ? n = 6 a , b a 1 3 2 4 a , b b b a ◮ Choose the labels of the states besides 1 and rename according to { 2 , 5 , 6 } their relative order. a , b a 1 5 2 6 a , b b b a

  23. ◮ Fix an accessible automaton A with i states. How many automata with n states produce A ? n = 6 a , b a 1 3 2 4 a , b b b a ◮ Choose the labels of the states besides 1 and rename according to { 2 , 5 , 6 } their relative order. a , b a 1 5 2 6 a , b b b a ◮ Remark that for the remaining states (for the example, states 3 and 4) any choice for their outgoing transitions is valid.

  24. ◮ The number of automata with n states that produce A is therefore: � n − 1 � n k ( n − i ) × i − 1 � �� � remaining transitions � �� � state labels ◮ It only depends on i , not on A : two accessible automata with i states have the same probability of being generated ◮ Let X n be the random variable associated with the size of the accessible part of a random automaton with n states. We have 1 � n − 1 � n − ki P ( X n = i ) = |A i | i − 1 ◮ First noticed in [Liskovets 69] 1 Recall that |A n | is the number of accessible automata with n states

  25. – Limit distribution – Theorem [Carayol, N. 12] X n is asymptotically normal, with mean and standard deviation respectively equivalent to vn and σ √ n , with � v ( 1 − v ) v = 1 + 1 kW 0 ( − k e − k ) and σ = kv − k + 1

  26. – Limit distribution – Theorem [Carayol, N. 12] X n is asymptotically normal, with mean and standard deviation respectively equivalent to vn and σ √ n , with � v ( 1 − v ) v = 1 + 1 kW 0 ( − k e − k ) and σ = kv − k + 1 ◮ Approximating |A i | using Korshunov’s equivalent and the binomial coefficient with Stirling’s yields � i � i � n − 1 � � � �� n n − ki ≈ E · α P ( X n = i ) = |A i | √ g f i − 1 n n 2 π n with � f ( x ) = x ( k − 1 ) x β x x g ( x ) = and ( 1 − x ) 1 − x 1 − x

  27. 800 Number of occurences 600 400 � � − ( x − vn ) 2 # of automata √ exp 2 n σ 2 σ 2 π n 200 20 40 60 80 100 Size of the accessible part of an automaton with 100 states

  28. – A simple yet efficient random generator – ◮ We have a very simple rejection algorithm to generate accessible automata uniformly at random: 1. Generate a random automata A with 1 v n states 2. If the accessible part of A does not have n states, go back to step 1 3. Return the accessible part of A

  29. – A simple yet efficient random generator – ◮ We have a very simple rejection algorithm to generate accessible automata uniformly at random: 1. Generate a random automata A with 1 v n states 2. If the accessible part of A does not have n states, go back to step 1 3. Return the accessible part of A ◮ Each iteration of the loop is done in linear time ◮ The average number of iterations is Θ( √ n ) since 1 P ( X n / v = n ) ≈ σ √ n

  30. – A simple yet efficient random generator – ◮ We have a very simple rejection algorithm to generate accessible automata uniformly at random: 1. Generate a random automata A with 1 v n states 2. If the accessible part of A does not have n states, go back to step 1 3. Return the accessible part of A ◮ Each iteration of the loop is done in linear time ◮ The average number of iterations is Θ( √ n ) since 1 P ( X n / v = n ) ≈ σ √ n ◮ The average complexity of this algorithm is Θ( n √ n ) ◮ It is the same complexity as before, but the algorithm is simpler

  31. – A linear approximate sampler – ◮ We can do efficient approximate sampling 1. Generate a random automata A with 1 v n states 2. If the number of states of the accessible part of A is not in [( 1 − ǫ ) n , ( 1 + ǫ ) n )] , go back to step 1 3. Return the accessible part of A ◮ Each iteration of the loop is done in linear time ◮ The average number of iterations tends to 1 as n tends to infinity ◮ The average complexity of this algorithm is linear

  32. – o ( 1 √ n ) -trick – a , b p with probability ≤ 1 ◮ An automaton of size m has a m ◮ Let A n be the set of accessible automata of size n and T m be the set of automata of size m

  33. – o ( 1 √ n ) -trick – a , b p with probability ≤ 1 ◮ An automaton of size m has a m ◮ Let A n be the set of accessible automata of size n and T m be the set of automata of size m � � � � � {T ∈ T m : |A T | = n and P ( A T ) } � {A ∈ A n : P ( A ) } � � = |{T ∈ T m : |A T | = n }| |A n | � � � {T ∈ T m : P ( T ) } � ≤ |{T ∈ T m : |A T | = n }| � � � {T ∈ T m : P ( T ) } |T m | � ≤ × |{T ∈ T m : |A T | = n }| |T m | ≤ 1 1 m × Pr ( X m = n )

  34. – o ( 1 √ n ) -trick – a , b p with probability ≤ 1 ◮ An automaton of size m has a m ◮ Let A n be the set of accessible automata of size n and T m be the set of automata of size m � � � � � {T ∈ T m : |A T | = n and P ( A T ) } � {A ∈ A n : P ( A ) } � � = |{T ∈ T m : |A T | = n }| |A n | � � � {T ∈ T m : P ( T ) } � ≤ |{T ∈ T m : |A T | = n }| � � � {T ∈ T m : P ( T ) } |T m | � ≤ × |{T ∈ T m : |A T | = n }| |T m | ≤ 1 1 m × Pr ( X m = n ) ◮ For m = 1 v n , Pr ( X m = n ) = Θ( 1 √ n ) and thus the probability is O ( 1 √ n ) : accessible automata almost never have sinks

  35. IV. Minimization algorithms

  36. – Minimal automata – ◮ L p is the language recognized by the automaton when the initial state is p ◮ p and q are equivalent ( p ∼ q ) when L p = L q ◮ a deterministic automaton is minimal when there are no p � = q such that p ∼ q . 2 a a , b a , b 1 b 3

  37. – Minimal automata – ◮ L p is the language recognized by the automaton when the initial state is p ◮ p and q are equivalent ( p ∼ q ) when L p = L q ◮ a deterministic automaton is minimal when there are no p � = q such that p ∼ q . 2 a a , b a , b 1 b 3 minimal

  38. – Minimal automata – ◮ L p is the language recognized by the automaton when the initial state is p ◮ p and q are equivalent ( p ∼ q ) when L p = L q ◮ a deterministic automaton is minimal when there are no p � = q such that p ∼ q . 2 a a 2 a a , b a , b 1 1 b b b 3 3 a , b minimal

  39. – Minimal automata – ◮ L p is the language recognized by the automaton when the initial state is p ◮ p and q are equivalent ( p ∼ q ) when L p = L q ◮ a deterministic automaton is minimal when there are no p � = q such that p ∼ q . 2 a a 2 a a , b a , b 1 1 b b b 3 3 a , b minimal not minimal

  40. – Minimal automata – ◮ L p is the language recognized by the automaton when the initial state is p ◮ p and q are equivalent ( p ∼ q ) when L p = L q ◮ a deterministic automaton is minimal when there are no p � = q such that p ∼ q . a 2 4 3 a a 2 a a , b a , b a a 1 1 b b b 3 1 2 3 a a , b minimal not minimal

  41. – Minimal automata – ◮ L p is the language recognized by the automaton when the initial state is p ◮ p and q are equivalent ( p ∼ q ) when L p = L q ◮ a deterministic automaton is minimal when there are no p � = q such that p ∼ q . a 2 4 3 a a 2 a a , b a , b a a 1 1 b b b 3 1 2 3 a a , b minimal not minimal not minimal

  42. – Counting Minimal Automata – ◮ The size of a regular language L is the number of states of its (unique) minimal automaton ◮ What is the ratio of minimal automata amongst accessible automata? Theorem [Bassino, David, Sportiello 12] For two letter alphabets, there exists a (computable) constant c ∈ ( 0 , 1 ) such that the ratio of minimal automata tends to c . For alphabets greater than two, the ratio tends to zero. p ◮ Main pattern to avoid ◮ There are ≈ n 2 choices for p and q ◮ The pattern appears for p and q with prob- ability ≈ n − k q

  43. – Computing ∼ – ◮ p ∼ ℓ q when L p and L q contain the same words of lengths at most ℓ

  44. – Computing ∼ – ◮ p ∼ ℓ q when L p and L q contain the same words of lengths at most ℓ ◮ p ∼ 0 q iff p and q are both final or both non-final ◮ A recursive formula: � p ∼ ℓ q p ∼ ℓ + 1 q ⇔ p · a ∼ ℓ q · a , for every letter a

  45. – Computing ∼ – ◮ p ∼ ℓ q when L p and L q contain the same words of lengths at most ℓ ◮ p ∼ 0 q iff p and q are both final or both non-final ◮ A recursive formula: � p ∼ ℓ q p ∼ ℓ + 1 q ⇔ p · a ∼ ℓ q · a , for every letter a ◮ Moore’s algorithm in O ( n 2 ) ◮ Hopcroft’s algorithm in O ( n log n )

  46. – Computing ∼ – ◮ p ∼ ℓ q when L p and L q contain the same words of lengths at most ℓ ◮ p ∼ 0 q iff p and q are both final or both non-final ◮ A recursive formula: � p ∼ ℓ q p ∼ ℓ + 1 q ⇔ p · a ∼ ℓ q · a , for every letter a ◮ Moore’s algorithm in O ( n 2 ) ← efficient in practice ◮ Hopcroft’s algorithm in O ( n log n )

  47. – Moore’s algorithm – Moore( A ) ◮ Moore’s algorithm computes Compute ∼ 0 1. the minimal automaton ◮ Its complexity is Θ( n ℓ ) , where While ∼ i − 1 � = ∼ i 2. ℓ is the number of iterations of i := i + 1 3. the “while” loop Compute ∼ i + 1 4. ◮ In the worst case, ℓ = n , and the complexity is quadratic Merge using ∼ i 5.

  48. – Average case analysis of Moore’s algorithm – Theorem [Bassino, David, N. 09] Let A be an accessible automaton with n states and no final state. For the uniform distribution on sets of final states, the average complexity of Moore’s algorithm is O ( n log n ) . ◮ The O is uniform, the result holds for any distribution on automata’s shapes. Theorem [David 10] For the uniform distribution on (accessible) automata with n states, the average complexity of Moore’s algorithm is O ( n log log n ) .

  49. – Proof on a very simple case – a , b a , b a , b a , b a , b a , b a , b a , b a , b a , b 0 1 2 3 4 5 6 7 8 9 ◮ 2 and 5 are separated at the beginning ◮ 0 and 5 are separated after 2 iterations ◮ 4 and 5 are separated after 4 iterations

  50. – Proof on a very simple case – a , b a , b a , b a , b a , b a , b a , b a , b a , b a , b 0 1 2 3 4 5 6 7 8 9 ◮ 2 and 5 are separated at the beginning ◮ 0 and 5 are separated after 2 iterations ◮ 4 and 5 are separated after 4 iterations ◮ The number of iterations of the algorithm is rougthly the length of the longest run of final or non-final states ◮ This is O ( log n ) in average

  51. – Random Generation of Minimal Automata – Random Minimal Automata Using rejections, one can sample minimal automata of size n with average complexity O ( n √ n ) . ◮ Checking minimality is done in O ( n log n )

  52. – Random Generation of Minimal Automata – Random Minimal Automata Using rejections, one can sample minimal automata of size n with average complexity O ( n √ n ) . ◮ Checking minimality is done in O ( n log n ) Approximate size For any ǫ > 0, one can sample minimal automata of size in [( 1 − ǫ ) n , ( 1 + ǫ ) n ] with average complexity O ( n log log n ) . ◮ Extraction of the accessible part ◮ Moore’s algorithm + David’s result for checking minimality

  53. Perspectives

  54. – Only one final state – ◮ In several “real life” applications automata only have a few final states ◮ Most results seen in this talk cannot be extended directly to automata with just one final state

  55. – Only one final state – ◮ In several “real life” applications automata only have a few final states ◮ Most results seen in this talk cannot be extended directly to automata with just one final state ◮ Experimentally the ratio of minimal automata still tends to a constant ◮ For Moore’s algorithm: uniform shape any shape O ( n log log n ) O ( n log n ) uniform final states O ( n 2 ) one final state ???

  56. – Non-Deterministic Automata – ◮ A word is recognized when there b a , b 4 3 exists a correct path b a ◮ Non-deterministic automata with n b states can be turned into 1 2 b deterministic automata with 2 n states a , b ◮ The uniform distribution is not interesting ◮ Some results on codeterministic automata ◮ Experimental results for other classical distributions on graphs

  57. – Distributions on Expressions – ◮ Regular expression of size n can be ∪ turned into non-deterministic automata of quadratic size • ε ◮ For the uniform distribution, the • ⋆ average size of the automaton is linear ◮ For a BST-like distribution, the average a b b size of the automaton is quadratic

  58. – Distributions on Expressions – ◮ Regular expression of size n can be ∪ turned into non-deterministic automata of quadratic size • ε ◮ For the uniform distribution, the • ⋆ average size of the automaton is linear ◮ For a BST-like distribution, the average a b b size of the automaton is quadratic ◮ The distributions are somehow degenerated ◮ Difficult to find a “good” distribution for expressions ◮ Similar problem for logical formulas that denote regular expressions

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend