3 Replies - 933 Views - Last Post: 21 April 2015 - 05:24 PM

#1 eilonsh   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 21-April 15

undecidability

Posted 21 April 2015 - 12:07 PM

I have just learned the prove that the language ALLcfg is undecidable by computation histories and reduction from Atm.
I don't understand why we can't do the same thing to prove that Ecfg undecidable? (but we know that Ecfg decidable so
this is wrong but why?)
Is This A Good Question/Topic? 0
  • +

Replies To: undecidability

#2 modi123_1   User is offline

  • Suitor #2
  • member icon



Reputation: 16479
  • View blog
  • Posts: 65,313
  • Joined: 12-June 08

Re: undecidability

Posted 21 April 2015 - 12:09 PM

Care to elaborate, provide context, or retry the translation there for folk not sitting around your living room, bub?
Was This Post Helpful? 0
  • +
  • -

#3 Skydiver   User is offline

  • Code herder
  • member icon

Reputation: 7915
  • View blog
  • Posts: 26,425
  • Joined: 05-May 12

Re: undecidability

Posted 21 April 2015 - 05:12 PM

I think the OP is talking about ALLCFG, ATM, and ECFG in the context of Alan Turing's work.

Frankly most of this stuff has gone in one ear and out of the other ear for me: http://www.iith.ac.i...4510/allcfg.pdf
Was This Post Helpful? 0
  • +
  • -

#4 macosxnerd101   User is offline

  • Games, Graphs, and Auctions
  • member icon




Reputation: 12800
  • View blog
  • Posts: 45,992
  • Joined: 27-December 08

Re: undecidability

Posted 21 April 2015 - 05:24 PM

ECFG is the set of CFGs whose languages are empty. This is easy to check. We use a pebbling algorithm (similar to the Huffman tree algorithm) to build a derivation tree from the bottom up. The language L is empty iff we cannot reach S, the start symbol. So we have an algorithm to decide ECFG

ALLCFG is a bit trickier. Basically, we take an instance of the Halting language <M, w> and construct a string based on the sequence of states (separated by the # symbol) visited when M runs on w. The language then is Q(#(Q + \Gamma))^{*}, where Q is the set of states in the Turing Machine and Gamma is the tape alphabet. Since this language is regular, it is also context-free.

So what we prove is that the language of non-accepting computation histories is undecidable. Observe that computations that don't halt will fall into this category.

So the strings of computations from <M, w> pairs where M halts are recursively enumerable. Since the complement is undecidable, the language of accepting computation histories is undecidable. The result follows.

The reason a reduction works here is because there is choice in the matter, or condition, on which a string may be finite. The condition is the Turing Machine halting. So we can't check the computation history string if the TM never halts. In the ECFG language, we have an algorithm to decide this and there is no real choice in the matter. Either we can get to S or we can't. In other words, do we have some string in the language?
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1