GATE CSE
First time here? Checkout the FAQ!
x
+2 votes
65 views

Some one please explain these two theorems,I am struggling a lot here.

asked in Theory of Computation by Loyal (3.4k points)   | 65 views

1 Answer

0 votes
Here these theorems are based on pigeon hole principle.

1. Here it says that strings accepted by automata is finite, than atmost n states can be there. This means at most one character can be fit in a single state.

2. Now consider what if this is accepting a string of more than n characters than according to Pigeon hole principle, there should be at least one state on which input is looping. So this may accept infinite length of strings when looping state is accepting as well.

In order to check this, we have two options one is to provide all strings till infinite length and check. Obviously not feasible.

Another approach is to provide all strings of length between n and 2n. So if anyone string is accepted we will know that looping state is accepting as well so this language will accept all those strings on which it will loop on that particular state. So it will be a set of infinite strings.
answered by Active (1.3k points)  
But string if length N itself will suffice,why there is a limit of <2N?

Why it is not 3N ?
For more than n, any multiple of n is correct. Since for checking with 2n we need minimal work, so we take 2n otherwise u can go for higher multiples as well. Reason for taking multiples of n is we need we find which state is exactly causing loop so we need to go through all at least for one more time after initial input scanning.

I mean to say why there is a check on upper side.

Why is not just not >=N only?

If it is accepting more than n ,it means that it is infinite,and we should not consider more than that.

I also asked simlar question based on this here ,http://gateoverflow.in/104084/toc-finite-automata#a104154

Please clear my confussion

Can you look into http://www.cse.msu.edu/~torng/360Book/RegLang/Decision/

I says

  • When we pump it once, we increase the length of the string by at most n so we cannot exceed 2n-1. The problem is we might not exceed n-1 yet.
  • The key is we can keep pumping it and at some point, its length must exceed n-1, and in the step it does, it cannot jump past 2n-1 since the size of the loop is at most n.

Can you explain it?

This is simular to what you mentioned above

Reason for taking multiples of n is we need we find which state is exactly causing loop so we need to go through all at least for one more time after initial input scanning.

But I am not able to get this point.Please clarify



Top Users May 2017
  1. akash.dinkar12

    3154 Points

  2. pawan kumarln

    1636 Points

  3. sh!va

    1600 Points

  4. Arjun

    1360 Points

  5. Bikram

    1322 Points

  6. Devshree Dubey

    1262 Points

  7. Debashish Deka

    1132 Points

  8. Angkit

    1044 Points

  9. LeenSharma

    900 Points

  10. srestha

    710 Points

Monthly Topper: Rs. 500 gift card
Top Users 2017 May 22 - 28
  1. Bikram

    408 Points

  2. pawan kumarln

    262 Points

  3. Ahwan

    236 Points

  4. Arnab Bhadra

    234 Points

  5. LeenSharma

    138 Points


22,772 questions
29,098 answers
65,132 comments
27,639 users