SM2220 Class 06 - PowerPoint PPT Presentation

About This Presentation
Title:

SM2220 Class 06

Description:

SM2220 Class 06 – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 47
Provided by: creativ6
Category:
Tags: class | sm2220

less

Transcript and Presenter's Notes

Title: SM2220 Class 06


1
SM2220 Class 06
Finite Automata
2
SM2220 Class 06
Topic in theoretical computing. A subset of
computation machines. Closely related to formal
language.
3
SM2220 Class 06
Finite Automata Finite State Automata Finite
State Machine (FSM)
4
SM2220 Class 06
  • Before discussing Finite Automata, we have to
    take care of the concepts,
  • Symbol and coding in textual environment
  • Computation.

5
SM2220 Class 06
We are taught in SM1001 that everything inside
the computer is represented by string of 0 and
1. English text comprises of alphabets (a-z,
A-Z), digits (0-9) and punctuation (, . ,
etc.) They are represented by a coding scheme,
ASCII.
6
SM2220 Class 06
If we count the number of symbols for a piece of
typical English text, it has around 80 such
characters. One unit of binary digit can
represent 2 symbols, 0 and 1. It needs at least 7
digits (7 bits) to represent common English text.
7
SM2220 Class 06
8
SM2220 Class 06
A basic unit of storage is 8 bits byte. It
takes 1 byte to represent an English text
symbol. That is all for the symbol for the time
being. If we want to manipulate the text in
computer, we have to think about the computation
process.
9
SM2220 Class 06
From a functional point of view, computation can
be considered as a black box which takes in
symbols and produces symbols.
Computation
Input symbols
Output symbols
10
SM2220 Class 06
Since all symbols are patterns of 0 and 1, the
simplest computation takes one symbol and produce
another one.
1
1
Computation
0
0
11
SM2220 Class 06
Or another simple one.
1
0
Computation
0
1
12
SM2220 Class 06
A little more complicated with 2 symbols as input.
0 0 0 1 1 0 1 1
0 0 0 1
Computation
13
SM2220 Class 06
Such computation can be described mathematically
by Boolean Algebra.
A and B 0 and 0 0 0 and 1 0 1 and 0 0 1
and 1 1
A or B 0 or 0 0 0 or 1 1 1 or 0 1 1 or 1
1
14
SM2220 Class 06
The computation can become very complicated such
as A and (B or (C and B) and (A or C)) and (D or
B)
15
SM2220 Class 06
No matter how complicated and long the
expression, it always gives the same result with
the same combination of A, B, C and D. A and (B
or (C and B) and (A or C)) and (D or B)
16
SM2220 Class 06
Once you have the combination of A, B, C and D,
the result is fixed, instantly available and
always be the same. A and (B or (C and B) and (A
or C)) and (D or B) Combinational Logic.
17
SM2220 Class 06
Imagine this strange Boolean algebra formula,
AND
NOT
A
18
SM2220 Class 06
The feedback loop introduces the element of time
and most importantly, memory.
AND
NOT
A
19
SM2220 Class 06
The current formula is not very stable. It can
perform better with in introduction of another
input.
AND
NOT
A
20
SM2220 Class 06
AND
NOT
A
AND
NOT
B
21
SM2220 Class 06
The memory gives you the state (status) of the
computing device. The previous one can only
remember two states (1 bit information).
22
SM2220 Class 06
Finite Automata is an abstract computing device
capable of remembering finite number of states.
23
SM2220 Class 06
A less abstract description Nonlinear description
of how an object can change its state over time,
possibly in response to events in its
environment. The Ultimate Guide to FSMs in Games
Dan Fu and Ryan Houlette
24
SM2220 Class 06
It starts at an initial state. By accepting
different inputs, it changes to different states.
Eventually, it stops at an ending state.
25
SM2220 Class 06
Simple example
S1
a
S0
b
b
S2
26
SM2220 Class 06
The diagram is known as a Graph in Mathematics.
Each state is a node and each input symbol is a
directed link. A graph is different from a tree
that it can contain a loop.
27
SM2220 Class 06
State transition table
28
SM2220 Class 06
  • If you consider the input symbol sequence, you
    can notice the valid ones are,
  • ab
  • b
  • All the other input symbol sequences are invalid.

29
SM2220 Class 06
Essentially this simple finite automata defines a
simple language which has only 2 alphabets a, b.
And the valid syntax for the language are the 2
sentences ab and b.
30
SM2220 Class 06
  • Such language is known as,
  • Regular language
  • Regular grammar
  • Regular expression

31
SM2220 Class 06
A regular language can also be described by other
means. If the language has only two alphabets
a, b, they can be written down like, ab
concatenation of symbol a and b. ab either a
or b. a - zero or more occurrences of a.
32
SM2220 Class 06
Exercise time aa (ab) (aaabbabb) ((ab)(a
b))
33
SM2220 Class 06
If a regular language and a finite automata are
equivalent, can we draw a finite automata which
is the same as aa
34
SM2220 Class 06
a
S0
S1
a
35
SM2220 Class 06
State transition table
36
SM2220 Class 06
More complicated example
a, b
a
S1
S3
a
S0
a
b
b
b
S2
37
SM2220 Class 06
Exercise time Try to draw the transition table
for the finite automata. Try to identify the
regular language pattern.
38
SM2220 Class 06
More exercise Try to use regular language or
finite automata to describe a pattern which
starts with a number of as and ends with the
same number of bs afterwards. E.g. ab, aabb,
aaaaabbbbb, etc.
39
SM2220 Class 06
Applications of Finite Automata
40
SM2220 Class 06
If you start replacing the a, b symbols with
sentences, plots, etc., you can end up with a
piece of text like the Oulipo experiments.
41
SM2220 Class 06
Simple application in game
Flee
Monster in sight
Gather Treasure
Monster away
Cornered
Monster dead
Fight
42
SM2220 Class 06
If you start replacing the states S0, S1, etc.
with scenes, movie clips or frames, you will end
up with an interactive movie. The symbols a, b
will become your participants input, such as
sensor values or keyboard inputs. Remember the
previous workshop.
43
SM2220 Class 06
Lets get back to this transition table.
44
SM2220 Class 06
From the state transition table, the next state
is a function of both the current state and input
symbol.
45
SM2220 Class 06
(S0, a) -gt S1 (S0, b) -gt S2 (S1, b) -gt S2 It is
a mapping from a 2D array to the set of states,
which has been shown in your previous workshop.
46
SM2220 Class 06
Q A
Write a Comment
User Comments (0)
About PowerShow.com