Automaton recognizing ambiguously accepted words of another automatonSynchronizing sequence and Synchronizable DFAShow that the language of words with even sum of positions of a letter is regularConverting generalized NFAs to NFAsDeleting useless (dead) states from a finite automatonfinite automata that accepts integers divided by 3?The upper bound on a Nondeterministic Finite Automata's configurations numberFiguring out the language accepted by a DFA?How to transform Nondeterministic finite automaton (NFA) to regular expression equivalentMyhill-Nerode Theorem DFA MinimizationUnderstanding application of Arden's theorem to find regular expression
Help! My Character is too much for her story!
Is it appropriate to ask a former professor to order a book for me through an inter-library loan?
Can the Witch Sight warlock invocation see through the Mirror Image spell?
Movie: boy escapes the real world and goes to a fantasy world with big furry trolls
Do Paladin Auras of Differing Oaths Stack?
"If + would" conditional in present perfect tense
How do I increase the number of TTY consoles?
How can a demon take control of a human body during REM sleep?
Locked Away- What am I?
Is it possible to clone a polymorphic object without manually adding overridden clone method into each derived class in C++?
Can I negotiate a patent idea for a raise, under French law?
Do black holes violate the conservation of mass?
Does an unused member variable take up memory?
How to write a chaotic neutral protagonist and prevent my readers from thinking they are evil?
(Codewars) Linked Lists-Sorted Insert
How to install round brake pads
How should I solve this integral with changing parameters?
The (Easy) Road to Code
How do spaceships determine each other's mass in space?
Too soon for a plot twist?
Use Mercury as quenching liquid for swords?
Are these two graphs isomorphic? Why/Why not?
How can I portion out frozen cookie dough?
If nine coins are tossed, what is the probability that the number of heads is even?
Automaton recognizing ambiguously accepted words of another automaton
Synchronizing sequence and Synchronizable DFAShow that the language of words with even sum of positions of a letter is regularConverting generalized NFAs to NFAsDeleting useless (dead) states from a finite automatonfinite automata that accepts integers divided by 3?The upper bound on a Nondeterministic Finite Automata's configurations numberFiguring out the language accepted by a DFA?How to transform Nondeterministic finite automaton (NFA) to regular expression equivalentMyhill-Nerode Theorem DFA MinimizationUnderstanding application of Arden's theorem to find regular expression
$begingroup$
Let $A$ be a nondeterministic automaton. Let $X(A)$ the set of words for which there at least two accepting paths.
In one of the previous exam, for which no answers are available, it is required to prove that there exist a deterministic automaton whose language is $X(A)$. Furthermore, if the original automaton has $k$ states, then the new automaton should have $3^k$ states.
I have tried multiples approaches to no avail:
- Make an automata that keeps track of which path was taken, but the size of the automata grew infinitely because of cycles...
- An automaton for each state I also kept track of which state it came from, but it was just a scaled down version of previous attempt. Which didn't work if the path started to converge early.
- Tried an automaton where I encoded each state with the set of all the states from automaton $A$. And for each state I included whether I went through that state 0, 1 or more than 2 times.
automata regular-languages finite-automata
New contributor
$endgroup$
add a comment |
$begingroup$
Let $A$ be a nondeterministic automaton. Let $X(A)$ the set of words for which there at least two accepting paths.
In one of the previous exam, for which no answers are available, it is required to prove that there exist a deterministic automaton whose language is $X(A)$. Furthermore, if the original automaton has $k$ states, then the new automaton should have $3^k$ states.
I have tried multiples approaches to no avail:
- Make an automata that keeps track of which path was taken, but the size of the automata grew infinitely because of cycles...
- An automaton for each state I also kept track of which state it came from, but it was just a scaled down version of previous attempt. Which didn't work if the path started to converge early.
- Tried an automaton where I encoded each state with the set of all the states from automaton $A$. And for each state I included whether I went through that state 0, 1 or more than 2 times.
automata regular-languages finite-automata
New contributor
$endgroup$
add a comment |
$begingroup$
Let $A$ be a nondeterministic automaton. Let $X(A)$ the set of words for which there at least two accepting paths.
In one of the previous exam, for which no answers are available, it is required to prove that there exist a deterministic automaton whose language is $X(A)$. Furthermore, if the original automaton has $k$ states, then the new automaton should have $3^k$ states.
I have tried multiples approaches to no avail:
- Make an automata that keeps track of which path was taken, but the size of the automata grew infinitely because of cycles...
- An automaton for each state I also kept track of which state it came from, but it was just a scaled down version of previous attempt. Which didn't work if the path started to converge early.
- Tried an automaton where I encoded each state with the set of all the states from automaton $A$. And for each state I included whether I went through that state 0, 1 or more than 2 times.
automata regular-languages finite-automata
New contributor
$endgroup$
Let $A$ be a nondeterministic automaton. Let $X(A)$ the set of words for which there at least two accepting paths.
In one of the previous exam, for which no answers are available, it is required to prove that there exist a deterministic automaton whose language is $X(A)$. Furthermore, if the original automaton has $k$ states, then the new automaton should have $3^k$ states.
I have tried multiples approaches to no avail:
- Make an automata that keeps track of which path was taken, but the size of the automata grew infinitely because of cycles...
- An automaton for each state I also kept track of which state it came from, but it was just a scaled down version of previous attempt. Which didn't work if the path started to converge early.
- Tried an automaton where I encoded each state with the set of all the states from automaton $A$. And for each state I included whether I went through that state 0, 1 or more than 2 times.
automata regular-languages finite-automata
automata regular-languages finite-automata
New contributor
New contributor
edited 6 hours ago
Yuval Filmus
194k14183347
194k14183347
New contributor
asked 6 hours ago
truvakingtruvaking
284
284
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Construct an NFA which will simulate (nodeterministically) two runs of the original NFA on the input. The NFA also remembers one bit – whether the two runs have diverged so far or not. If the bit is off and the NFA chooses two different transitions, then you turn it on. The NFA accepts if both runs accept and the bit is on.
If the original NFA has $k$ states, then the new NFA will have $2k^2$ states. You can convert it to a DFA with $4^k^2$ states.
We can reduce the number of states in the corresponding DFA by performing the powerset construction directly. At each step, we will remember, for each step, whether (i) it is impossible to be at that state, (ii) it is possible to be at that state, but there is a unique such run, (iii) it is possible to be at the state, and there are at least two such runs. A state is accepting if there is an accepting states of type (iii), or at least two accepting states of type (ii). This construction uses only $3^k$ states, and so matches your hint.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "419"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
truvaking is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f105377%2fautomaton-recognizing-ambiguously-accepted-words-of-another-automaton%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Construct an NFA which will simulate (nodeterministically) two runs of the original NFA on the input. The NFA also remembers one bit – whether the two runs have diverged so far or not. If the bit is off and the NFA chooses two different transitions, then you turn it on. The NFA accepts if both runs accept and the bit is on.
If the original NFA has $k$ states, then the new NFA will have $2k^2$ states. You can convert it to a DFA with $4^k^2$ states.
We can reduce the number of states in the corresponding DFA by performing the powerset construction directly. At each step, we will remember, for each step, whether (i) it is impossible to be at that state, (ii) it is possible to be at that state, but there is a unique such run, (iii) it is possible to be at the state, and there are at least two such runs. A state is accepting if there is an accepting states of type (iii), or at least two accepting states of type (ii). This construction uses only $3^k$ states, and so matches your hint.
$endgroup$
add a comment |
$begingroup$
Construct an NFA which will simulate (nodeterministically) two runs of the original NFA on the input. The NFA also remembers one bit – whether the two runs have diverged so far or not. If the bit is off and the NFA chooses two different transitions, then you turn it on. The NFA accepts if both runs accept and the bit is on.
If the original NFA has $k$ states, then the new NFA will have $2k^2$ states. You can convert it to a DFA with $4^k^2$ states.
We can reduce the number of states in the corresponding DFA by performing the powerset construction directly. At each step, we will remember, for each step, whether (i) it is impossible to be at that state, (ii) it is possible to be at that state, but there is a unique such run, (iii) it is possible to be at the state, and there are at least two such runs. A state is accepting if there is an accepting states of type (iii), or at least two accepting states of type (ii). This construction uses only $3^k$ states, and so matches your hint.
$endgroup$
add a comment |
$begingroup$
Construct an NFA which will simulate (nodeterministically) two runs of the original NFA on the input. The NFA also remembers one bit – whether the two runs have diverged so far or not. If the bit is off and the NFA chooses two different transitions, then you turn it on. The NFA accepts if both runs accept and the bit is on.
If the original NFA has $k$ states, then the new NFA will have $2k^2$ states. You can convert it to a DFA with $4^k^2$ states.
We can reduce the number of states in the corresponding DFA by performing the powerset construction directly. At each step, we will remember, for each step, whether (i) it is impossible to be at that state, (ii) it is possible to be at that state, but there is a unique such run, (iii) it is possible to be at the state, and there are at least two such runs. A state is accepting if there is an accepting states of type (iii), or at least two accepting states of type (ii). This construction uses only $3^k$ states, and so matches your hint.
$endgroup$
Construct an NFA which will simulate (nodeterministically) two runs of the original NFA on the input. The NFA also remembers one bit – whether the two runs have diverged so far or not. If the bit is off and the NFA chooses two different transitions, then you turn it on. The NFA accepts if both runs accept and the bit is on.
If the original NFA has $k$ states, then the new NFA will have $2k^2$ states. You can convert it to a DFA with $4^k^2$ states.
We can reduce the number of states in the corresponding DFA by performing the powerset construction directly. At each step, we will remember, for each step, whether (i) it is impossible to be at that state, (ii) it is possible to be at that state, but there is a unique such run, (iii) it is possible to be at the state, and there are at least two such runs. A state is accepting if there is an accepting states of type (iii), or at least two accepting states of type (ii). This construction uses only $3^k$ states, and so matches your hint.
answered 6 hours ago
Yuval FilmusYuval Filmus
194k14183347
194k14183347
add a comment |
add a comment |
truvaking is a new contributor. Be nice, and check out our Code of Conduct.
truvaking is a new contributor. Be nice, and check out our Code of Conduct.
truvaking is a new contributor. Be nice, and check out our Code of Conduct.
truvaking is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Computer Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f105377%2fautomaton-recognizing-ambiguously-accepted-words-of-another-automaton%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown