0

Some people believe the human mind is a finite state machine, making references to the Bekenstein bound. I've read that Turing himself imagined the human as FSM with unbounded paper to construct the turing machine.

However, FSMs cannot recognize this simple language: {0^n 1^n| n ≥ 0}. It's obvious that a human could easily recognize this language, so isn't it the case that humans are not FSMs?

-Edit-

It's true that I cannot simply count the number of 0's or 1's because that requires unbounded memory. However, if somebody presents to me this input, I can easily skip to the middle and begin counting pairs of 0/1s.

JobHunter69
  • 346
  • 2
  • 12

4 Answers4

2

Recognizing a language means recognizing all cases correctly, not just the few specific cases you have in mind when you say it's obvious that a human can recognize the language.

The reason a finite state machine can't recognize that language is that it has to remember how many 0s it saw so that it can compare that to the number of 1s. With only finitely many states it can only remember finitely many different counts. That doesn't mean it can't remember a very large number of different counts—more than the largest number you've ever counted to.

The measured value of the cosmological constant plus the Bekenstein bound together suggest that the universe can be in very roughly $2^{10^{120}}$ different states. To show that your mind isn't subject to that bound, you'd have to count past $2^{10^{120}}$ without losing count. No one has lived long enough to attempt that, so there's no evidence that it's possible to succeed.

benrg
  • 2,511
  • 6
  • 13
1

I think whether you believe that a human can recognise a non-regular language like $L = \{0^n1^n : n \geq 0\}$ depends somewhat on your philosophical convictions.

Indeed, it is easy to design a general algorithm to recognise $L$. But if you implement this algorithm on a real machine, you will find that you can only recognise a finite subset of $L$, at some point the memory to count $0$s and $1$s will run out. This process might not feel to you like designing a FSM, but if you list all states of your computer (i.e. all configurations of your RAM) and how these configurations change depending on input from your mouse, a hard drive etc., you will find that you have drawn a FSM.

The Bekenstein bound, as I understand it, seems to imply that the memory of all real machines must be finite. So all real machines can be viewed as a FSM in the sense above.

Now, if you believe that the human mind isn't a part of physical reality, like a some religious communities do, you might not think that these bounds also apply to the human mind. If you believe that the human mind is just a function of the brain, then the brain probably only has access to a finite memory and so could be described as a FSM.

Knogger
  • 2,049
  • 3
  • 15
0

Here, $L=\{0^n1^n\mid n\ge 0\}$ is not a regular language (it is a context-free one). Thus, $L$ cannot be recognized by a DFA (or NFA). But a Turing machine (TM), which is a more powerful FSM than DFAs or NFAs, can easily recognize this. Even a deterministic pushdown automaton (DPDA) can recognize $L$. DPDAs are less powerful than TMs, but of course they are more powerful than DFAs (or NFAs).

codeR
  • 1,983
  • 7
  • 17
0

You say you jump to the middle of the input. How exactly do you propose to do that with finite memory? You’ll have to remember the first n 0s, not just the number n.

gnasher729
  • 32,238
  • 36
  • 56