FSM that only accepts strings w/ equal number of 1's and 0's

  • Thread starter Thread starter goraemon
  • Start date Start date
  • Tags Tags
    Strings
Click For Summary
A finite state machine (FSM) cannot accept strings with an equal number of 0's and 1's due to its lack of memory or counters, which are necessary for tracking counts. Although constructing an FSM for specific values of n, such as 0^3 1^3, is possible, it cannot generalize to arbitrary n. The discussion emphasizes that while the concept of counting is essential, FSMs rely on state transitions rather than memory to validate inputs. Ultimately, the construction of an FSM that accepts strings of the form 0^n 1^n is impossible for arbitrary n. The conversation highlights the limitations of FSMs in handling such patterns.
goraemon
Messages
65
Reaction score
4
Thread moved from the technical forums, so no HH Template is shown.
Question: Suppose you have a finite state machine that accepts only strings with an equal number of zeros and ones. Show that you can then construct a finite state machine that accepts only strings of the form 0^n 1^n, i.e., an arbitrary finite number of zeros followed by the same number of ones.

My attempt at a response:

A Finite State Machine that accepts strings with an equal number of 0’s and 1’s (e.g. n zeros and n one's, where n is some arbitrary finite number), must have a counter that keeps track of the total number of 0's and 1's. This is impossible, since by definition a FSM has no counter or memory. But suppose this were possible. Then it’d be possible to construct another FSM that keeps track of the count of consecutive 0's in the prefix of a given string, and ensure that number equals the count of consecutive 1's in the suffix of that string.

----------------------------------------------
I feel like there is more to the answer than this, but I don't really know what else can be said. I know that no FSM can be constructed to accept only strings in the format 0^n 1^n where n could be any arbitrary nonnegative integer, but that it is possible to do for any fixed, specific value of n. For example, it's possible to build FSM to accept only strings that contain three 0's, followed by three 1's. But I don't know whether this detail is relevant at all. Thanks for any help.
 
Physics news on Phys.org
goraemon said:
This is impossible, since by definition a FSM has no counter or memory.
You do not need a counter or memory (besides the "memory" of the current state) to do this. But you don't have to care about this part: you can assume that such a machine exists here.
goraemon said:
Then it’d be possible to construct another FSM that keeps track of the count of consecutive 0's in the prefix of a given string, and ensure that number equals the count of consecutive 1's in the suffix of that string.
You do not have a counter. And you do not need one. You need some other way to validate the input.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
890
  • · Replies 75 ·
3
Replies
75
Views
7K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 24 ·
Replies
24
Views
6K
  • · Replies 9 ·
Replies
9
Views
1K