460 likes | 627 Views
This lecture by Prof. K. J. Hintz from the Department of Electrical and Computer Engineering introduces the principles of Sequential Machine Theory (SMT) and explores the limitations and properties of Finite State Machines (FSM). It emphasizes the importance of this theory in creating efficient hardware/software designs, explaining the equivalence between hardware and software, and the role of formal languages in computational machines. The lecture aims to deepen understanding of FSM behaviors, complexities, and the foundational frameworks of machine theory, which remain relevant amidst rapid technological changes.
E N D
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
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
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
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
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
Formal Languages • Unambiguous • Can Be Finite or Infinite • Can Be Rule-based or Enumerated • Various Classes With Different Properties
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
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
Machine/Mathematics Hierarchy • AI Theory Intelligent Machines • Computer Theory Computer Design • Automata Theory Finite State Machine • Boolean Algebra Combinational Logic
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
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
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
Intelligent Machines • Ability to Learn • Possibly Not Computable
Automata, aka FSM • Concepts of Machines: • Mechanical • Computer programs • Political • Biological • Abstract mathematical
Abstract Mathematical • Discrete • Continuous system can be discretized to any degree of resolution • Finite State • Input/Output • Some cause, some result
Set Theoretic Formulation of Finite State Machine • 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
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
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
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
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:
Sets • Infinite set • Set of sets
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
Proper Subset • All elements of B are elements of A and there is at least oneelement of A that is not an element of B
Set Equality • Set A is equal to set B
Sets • Null Set • A set with no elements, • Every set is a subset of itself • Every set contains the null set
Operations on Sets • Intersection • Union
Operations on Sets • Set Difference • Cartesian Product, Direct Product
Special Sets • Powerset: set of all subsets of A *no braces around the null set since the symbol represents the set
Special Sets • Disjoint sets: A and B are disjoint if • Cover:
Properties of Operations on Sets • Commutative, Abelian • Associative • Distributive
Partition of a Set • Properties • pi are called “pi-blocks” or “-blocks” of PI
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:
Domain of a Relation Domain of R R B a A b
Range of a Relation Range of R R b A a B
Inverse Relation, R-1 R-1 B a A b
Partial Function, Mapping • A single-valued relation such that R a b b’ a’ * A B * can be many to one
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
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
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
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
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.”
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
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
B A b B aa’ A Function Examples • Monotonically increasing if injective • Not one-to-one, but single-valued
b b’ B b’’ a A Function Examples • Multivalued, but one-to-one