-1

I am new to NDTM, but I do understand the concept of a turing machine. when it comes to NDTM I get a little confused, I m supposed to develop a NDTM for language {a,b,c} and

L = {w ∈ Σ*| Ǝv ∈ Σ*, Ǝn >= 2 with w = v (to the power of) n }

First thing that I want to know is how to read L, for example what is the meaning of Ǝ. I do understand that a NDTM gives twp possibilities of one outcome, like for example for a: we would have with a and without a if i am correct, Can someone help me fugure this out?

S. N
  • 3,456
  • 12
  • 42
  • 65
  • 1
    Is this really on-topic for SO? That statement is [set-builder notation](http://www.mathsisfun.com/sets/set-builder-notation.html) in mathematics. It basically says that L is the set of w's in Sigma* where there is also a v in Sigma* such that w = v^n, where n>=2. And to answer at least one of your questions, the backwards E basically reads "there exists" or "there is one". – Two-Bit Alchemist Mar 24 '14 at 19:39
  • @Two-BitAlchemist isnt it the same as w must have the length which is the multiple of 2? well I though here you can ask any sort of question regarding computer topics!! – S. N Mar 24 '14 at 19:42
  • @S.N StackOverflow is for specific programming-related questions only. – admdrew Mar 24 '14 at 19:44
  • No, it's not the same as that at all. If Sigma* was the set `{1, 2, 3, 4, 5, 6, 7, 8, 9}` then L would be `{1, 2, 3}` because it is basically asking you to give it every member of the set that has _a power of that member (squared or better)_ also in the set. It has nothing to do with even numbers. – Two-Bit Alchemist Mar 24 '14 at 19:46

1 Answers1

0

This should be marked as "Homework" I think.

Ǝ is "there exists"
Σ is "the set of symbols in the language" ({a, b,c}) in this case
is "element of"

Now that we have that, we can read this language. So L is the set of words w in {a, b, c}* such that there exists a word v and there exists a n >= 2 such that w is a repetition of v n times. E.g. ababab = (ab)^3 ∈ L.

Now you want to come up with a Turing machine, M, to represent this language, so you have to consider:

  • When do we reject a word (what is our rejection state, what is on the stack)
  • When do we accept a word (what is our accepting state, what is on the stack)
  • How do we guarantee that M terminates.

We can see that a is not in L because n >= 2 which implies that the length of v^n is at least 2 (0 in the case of the empty string though, which is an outlier). Similarly for b and c. With that consideration and the knowledge that n >= 2, figure out what words are not accepted (e.g. consider b, abc, cab, cca, etc.).

Ford
  • 2,559
  • 1
  • 22
  • 27