>>I forgot automata theory. You really need to have a good grasp of
>>the whole state machine idea to solve many problems successfully.
>
>Can you give an example of this?

Most recent example for me was a web site
implemented as a set of non-identical processes
distributed across multiple machines. A monitor
ran on each machine, with one machine designated
"master". The monitor(s) needed to handle bringing
the system up and down in an orderly fashion,
and automatically doing a distributed "reboot" in
the event of a serious failure.

First cut of implementing the monitor logic
was just ad hoc code. This quickly became
unmanageable as the number of classes of
processes evolved; it was a whack-a-mole
game with each bug fix causing unintended
consequences. Second (and current to-date)
cut was to transform this mess into a state machine.
The state machine approach helps give me confidence
that I know what the monitors will do in each and
every possible situation; the state machine requires
me to detail every possible event and every possible
response. My dilettante reading of the literature on
distributed algorithms seemed to indicate that
most of them are implemented as state machines
to have any hope of getting them correct.

2nd place after automata techniques for me would
probably be hashing, in all its various forms and
purposes. Not much of an underlying theory there,
but having a visceral feel for a variety of hash algorithms
and their uses is something I seem to reach for on
a regular basis.

If I were going to devote time to learning something
in the area of mathematics independent of any
real-life need, I would probably pick graph theory.
A line between two nodes can represent a relationship
between two entities, so I suspect that having a good
understanding of a variety of graph proofs might come
in handy proving many things that, on the surface, do
not appear to have any relation to graph theory. Too
bad graph theory appears so deadly dull every time
I pick up the book :-).




- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED]         help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]

Reply via email to