Skip to search.
theory-edge · cutting edge in algorithmics/mathematics

Group Information

  • Members: 1238
  • Category: Algorithms
  • Founded: May 19, 1998
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

  Messages Help
Advanced
Re: On State Machine Decomposition   Message List  
Reply Message #97 of 14634 |
Vladimir Z. Nuri wrote:
>
> Nico: thanks very much for the explanation. your information
> about why you are pursuing the FSM decomposition approach
> makes a lot of sense to me now (of the part I understand),
> because I've debugged a lot
> of hardware and software in my life, and a system that
> minimizes debugging complexity is very useful.

It's not only testing that benefits from FSM structure, but
especially the "coupling" between components is minimized by
cascade decomposition. In fact, this relation between "preserved
state partitions" and machine structure was analysed and put
forward in the book of Hartmanis/Stearns: "Algebraic struture
of Sequential Machines" (McGraw-Hill (?), Englewood Cliffs 1970?)
Unfortumately it is out of print. It stays at the state-level
though, and when I in the early seventies was looking for a way
to order FSM's I read the book in our Lab library, and got the
shock of my life (I remember precisely the moment & enviroment)
when i the last chapter I saw a remark, going like: "Oh, and then
of course there is the semigroup of an FSM", but they did not do
anything with it! The "sequential closure" (=semigroup) does
away with the two separate sets: input-alphabet A, and internal
state set Q, and _integrates_ them (as it were) into _one_ set S,
that is closed undet concatenation of input strings in A*.

Very strange concept that is: the input(strings) *and* states are
_both_ in semigroup S(), which is a closed collection of functions
in A*: S --> S, while somehow Q *also* has merged into S as stateset!
How can this be, that each element of S is _both_ an argument of a
function (as state) and also function itself (as transforming S --> S).

The answers is; sequencing bring asymmetry into the picture, and
two functions a: S-->S and b: S-->S can be composed into ab: S-->S
which is defined by its transitions: q(ab) = (qa)b for all q in S.

Notice that seimgroup S() of all distinct Q-transforms in A* is itself,
re-interpreting its composition table S x S --> S, *also* a state
machine M(S,S) where each element of inputset S maps stateset S into
itself, so M(S,S): S x S --> S, which (by isomorphism definition)
has the same "structure as M(Q,A): Q x A --> Q.

Remember the definition of equivalent machines?
They have isomorphic closures (semigroups).

It does take a while (it took me years) to see this simple truth,
that (non-commutative) sequencing is in fact modelled by our concept
of "time" -- and in semigroups is represented by going left-to-right
in seq_composition q(ab) = (qa)b for all q in Q and a,b in A*.

Actually, Clifford/Preston (1961) "Algebraic Theory of Semigroups"
(two volumes!), my "bible", introduces the left-to-right notation
for function composition. This is *much* more instructive then the
usual f(g(x)) notation, which now becomes: x(fg) = (xf)g, so reading
from left to right: take argument x, then apply function f, and on
the result xf apply function g, to get result (xf)g in the codomain,
which is the same result as applying composed function 'fg' to
argument x, for all x in the domian.

Now for closed function compostion, without restriction
("context free"): domain = codomain (is stateset Q, or closure S).
You see ? ... It all becomes *so* extremely trivial, that you
just need quite a while to get used to such simplicity! You must
namely unlearn all those complex things & nasty notations that you
were taught at early age. My advantage was actually that I'm not a
mathematician, and had very little 'luggage' to cast off;-). Just
inventing most of it myself, and later discovering that in some rare
books (Hartmanis/Stearns, Clifford/Preston) those concepts were
known, but not quite used & interpreted -- if you know what I mean.

> looking over your ideas makes me begin to wonder if there is
> a sort of naturual "decomposition" of Turing machines similar
> to your FSM approach. I wonder if your FSM decompositions
> are minimizing complexity in some kind of way that can
> be formalized. in other words, you take a large FSM, break
> it into smaller units, and in some sense you seem to be
> minimizing some kind of complexity of the larger FSM. this
> very much reminds me of structured programming with TMs,
> such that larger programs are broken into subroutines etc.

Precisely.

> nobody has ever found a way to "decompose" TMs into
> subcomponents starting from the TM itself, to my knowledge.
> it is easy to build up a TM from many subroutines, and the
> various researchers out there do this daily in the field
> of course, it is one of the most basic techniques. but I
> wonder if some kind of "decomposition" of TMs exists. if
> so, it would probably have very important theoretical
> properties.

In fact, for me "synthesis" should be the same as "analysis"
in the sense of "factoring the specification". The only problem
is that most specs in practice are *not* complete: not every
state has under *every* input a specified next-state (& output),
because in many states only a small subset of inputs is relevant
("in that context"). So most FSM specs are very "sparse", and
the art of design (synthesis) is to choose the 'best' filling
to get a fully specified machine (fill in the dont-cares), and
only *then* decompose = factorize. Uptill now I assumed a full
spec. Obtaining that from a sparse spec is the main problem,
really. That is rather the problem of "embedding" a sparse spec
FSM into a full-spec FSM1. And here the closure idea (semigroup)
is really indispensible & crucial, is my gut feeling.

> there are a lot of theorems that make studying
> TMs very difficult, that say for example there exists no
> "best" TM for a given problem because you can always
> optimize further. but this doesn't seem right to me.
> I suspect there is some property of TMs waiting to be
> discovered that is analogous to complexity that can
> in fact be minimized somehow, in a way that corresponds
> to intuitive notions about program complexity. as I
> program, I do believe there are "best" solutions for
> given problems, but the theory does not currently seem
> to support that notion.
>
> I am well acquainted with FSMs so most of your post
> makes a lot of sense to me. the semigroup stuff is starting
> to make sense with your last post, which is very helpful.
> I'll also check out the other paper you listed.
>
> I think you're definitely onto something very big, by
> relating semigroup properties in mathematics to computational
> structures. list members, take note! potentially fruitful
> mathematical research area!!

Thanks Vladimir, I feel a bit less lonely now (after 25 years
of plugging away) - trying to make people understand the essence
of associative Generators (=FSM) & Closures (=Sgrp):
<==> function compostion
<==> stringing boxes with input/state/output arrows together
<==> which we all do, in some sense, don't we ?-)

I admit, though, that this takes quite some "thinking-frame"
re-adjustment, and a fearless approach to these huge closures
(max |S| = q^q nota bene!). But the rewards, in terms of
concepts & understanding, are *also* huge, even more HUGE
(my gut feeling).

> this has been something I've been wondering
> about for a long time. I've bought a lot of group theory
> books but never could figure out a correspondence, although
> I was sure one probably existed!! you come along at a nice
> time to reveal it. also the idea that the 5 basic semigroups
> correspond to intuitive notions about memory and other
> basic components seems very deep to me.

They in fact are classified as:

1-generator. There are two types:
==========
C2: Periodic counter <--> ADD mod 2 (or Cn: mod n, in general)

U2: Monotone counter <--> MPY mod p^n contains max chain n (Un)
('U' = uni-versal = one-way: "convergence", with a final state)

2-generators
============ Necessarily idempotent aa=a, bb=b, otherwise a*
and/or b* would be a proper subclosure!) There are two types:

H2: Commuting idt's aa=a, bb=b, ab=ba --> necessarily orderable
(an ordering relation is transitive, anti-symmtric, reflexive;
and notation a >= b means: ab=ba=b : a is unity for b).
This is the Boolean AND cq OR (isomorphic!), or MPY mod 2.
'H' comes from "hierarchy", that is: ordering.

Non-commuting, of which there are (again) two types:
>>>>>>>.<<<<<<
L2: Left-copy sgrp: ab=a for all a,b in S() --> branch
(the first input determines the next-state, which never
changes anymore... very strange "machine", but *that*
is what you expect from a dicision, dont you?)

R2: Right-copy sgrp: ab=b for all a,b in S() --> set/reset FF
(the last input determines the next state, every time;
the short-term memory of a binary FlipFlop)

All these 5 types of sequential behaviour can of course be
generalized from 2 states to n states! In a (coupled) network
they are conjectured to model *every* FSM (sequential behaviour):
5 basic types of seq.machines: {Cn, Un, Hn, Ln, Rn}
Dimension: 1 1 2 2 2 (# generators)
Has ideal: n y y n n (viz: "zero")
Commuting: y y y n n ( ab = ba )
Idempotent: n n y y y ( aa = a )

> I'll be looking over your papers, thanks again for the posts.

You're welcome, the pleasure is all mine!
--
Ciao, Nico Benschop. | AHA: one is Always Halfway Anyway
http://www.iae.nl/users/benschop | xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx

____________________________________________________________________

List Site: http://www.findmail.com/list/theory-edge/
To unsubscribe, send to theory-edge-unsubscribe@...

FREE group e-mail lists at http://www.findmail.com



Sun Aug 30, 1998 10:53 am

benschop@...
Send Email Send Email

Message #97 of 14634 |
Expand Messages Author Sort by Date

... It's not only testing that benefits from FSM structure, but especially the "coupling" between components is minimized by cascade decomposition. In fact,...
Nico Benschop
benschop@... Send Email
Aug 30, 1998
9:53 am

Nico, I understand fairly well now what you are doing with the FSMs. the group theory is still a little out of my reach, but the composition of FSMs is...
Vladimir Z. Nuri
vznuri@... Send Email
Aug 31, 1998
4:40 am

... I copied your text on gsm_supersets and will get back to you. Meanwhile: I always forget what's Moore and what's Mealy, so I use a "donkey_bridge": ---...
Nico Benschop
benschop@... Send Email
Aug 31, 1998
6:06 pm

BTW, caveat: the gsm_superset program written in Perl mentioned in my post is not debugged very well. the general idea and structure of the code is correct, I...
Vladimir Z. Nuri
vznuri@... Send Email
Aug 31, 1998
9:19 pm

... Dr. Anil Joshi CA&SI 2004, S. Wright Steet Urbana, IL 61801, USA Phone:217 244 7875 Fax: 217 244 7874 email:joshi@... ... ...
Anil Joshi
joshi@... Send Email
Aug 31, 1998
11:49 pm

<< the paper, again, shows how to convert a TM to a Mealy machine composition sequence. the general idea is that each TM iteration transforms the ID ...
SuperRyan@... Send Email Sep 1, 1998
6:31 am

Ryan, you are totally correct. a mealy machine has the same power as a finite state machine, FSM. I wasn't working with Mealy machines but GSMs. sorry, I...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 1, 1998
9:00 pm

... I have read the section on GSMs in Hopcroft and Ullman... I think that GSMs are still equivalent to finite automata, simply because they have no ...
SuperRyan@... Send Email Sep 2, 1998
8:44 pm

ok Ryan, you are a bit persistent, which I always admire. <g> an intelligent challenge. you read hopcroft & ullman? halleluja. can't ask much more than that....
Vladimir Z. Nuri
vznuri@... Send Email
Sep 3, 1998
7:25 am

BTW ryan, I didn't notice in your post-- you interpreted the way of doing a computation using multiple GSMs, GSM1,GSM2, such that we have a computation like...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 3, 1998
7:28 am

<< you read hopcroft & ullman? halleluja. can't ask much more than that. unless you haven't read any of the url's I've given you. >> I've read pieces of the...
SuperRyan@... Send Email Sep 3, 1998
6:13 pm

uh Ryan, nothing personal, but "a little knowledge is a dangerous thing". A mealy machine is not a FSM. mealy and moore machines are FSMs with the notion of an...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 3, 1998
8:55 pm

Hi. I'm new to this mailing list, but the current thread (i.e. mealy machines, Finite state automata, semigroups, Turing machines) is my sort of area of...
peter hines
max003@... Send Email
Sep 4, 1998
10:47 am

In a message dated 98-09-03 16:55:50 EDT, you write: << uh Ryan, nothing personal, but "a little knowledge is a dangerous thing". >> Sure. I admit I am new to...
SuperRyan@... Send Email Sep 4, 1998
7:05 pm

... Hi Ryan. Well, I did have some concerns about GSMs and their computational power as claimed in the previous posts, but I patiently read the messages and I...
Stefan Bruda
bruda@... Send Email
Sep 4, 1998
8:05 pm

ryan: I appreciate your posts, don't take it personally. I always thought "a little knowledge is a dangerous thing" is just a funny expression. I apply it to...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 4, 1998
9:14 pm

... [...] a lot about existence of a Language & an Automaton recognizing it. ... But I see nothing about optimal implementation & decomposition. Is that to...
Nico Benschop
benschop@... Send Email
Sep 4, 1998
9:03 pm

On Fri, 04 Sep 1998 23:03:05 +0100 Nico Benschop ... Ok. The reference is http://www.bangor.ac.uk/~max003/papers.html and the paper in question is 'The role of...
peter hines
max003@... Send Email
Sep 5, 1998
3:30 pm

Hello again. I said that I'd take a look at the paper on Generalised state machines, etc. I think that most the comments I wanted to make have already been...
peter hines
max003@... Send Email
Sep 14, 1998
2:46 pm

hi Peter, thanks for the msg. nicely written. glad you have no objections. you do question what the point of it all is, though. let my try to "advertise" a...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 15, 1998
2:27 am

... Yeah, just a terminology thing. They are equivalent all right. To me, a Moore machine is a State Machine, with output=state, with no special arrangement to...
Nico Benschop
benschop@... Send Email
Sep 14, 1998
6:08 pm

... Nico B: The text-recognition automaton of this list did it again: cut the bottom part of my posting! (my warning the WebMaster did not help, apparently;-(...
Nico Benschop
benschop@... Send Email
Sep 15, 1998
11:55 am

In a message dated 98-09-14 10:46:33 EDT, you write: << I won't attempt to prove it directly, but to answer the point about finite storage: >> After thinking...
SuperRyan@... Send Email Sep 14, 1998
8:34 pm

On Mon, 14 Sep 1998 20:08:04 +0100 Nico Benschop ... Hi, Nico. I'm not sure if it's the same thing, or not (terminology again). What I understand by automatic...
peter hines
max003@... Send Email
Sep 26, 1998
3:45 pm

... True: an FSM does not get more powerfull in the math sense by decomposing it. I am working in industry, so my first priority is: for all practical purposes...
Nico Benschop
benschop@... Send Email
Sep 1, 1998
6:47 am

Nico: I went through your paper pretty thoroughly. I studied my good group theory book. for anyone looking, there is a great book for beginners on group theory...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 1, 1998
9:12 pm

... Right, I used the "function" for a mapping a: Q --> Q and the concept of function composition ab: Q --> Q to denote what you get after composing (qa)b =...
Nico Benschop
benschop@... Send Email
Sep 1, 1998
10:40 pm

Nico: I enjoy ET Bell a lot too. one of my favorite math writers. very opinionated. readers should consider the books "Men of Mathematics" and "The Last...
Vladimir Z. Nuri
vznuri@... Send Email
Sep 1, 1998
11:06 pm
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help