.... or are there such things as Infinite State Machines or IndeterminateNumberOfStates State Machines?
Are all State Machines Finite?
No.
Something like an Infinite State Machine sounds like a learning computer. It's always changing or learning therefore it creates new states and never actually reaches an end.
It's both Fascinating and scary.
JimboZA:
.... or are there such things as Infinite State Machines or IndeterminateNumberOfStates State Machines?
apparently the number of beers in the fridge isn't finite...
BulldogLowell:
JimboZA:
.... or are there such things as Infinite State Machines or IndeterminateNumberOfStates State Machines?apparently the number of beers in the fridge isn't finite...
Mine is.... it's been zero for 3269 days, not that I'm counting.
JimboZA:
BulldogLowell:
apparently the number of beers in the fridge isn't finite...Mine is.... it's been zero for 3269 days, not that I'm counting.
[quote author=Col. Nathan R. Jessep, USMC]
Don't I feel like the fking ahole? [/quote]
It has been reasonably argued that the Universe as we know it is a state machine. It has also been argued that the Universe is infinite. If the Universe is a state machine and the Universe is infinite than the answer to the question has to be "no".
In other words, the question is philosophical rather than computational.
Infinite State Machines
A Turing machine is such a beast. But it is also hypothetical.
IndeterminateNumberOfStates State Machines
Before I die I must use that as a class name.
Maybe I should ask a mod to move it from Programming Questions then....
three thoughts:
infinite state machines are not possible in practice on a physical computer as datatypes and/or physical memory limit the number of representable states. (and events/actions)
infinite state machines are (often/always) a design flaw. They come up e.g. when a database system gets a state for every customerID. Solution is to use parametrized states.
The closest thing related to infinite state machines might be Fuzzy Logic.
There states become chances (float) instead of discrete (integer)
All of these answers touch on things that have been best explored by the following author in several works:
He, and a number of others - have explored what is termed the "Philosophy of Mind" and how it relates to the "Philosophy of Computation" - the two are more closely related than you may think. At the same time, there are certain conundrums that keep those who think about these things up at night, so to speak.
Regarding the idea of infinite vs finite state machines - the concept sounds closely related to the halting problem.
Interestingly, the wikipedia article on finite state machines:
...references this article for "infinite state machines":
...though that is only a theoretical model currently.
JimboZA:
.... or are there such things as Infinite State Machines?
Only if you have an infinite computer that will cost an infinite amount of money. I'm afraid that my pockets aren't quite that deep. =(
or IndeterminateNumberOfStates State Machines?
That is currently undetermined.
So I've been viewing this MOOC Coursera
(trying to, anyway. I'm finding it pretty tough going.)
I just got to the part of "Pushdown Automata", which I think qualify as state machines that are not finite.
These have as one of the inputs to the "next state" calculation the top value of a stack, and one of the actions that can occur is that you put new values on the top of stack (push, pop, replace...) The example used is recognizing a string of the form 0n1n - any sequence of zeros followed by the same number of ones. Each time it reads a zero, it pushes a symbol on the stack, and when it starts seeing ones, it pops them off; thus making sure the numbers are equal.
It handles strings of infinite size, and uses up to infinite internal storage for the stack, so it's not "finite." But other than that, it works pretty much like any other state machine.
JimboZA:
.... or are there such things as Infinite State Machines or IndeterminateNumberOfStates State Machines?
I suppose you could have an infinite state machine if you had self modifying code but you can't do that on an Arduino.
HazardsMind:
Something like an Infinite State Machine sounds like a learning computer. It's always changing or learning therefore it creates new states and never actually reaches an end.It's both Fascinating and scary.
Except for hardware limits this is possible with Forth79 and I guess since if not before.
One thing I have done with state code is to run different sections based on set bits of the state rather than the value.
So perhaps if state always increased by 1 and one section ran on if state is a prime then the machine would list primes?