Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Statements about state complexity and behaviour are misleading #1

Open
rwilson-release opened this issue Sep 29, 2022 · 1 comment
Open

Comments

@rwilson-release
Copy link

Great article, first. Found it on Hacker News. But I did notice a section that could be revised. It is the section titled A complex state machine means your system has complex behaviour:

Firstly, the statement is false because it makes a statement about all machines of a type but doesn't include any exceptions. For example, a heavily complex state machine could always result in the output "false" (or "true"). This behaviour is actually quite simple but the state machine to produce it could be incredibly complex for some reason. I suppose you could make an argument that the "internal" behaviour is complex, but even this is a stretch of the possible truths.

Secondly, the converse is false as well; a very simple three-state machine could produce incredibly complex behaviour that could appear completely random to outside observers. I would recommend reading on this topic, especially with a nod to Wolfram's computational reduction arguments. He has produced very simple state machines that produce incredibly detailed and complex behaviours.

I would encourage you to redesign this section to qualify or give specific examples of complex machines with complex behaviours versus simple machines with simple behaviours --- and then describe how the opposite is also possible.

@hlovdal
Copy link

hlovdal commented Jan 28, 2023

A different example of simple behaviour vs complex state: a machine learning algorithm for digit recognition. This could be 64 bit black/white image input and one number in range 0-9 as output. Behaviour does not get much simpler than that. But that does not exclude the ML algorithm from being very complex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants