460 likes | 583 Vues
This lecture introduces Sequential Machine Theory (SMT) and its significance in understanding the limits of finite state machines (FSMs). We explore the equivalence between hardware and software and emphasize how theoretical frameworks inform practical design decisions. Key topics include the properties of FSMs, the importance of minimizing machine complexity, and the relationship between formal languages and computational machines. The session will also cover combining abstract mathematical concepts with real-world applications in intelligent machine design.
E N D
ECE-548 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 http://cpe.gmu.edu/~khintz KJH, ECE-548
Why 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 KJH, ECE-548
Why SMT? • Discuss FSM Unencumbered by Implementation Issues • Technology is Changing Rapidly • Theory is a Framework within which to Understand and Integrate Practical Considerations KJH, ECE-548
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 KJH, ECE-548
Hardware/Software • H/S 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 KJH, ECE-548
Formal Languages • Unambiguous • Can Be Finite or Infinite • Can Be Rule-based or Enumerated • Various Classes With Different Properties • Studied First Half of ECE-548 KJH, ECE-548
Finite State Machines • Equivalent to One Class of Language • Prototypical Sequence Controller • Many Processes Have Temporal Dependencies and Cannot Be Parallelized • FSM Costs • Hardware: More States More Hardware • Time: More States, Slower Operation KJH, ECE-548
Goal of ECE-548 • 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 KJH, ECE-548
Machine/Mathematics Hierarchy • AI Theory Intelligent Machines • Computer Theory Computer Design • Automata Theory Finite State Machine • Boolean Algebra Combinational Logic KJH, ECE-548
Combinational Logic • Feedforward • Output Is Only a Function of Input • No Feedback • No memory • No temporal dependency • Single Valued Function Minimization Techniques Well-known Minimization Techniques • Multi-valued Function Minimization Well-known Heuristics KJH, ECE-548
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 KJH, ECE-548
Computer Design • Defined by Turing Computability • Can compute anything that is “computable” • Some things are not computable • Assumed Infinite Memory • State Dependent Behavior • 5 Elements • Control Unit is specified and implemented as FSM KJH, ECE-548
Intelligent Machines • Ability to Learn • Possibly Not Computable KJH, ECE-548
Automata, aka FSM • Concepts of Machines • Mechanical • Computer programs • Political • Biological • Abstract mathematical KJH, ECE-548
Abstract Mathematical • Discrete • Continuous system can be discretized to any degree of resolution • Finite State • Input/Output • Some cause, some result KJH, ECE-548
Set Theoretic Formulation • 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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
Review of Set Theory • Element: “a”, a single object with no special property • Set: “A”, a collection of elements, i.e., • Enumerated Set: • Finite Set: KJH, ECE-548
Sets • Infinite set • Set of sets KJH, ECE-548
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 A3 Larry, Curly, Moe A6 integers A7 KJH, ECE-548
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 KJH, ECE-548
Set Equality • Set A is equal to set B KJH, ECE-548
Sets • Null Set • A set with no elements, • Every set is a subset of itself • Every set contains the null set KJH, ECE-548
Operations on Sets • Intersection • Union KJH, ECE-548
Operations on Sets • Set Difference • Cartesian Product, Direct Product KJH, ECE-548
Special Sets • Powerset: set of all subsets of A *no braces around the null set since the symbol represents the set KJH, ECE-548
Special Sets • Disjoint sets: A and B are disjoint if • Cover: KJH, ECE-548
Properties of Operations on Sets • Commutative, Abelian • Associative • Distributive KJH, ECE-548
Partition of a Set • Properties • pi are called “pi-blocks” or “-blocks” of PI KJH, ECE-548
Relations Between Sets • If A and B are sets, then the relation from A to B, is a subset of the Cartesian product of A and B, i.e., • R-related: KJH, ECE-548
Domain of a Relation Domain of R R B a A b KJH, ECE-548
Range of a Relation Range of R R b A a B KJH, ECE-548
Inverse Relation, R-1 R-1 B a A b KJH, ECE-548
Partial Function, Mapping • A single-valued relation such that R a b b’ a’ * A B * can be many to one KJH, ECE-548
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 KJH, ECE-548
Function • A partial function with • 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 KJH, ECE-548
Function Example • 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 KJH, ECE-548
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 R B A a KJH, ECE-548
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.” KJH, ECE-548
a = a’ R b Injective, One-to-One a could map to b’ also if it were not at least a partial function which implies single-valued KJH, ECE-548
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 KJH, ECE-548
B A b B aa’ A Function Examples • Monotonically increasing if injective • Not one-to-one, but single-valued KJH, ECE-548
b b’ B b’’ a A Function Examples • Multivalued, but one-to-one KJH, ECE-548
The End of the Beginning KJH, ECE-548