- 217 Views
- Uploaded on

Download Presentation
## Sequential Machine Theory

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### 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, has also practical applications in software and hardware (compiler design, controllers design, etc.)
- Understand Fundamental FSM Limits
- Minimize FSM Complexity and Size
- Find the “Essence” of a Machine,
- what does it mean that there is a machine for certain task?

Why Sequential Machine Theory?

- Discuss FSM properties that are unencumbered by Implementation Issues:
- Software
- Hardware
- FPGA/ASIC/Memory, etc.
- 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 (VHDL, Verilog, higher) 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
- Give some simple examples
- Can Be Rule-based or Enumerated
- Various Classes With Different Properties

Finite State Machines

- FSMs are Equivalent to One Class of Languages
- Prototypical Sequence Controller
- Generator
- acceptor
- controller
- Many Processes Have Temporal Dependencies and Cannot Be Parallelized,
- the need some form of state machine.
- FSM Costs
- Hardware: More States More Hardware
- Time: More States, Slower Operation
- Technology dependent: how many CPLD chips?

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
- Technology related, combinational design related

Computer Design: Turing Machines

- 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
- Show example of a very simple Turing machine now:

x--> x+1

Intelligent Machines

- Some machines display an ability to learn
- How a machine can learn?
- Some problems are possibly not computable
- What problems?
- Why not computable?
- Something must be infinite?

Automata, aka FSM

- Concepts of Machines:
- Mechanical
- Counters, adders
- Computer programs
- Political
- Towns, highways, social groups, parties, etc
- Biological
- Tissues, cells, genetic, neural, societies
- Abstract mathematical
- Functions, relations, graphs

You should be

able to use FSM

concepts in other areas

like robotics

FSM - Abstract mathematical concept of many types of behavior

- Discrete
- Continuous system can bediscretized to any degree of resolution
- Finite State:
- finite alphabets for inputs, outputs and states.
- 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 FSM
- Output is a function of state only
- Mealy FSM
- Output is a function of both the present state and the present input

Discuss timing differences, show examples and diagrams, discuss fast signaling and PLD realization

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 Machinereads 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 Athat 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

- 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:

We know set covering problem from 572. It was defined as a matrix problem

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:

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

1 2 3 4

u v 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

Surjective (called also Onto) relations

- 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

Not mapped

A

a

1234

s1s2s3

Injective, or One-to-One relations

- “A relation between 2 sets such that pairs can be removed, one member from each set, until both sets have been simultaneously exhausted.”

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’

B

b’’

a

A

Function Examples- Multivalued, but one-to-one

There are no two a’s which would have the same b, so it is one-to-one

Download Presentation

Connecting to Server..