1 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 http://cpe.gmu.edu/~khintz Adaptation to this class and additional comments by Marek Perkowski 2 Why Sequential Machine Theory (SMT)? • Sequential Machine Theory – SMT • Some Things Cannot be Parallelized • Theory Leads to New Ways of Doing Things • Understand Fundamental FSM Limits • Minimize FSM Complexity and Size • Find the “Essence” of a Machine 3 Why Sequential Machine Theory? • Discuss FSM properties that are unencumbered by Implementation Issues • Technology is Changing Rapidly, the core of the theory remains forever. • Theory is a Framework within which to Understand and Integrate Practical Considerations 4 Hardware/Software • There Is an Equivalence Relation Between Hardware and Software – Anything that can be done in one can be done in the other…perhaps faster/slower – System design now done in hardware description languages without regard for realization method • Hardware/software/split decision deferred until later stage in design 5 Hardware/Software • Hardware/Software equivalence extends to formal languages – Different classes of computational machines are related to different classes of formal languages – Finite State Machines (FSM) can be equivalently represented by one class of languages 6 Formal Languages • • • • Unambiguous Can Be Finite or Infinite Can Be Rule-based or Enumerated Various Classes With Different Properties 7 Finite State Machines • Equivalent to One Class of Languages • Prototypical Sequence Controller • Many Processes Have Temporal Dependencies and Cannot Be Parallelized • FSM Costs – Hardware: More States More Hardware – Time: More States, Slower Operation 8 Goal of this set of lectures • Develop understanding of Hardware/Software/Language Equivalence • Understand Properties of FSM • Develop Ability to Convert FSM Specification Into Set-theoretic Formulation • Develop Ability to Partition Large Machine Into Greatest Number of Smallest Machines – This reduction is unique 9 Machine/Mathematics Hierarchy • AI Theory Intelligent Machines • Computer Theory Computer Design • Automata Theory Finite State Machine • Boolean Algebra Combinational Logic 10 Combinational Logic • Feedforward • Output Is Only a Function of Input • No Feedback – No memory – No temporal dependency • Two-Valued Function Minimization Techniques Well-known Minimization Techniques • Multi-valued Function Minimization Well-known Heuristics 11 Finite State Machine • Feedback • Behavior Depends Both on Present State and Present Input • State Minimization Well-known With Guaranteed Minimum • Realization Minimization – Unsolved problem of Digital Design 12 Computer Design • Defined by Turing Computability – Can compute anything that is “computable” – Some things are not computable • Assumed Infinite Memory • State Dependent Behavior • Elements: – – – – Control Unit is specified and implemented as FSM Tape infinite Head Head movements 13 Intelligent Machines • Ability to Learn • Possibly Not Computable 14 Automata, aka FSM • Concepts of Machines: – – – – – Mechanical Computer programs Political Biological Abstract mathematical 15 Abstract Mathematical • Discrete – Continuous system can be discretized to any degree of resolution • Finite State • Input/Output – Some cause, some result 16 Set Theoretic Formulation of Finite State Machine S , I , O, , • S: Finite set of possible states • I: Finite set of possible inputs • O: Finite set of possible outputs • : Rule defining state change • : Rule determining outputs 17 Types of FSMs • Moore – Output is a function of state only • Mealy – Output is a function of both the present state and the present input 18 Types of FSMs • Finite State Acceptors, Language Recognizers – Start in a single, specified state – End in particular state(s) • Pushdown Automata – Not an FSM – Assumed infinite stack with access only to topmost element 19 Computer • Turing Machine – – – – Assumed infinite read/write tape FSM controls read/write/tape motion Definition of computable function Universal Turing machine reads FSM behavior from tape 20 Review of Set Theory • Element: “a”, a single object with no special property • Set: “A”, a collection of elements, i.e., a A – Enumerated Set: A1 2,5,7,4 A 2 a1, a2 , a3 , A3 Larry, Curly, Moe – Finite Set: A a : 0 a 10, integer 4 21 Sets – Infinite set A5 R real numbers A6 I integers – Set of sets A7 A3, A6 22 Subsets • All elements of B are elements of A and there may be one or more elements of A that is not an element of B BA A6 A7 A7 A3 A6 Larry, integers Curly, Moe 23 Proper Subset • All elements of B are elements of A and there is at least one element of A that is not an element of B BA 24 Set Equality • Set A is equal to set B AB iff AB and BA 25 Sets • Null Set – A set with no elements, • Every set is a subset of itself • Every set contains the null set 26 Operations on Sets • Intersection C AB C a| a A a B • Union D AB D a| a A a B 27 Operations on Sets • Set Difference E AB E a| a A a B • Cartesian Product, Direct Product F AB F x, y | x A y B 28 Special Sets • Powerset: set of all subsets of A P A 2 a , b e. g., let A 0, 1 then P A , 0 , 1 , 0, 1 *no braces around the null set since the symbol represents the set 29 Special Sets • Disjoint sets: A and B are disjoint if AB • Cover: A set of sets, B B1 , B 2, covers another set A if A Bi all i 30 Properties of Operations on Sets • Commutative, Abelian AB BA AB BA • Associative A B C A B C A B C A B C • Distributive LHD A B C A B A C RHD A B C A C B C 31 Partition of a Set • Properties A p | p P A and, a) p are disjoint, b) p i A, c) pi • pi are called “pi-blocks” or “-blocks” of PI 32 Relations Between Sets • If A and B are sets, then the relation from A R:A B to B, is a subset of the Cartesian product of A and B, i.e., RAB not necessarily a proper subset • R-related: a, b R 33 Domain of a Relation DomR : A B a A | a, b R for some b B Domain of R B R a A b 34 Range of a Relation Range R: A B b B| a, b R for some a A Range of R R b A a B 35 Inverse Relation, R-1 Given R :AB then R 1 b, a B A | a, b R B A a A R-1 B b 36 Partial Function, Mapping • A single-valued relation such that if R a a , b R b and b’ a’ then * A * can be many to one a , b R b b B 37 Partial Function – Also called the Image of a under R – Only one element of B for each element of A – Single-valued – Can be a many-to-one mapping 38 Function • A partial function with Dom R : A B A – A b corresponds to each a, but only one b for each a – Possibly many-to-one: multiple a’s could map to the same b 39 Function Example let A 1, 2, 3, 4 B u, v, w then let R 1 u, R 2 v , R 3 v , R 4 w or, R 1, u , 2, v , 3, v , 4, w •Unique, one image for each element of A and no more •Defined for each element of A, so a function, not partial •Not one-to-one since 2 elements of A map to v 40 Surjective, Onto • Range of the relation is B – At least one a is related to each b • Does not imply – single-valued – one-to-one A R a B 41 Injective, One-to-One • “A relation between 2 sets such that pairs can be removed, one member from each set, until both sets have been simultaneously exhausted.” given a, b R and a ', b R then a a' 42 Injective, One-to-One a could map to b’ also if it were not at least a partial function which implies single-valued a = a’ R b 43 Bijective • A function which is both Injective and Surjective is Bijective. – Also called “one-to-one” and “onto” • A bijective function has an inverse, R-1, and it is unique 44 Function Examples • Monotonically increasing B if injective • Not one-to-one, but single-valued A B b a a’ A 45 Function Examples • Multivalued, but one-to-one b B b’ b’’ a A 46 The End of the Beginning