Is there a way to show that for all finite sets $S$ of context free grammars, there exists a Turing Machine $M$ such that for all grammars $G_1, G_2 \in S$, we have that $M(G1,G2)$ terminates and answer yes if and only if $L(G_1)=L(G_2)$? Is that even true?
I know that this problem is in general undecidable, but I also know that a finite set is in general decidable. I just can't figure out how to determine the answer for this problem.
Asked By : user222
Answered By : Patrick87
A problem is decidable if there is a TM which decides instances of the problem.
Given two arbitrary CFGs $G_1$ and $G_2$, we know this for certain: either $L(G_1) = L(G_2)$, or $L(G_1) \neq L(G_2)$. Consider the first case: a TM that accepts on the input $(G_1, G_2)$ correctly decides this problem. Consider the second case: a TM that rejects on the input $(G_1, G_2)$ would be correct in that case.
Now, consider a finite set of grammars $\{G_1, G_2, ..., G_n\}$. For any two grammars $G_i$ and $G_j$ in this set, we know that either $L(G_i) = L(G_j)$ or $L(G_i) \neq L(G_j)$.
Consider the following TMs:
TM #1:
if input is (G_1, G_1) then accept if input is (G_1, G_2) then accept ... if input is (G_n, G_n) then accept TM #2:
if input is (G_1, G_1) then accept if input is (G_1, G_2) then accept ... if input is (G_n, G_n) then reject ...
TM #N
if input is (G_1, G_1) then reject if input is (G_1, G_2) then reject ... if input is (G_n, G_n) then reject Each TM can either accept or reject for each of the $n^2$ (ordered) inputs; so there are $N = 2^{n^2}$ different TMs (as many as binary strings of length $n^2$).
One of these TMs is guaranteed to correctly decide your problem. I can't tell you which one, but one of these gives all the correct answers. Since there is a TM for your problem, it's decidable.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/21537
0 comments:
Post a Comment
Let us know your responses and feedback