ECE-548 Sequential Machine Theory
Download
Report
Transcript ECE-548 Sequential Machine Theory
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
A 6 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
t hen
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,
coversanotherset 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.,
R AB
not necessarily a proper subset
• R-related:
a, b R
33
Domain of a Relation
DomR : A B a A | a, b R for someb 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
t henlet
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