ECE-548 Sequential Machine Theory

advertisement
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
BA
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
BA
24
Set Equality
• Set A is equal to set B
AB
iff
AB
and
BA
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 AB
C  a| a  A  a  B
• Union
D AB
D  a| a  A  a  B
27
Operations on Sets
• Set Difference
E AB
E  a| a  A  a  B
• Cartesian Product, Direct Product
F  AB
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
AB  
• 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
AB  BA
AB  BA
• 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AB
not necessarily a proper subset
• R-related:
a, b R
33
Domain of a Relation
DomR : 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 :AB
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
Download