Peter Černo. Suppose we have a sample computation for (delta) clearing restarting automata. ...

14
Incorporating Delta Rules Peter Černo

Transcript of Peter Černo. Suppose we have a sample computation for (delta) clearing restarting automata. ...

Page 1: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Incorporating Delta Rules

Peter Černo

Page 2: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

About

Suppose we have a sample computation for (delta) clearing restarting automata.

Suppose that the inferred automaton accepts some wrong words.

There are two ways how to restrict the resulting inferred language: We can increase k – the length of contexts. We can change the sample computation

by incorporating some delta rules.

Page 3: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Example 1

Consider the following sample computation:¢ abababababababab $ ⊢M ¢ abababababababb $ ⊢M¢ abababababbabb $ ⊢M ¢ abababbabbabb $ ⊢M¢ abbabbabbabb $ ⊢M ¢ abbabbabbab $ ⊢M¢ abbabbabab $ ⊢M ¢ abbababab $ ⊢M¢ abababab $ ⊢M ¢ abababb $ ⊢M¢ abbabb $ ⊢M ¢ abbab $ ⊢M¢ abab $ ⊢M ¢ abb $ ⊢M ¢ ab $ ⊢M ¢ λ $ accept .

We can collect 15 reductions.

Page 4: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Example 1

For k = 4 we get the following instructions: ({¢ab, abab}, a, {b$, babb}), ({¢a, abba}, b, {b$, bab$, baba}), (¢, ab, $).

For the resulting 4-cl-RA-automaton M the following holds:L(M) ∩ {(ab)n | n>0} = {(ab)2m | m≥0}. However, this does not work for

smaller k.

Page 5: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Example 1

For k = 3 we get the following instructions: ({¢ab, bab}, a, {b$, bab}), ({¢a, bba}, b, {b$, bab}), (¢, ab, $).

Now the resulting 3-cl-RA-automaton M accepts the wrong word ababab : ababab ⊢M abbab ⊢M abab ⊢M abb ⊢M ab ⊢M λ.

We blame the instruction (¢ab, a, bab) which caused the reduction: ababab ⊢M abbab.

Page 6: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Idea

Why? The instruction reduced the wrong word ababab to the correct word abbab. abbab is ok – it is in the sample

computation. Idea: Let us replace the instruction:

({¢ab, bab}, a, {b$, bab})by the delta instruction: ({¢ab, bab}, a → Δ, {b$, bab}).

How does the sample computation change?

Page 7: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Idea

The modified sample computation is now:¢ abababababababab $ ⊢M ¢ abababababababΔb $ ⊢M¢ abababababΔbabΔb $ ⊢M ¢ abababΔbabΔbabΔb $ ⊢M¢ abΔbabΔbabΔbabΔb $ ⊢M ¢ abΔbabΔbabΔbab $ ⊢M¢ abΔbabΔbabab $ ⊢M ¢ abΔbababab $ ⊢M¢ abababab $ ⊢M ¢ abababΔb $ ⊢M¢ abΔbabΔb $ ⊢M ¢ abΔbab $ ⊢M¢ abab $ ⊢M ¢ abΔb $ ⊢M ¢ ab $ ⊢M ¢ λ $ accept .

Unfortunately, it does not help us if k = 3.

Page 8: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Idea

Consider the following sample reduction: abababΔb ⊢M abΔbabΔb

As you can see, this reduction also works with the word ababab : ababab ⊢M abΔbabbecause the length of contexts is k = 3.

Is there any other way how to modify the instruction ({¢ab, bab}, a, {b$, bab}) ?

Yes, it is.

Page 9: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Revised Idea

It is not enough to replace a single letter a : ({¢ab, bab}, a → Δ, {b$, bab}).

We have two simple choices for two letters: ({¢ab, bab}, ab → Δ, {$, ab}), ({¢a, ba}, ba → Δ, {b$, bab}).

We move one letter from the context to the rule and thus extend the context horizon.

In the following we show how does the sample computation change in both cases.

Page 10: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Case 1

If we use ({¢ab, bab}, ab → Δ, {$, ab}) we get the following new sample computation:¢ abababababababab $ ⊢M ¢ abababababababΔ $ ⊢M¢ abababababΔabΔ $ ⊢M ¢ abababΔabΔabΔ $ ⊢M ¢ abΔabΔabΔabΔ $ ⊢M ¢ abΔabΔabΔab $ ⊢M ¢ abΔabΔabab $ ⊢M ¢ abΔababab $ ⊢M ¢ abababab $ ⊢M ¢ abababΔ $ ⊢M ¢ abΔabΔ $ ⊢M ¢ abΔab $ ⊢M ¢ abab $ ⊢M ¢ abΔ $ ⊢M ¢ ab $ ⊢M ¢ λ $ accept .

Page 11: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Case 1

For k = 3 we get the following instructions: ({¢ab, Δab}, Δ, {$, ab$, aba}), ({¢ab, bab}, ab → Δ, {$, abΔ}), (¢, ab, $).

For the resulting 3-cl-RA-automaton M the following holds:L(M) = {(ab)2m | m≥0} ∪ {λ} .Note that the symbol Δ codes the

letter b from the original sample computation.

Page 12: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Case 2

If we use ({¢a, ba}, ba → Δ, {b$, bab}) we get the following new sample computation:¢ abababababababab $ ⊢M ¢ ababababababaΔb $ ⊢M ¢ ababababaΔbaΔb $ ⊢M ¢ ababaΔbaΔbaΔb $ ⊢M ¢ aΔbaΔbaΔbaΔb $ ⊢M ¢ aΔbaΔbaΔbab $ ⊢M ¢ aΔbaΔbabab $ ⊢M ¢ aΔbababab $ ⊢M ¢ abababab $ ⊢M ¢ ababaΔb $ ⊢M ¢ aΔbaΔb $ ⊢M ¢ aΔbab $ ⊢M ¢ abab $ ⊢M¢ aΔb $ ⊢M ¢ ab $ ⊢M ¢ λ $ accept .

Page 13: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Case 2

For k = 3 we get the following instructions: ({¢a, Δba}, Δ, {b$, bab}), ({¢a, aba}, ba → Δ, {b$, baΔ}), (¢, ab, $).

For the resulting 3-cl-RA-automaton M the same formula holds:L(M) = {(ab)2m | m≥0} ∪ {λ} .Again the symbol Δ codes the

letter b from the original sample computation.

Page 14: Peter Černo.  Suppose we have a sample computation for (delta) clearing restarting automata.  Suppose that the inferred automaton accepts some wrong.

Some Remarks

Note that the for k < 3 the previous algorithm does not work.

It is also not obvious how to replace more letters or even more instructions without disturbing the sample computation.

The question is whether we can do these replacements in some automated way?

Is this idea applicable to other examples?