theory of computation 4. finite automata romi satria wahono [email protected] mobile:...

104
Theory of Computation 4. Finite Automata Romi Satria Wahono [email protected] http://romisatriawahono.net/tc Mobile: +6281586220090 1

Upload: liliana-watkins

Post on 04-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Theory of Computation4. Finite Automata

Romi Satria [email protected]

http://romisatriawahono.net/tcMobile: +6281586220090

1

Page 2: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Romi Satria Wahono

• SD Sompok Semarang (1987)• SMPN 8 Semarang (1990)• SMA Taruna Nusantara Magelang (1993)• B.Eng, M.Eng and Ph.D in Software Engineering from

Saitama University Japan (1994-2004)Universiti Teknikal Malaysia Melaka (2014)• Research Interests: Software Engineering,

Machine Learning• Founder dan Koordinator IlmuKomputer.Com• Peneliti LIPI (2004-2007)• Founder dan CEO PT Brainmatics Cipta Informatika

2

Page 3: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Course Outline

1. Introduction2. Math Fundamental 1: Set, Sequence, Function3. Math Fundamental 2: Graph, String, Logic4. Finite Automata5. Pushdown Automata6. Turing Machines

3

Page 4: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

4. Regular Languages4.1 Automaton4.2 Finite Automata4.3 Nondeterminism4.4 Regular Expression4.5 Nonregular Language

4

Page 5: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

4.1 Automaton

5

Page 6: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Automata Theory

• Automata theory deals with the definitions and properties of mathematical models of computation

•Models of Computation:1. Finite Automata2. Pushdown Automata3. Turing machine

6

Page 7: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Models of Computation

Model Language Recognition

Memory Management Implementation

Finite Automata

Regular Languages

No temporary memory

Elevators, Vending Machines, Traffic Light, Neural Network(small computing power)

Pushdown Automata

Context-free Languages Stack

Compilers for Programming Languages(medium computing power)

Turing machine

Unrestricted Grammar, Lambda Calculus(Computable Languages)

Random access memory

Any Algorithm(highest computing power)

7

Page 8: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Power of Automata

8

Page 9: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

9

Page 10: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

10

Page 11: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

11

Page 12: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

12

Page 13: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

13

Page 14: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

14

Page 15: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Automaton

15

Page 16: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Automaton

16

Page 17: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automata

• Example: Elevators, Vending Machines(small computing power)

17

Page 18: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Pushdown Automata

• Example: Compilers for Programming Languages (medium computing power)

18

Page 19: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Turing Machines

• Examples: Any Algorithm (highest computing power)

19

Page 20: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Alan Turing - A Short DetourDr. Alan Turing is an English Mathematician, and one of the founders of Computer Science. Important facts about him:

• “Invented” Turing machines• “Invented” the Turing Test• Broke into the German submarine transmission

encoding machine “Enigma”• Was arraigned for being gay and committed suicide

soon after

20

Page 21: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

4.2 Finite Automata

21

Page 22: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automata - A Short Example• The control of a washing machine is a very

simple example of a finite automaton• The most simple washing machine accepts

25 cents and operation does not start until at least 3 coins of 25 cents were inserted

22

Page 23: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Simple Washing Machine 1

• Accepts 25 cents• Operation starts after at least 3 coins of 25 cents

were inserted• Accepted words:• 252525• 25252525

25 25

25

0q 75q25q 50q25

23

Page 24: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Simple Washing Machine 2

• The second washing machine accepts 50 cents coins as well• Accepted words:

• 252525• 2550• …

25 25,50

25,50

0q 75q25q 50q25

50 50

24

Page 25: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Simple Washing Machine 3

• The most complex washing machine accepts 100 cents coins too• Accepted Words:?

25

25,50,100

0q 75q25q 50q25

50 50,100

100

25,50,100

25

Page 26: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

A finite automaton is a 5-tupple

where:

1. is a finite set called the states2. is a finite set called the alphabet3. is the transition function4. is the start state, and5. is the set of accept states

Finite Automaton – Formal Definition

FqQ ,,,, 0

Q

QQ :Qq 0

QF

Lihat lagi pembahasan tentang Set, Sequence dan Function

26

Page 27: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M1

• M1= (Q, Σ, δ, q1, F) or M1 = ({q1, q2,q3}, {0,1}, δ, q1, {q2})

• Accepted Strings or Words (w):• 1, 01, 11, 100, 011, 0101, 0100, 110000, …

• If A is the set of all strings that machine M1 accepts, we say:• A is the language of machine M1 and write L(M1) = A• M1 recognizes A or that M1 accepts A• A = {1, 01, 11, 100, 011, 0101, 0100, 110000, …} or• A = {w| w contains at least one 1 and an even number of 0s follow the last 1}27

Page 28: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M2

• Deskripsikan secara formal Finite Automaton M2! • Tentukan accepted words dari Finite Automaton M2

28

Page 29: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M3

• Deskripsikan secara formal Finite Automaton M3! • Tentukan accepted words dari Finite Automaton M3

29

Page 30: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M6

sq

1q

0q0

1

0,1

0,1

• Deskripsikan secara formal Finite Automaton M6!• Tentukan accepted words dari Finite Automaton M6

30

Page 31: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• A language is a set of strings over some alphabet

• A string over an alphabet is a finite sequence of symbols from that alphabet, usually written next to one another and not separated by commas• If Σ1 = {0,1}, then 01001 is a string over Σ1

• If Σ2 = {a, b, c, . . . , z}, then abracadabra is a string over Σ2

• Language Examples:• L1 = {01, 101, 0101, 011}• L2 = {w|w berakhiran 1}

• A language is called a regular language if some finite automaton recognizes it

Languages

31

Page 32: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• If w is a string over Σ, the length of w, written |w|, is the number of symbols that it contains• The string of length zero is called the empty string

and is written ε• The empty string plays the role of 0 in a number

system• If w has length n, we can write w = w1w2 · · · wn where

each wi Σ∈• The reverse of w, written wR, is the string obtained by

writing w in the opposite order (i.e., wnwn−1 · · · w1)

Languages

32

Page 33: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

DFA.Java public class DFA {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.print("Input: ");

String input = scan.nextLine();

boolean[] accept = {true, false, false};

int[][] next = {{0, 1}, {1, 2}, {2, 0}};

int state = 0;

for (int i = 0; i < input.length(); i++) {

state = next[state][input.charAt(i) - 'a'];

}

System.out.println(accept[state]);

}

}33

Page 34: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M2

• Buat Code Java dari M2!

34

Page 35: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M3

• Buat Code Java dari M3!

35

Page 36: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M6

sq

1q

0q0

1

0,1

0,1

• Buat Code Java dari M6!

36

Page 37: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M4

• Deskripsikan secara formal Finite Automaton M4! • Tentukan accepted words dari Finite Automaton M4

• Buat Code Java dari M4!

37

Page 38: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Finite Automaton M5

• Deskripsikan secara formal Finite Automaton M5! • Tentukan accepted words dari Finite Automaton M5

• Buat Code Java dari M5!

38

Page 39: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

4.3 Nondeterminism

39

Page 40: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Nondeterminism

• Nondeterminism is a useful concept that has had great impact on the theory of computation• Every step of a computation follows in a unique way

from the preceding step• When the machine is in a given state and reads the

next input symbol, we know what the next state will be—it is determined• We call this deterministic computation

• In a nondeterministic machine, several choices may exist for the next state at any point• Nondeterminism is a generalization of determinism

40

Page 41: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

41

Page 42: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Nondeterminism• Instructions like

"go down the hallway and turn either left or right“are quite different from"go down the hallway and turn left if you see more than three people; otherwise turn right.“

• The first instruction can be followed by turning left or right, but there is only one way to follow the second instruction• If you run a deterministic algorithm with the same input, it

always produces the same output

• In contrast, under identical conditions, a nondeterministic algorithm may make different "choices" each time the algorithm is executed

42

Page 43: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Nondeterminism

The difference between a deterministic finite automaton (DFA), and a nondeterministic finite automaton (NFA):1. Every state of a DFA always has exactly one exiting transition

arrow for each symbol in the alphabet. The NFA violates that rule!• q1 has one exiting arrow for 0, but it has two for 1• q2 has one arrow for 0, but it has none for 1• In an NFA, a state may have zero, one, or many exiting arrows for each

alphabet symbol

2. In a DFA, labels on the transition arrows are symbols from the alphabet. This NFA has an arrow with the label ε• NFA may have arrows labeled with members of the alphabet or ε• Zero, one, or many arrows may exit from each state with the label ε43

Page 44: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Adding Nondeterminism

1 2

Deterministic machine: at every step, there is only

one choice

Nondeterministic machine: at some steps, there may be

more than one choice

a

a, b

b

b

44

Page 45: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

A nondeterministic finite automaton (NFA) is a 5-tupple

where:

1. is a finite set of states2. is a finite set alphabet3. is the transition function4. is the start state, and5. is the set of accept states

Nondeterministic Finite Automaton (NFA) – Formal Definition

FqQ ,,,, 0

Q

)(: QPQ

Qq 0

QF

45

Page 46: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Nondeterministic Finite Automaton (NFA) – Formal Definition

• DFA and NFA differ in one essential way: in the type of transition function• In a DFA, the transition function takes a state and an

input symbol and produces the next state• In an NFA, the transition function takes a state and an

input symbol or the empty string and produces the set of possible next states

• For any set Q we write P(Q) to be the collection of all subsets of Q. P(Q) is called the power set of Q• For any alphabet Σ we write Σε to be Σ {ε}∪• The formal description of the type of the transition

function in an NFA as δ: Q × Σε→P(Q)46

Page 47: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Nondeterministic Finite Automaton (NFA) N1

• N1 accepts w if we can write w as w = y1y2 · · · ym, where each yi is a member of Σε and a sequence of states r0, r1, . . . , rm exists in Q with three conditions:

1. r0 = q0

2. ri+1 ∈ δ(ri, yi+1), for i = 0, . . . , m-13. rm ∈ F

• Conditions:1. The machine starts out in the start state2. State ri+1 is one of the allowable next states when N1 is in state ri and reading yi+1

• Observe that δ(ri , yi+1) is the set of allowable next states and so we say that ri+1 is a member of that set

3. The machine accepts its input if the last state is an accept state47

Page 48: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Nondeterministic Finite Automaton N2

• Deskripsikan secara formal NFA N2!• Tentukan accepted words dari NFA N2

48

Page 49: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Tugas

• Pahami dengan Finite Automaton• Kumpulkan paper yang membahas penerapan dari

finite automaton, boleh yang DFA atau NFA• Buat paper serupa dengan itu, dengan konsep dan

pemanfaatan di bidang yang berbeda• Template penulisan, gunakan template paper

journal di http://journal.ilmukomputer.org• Copy paste, translasi atau plagiat akan

mendapatkan nilai E

49

Page 50: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

4.4 Regular Expression

50

Page 51: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Basic Regular Expressions

• A Regular Expression (RE) is a string of symbols that describes a regular Language

• Let be an alphabet. For each ,the symbol is an RE representing the set

• The symbol is an RE representing the set (The set containing the empty string)

• The symbol is an RE representing the empty set

51

Page 52: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Inductive Construction

• Let and be two regular expressions representing languages and , resp

• The string is a regular expression representing the set

• The string is a regular expression representing the set

• The string is a regular expression representing the set

1R 2R1L 2L

21 RR 21 LL

21RR

21 LL

*1R*

1L52

Page 53: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Inductive Construction - Remarks1. Note that in the inductive part of the definition

larger RE-s are defined by smaller ones. This ensures that the definition is not circular

2. This inductive definition also dictates the way we will prove theorems: For any theorem T

Stage 1: Prove T correct for all base cases. Stage 2: Assume T is correct for and .

Prove correctness for , , and .

1R 21 RR 21RR *1R

2R

53

Page 54: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Some Useful Notation

Let be a regular expression:• The string represents , and it also holds

that

• The string represents .

• The string represents .

• The Language represented by R is denoted by

R

RL

R *RR *RR

kR times

...k

RRR

k ...,, 11

54

Page 55: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Precedence Rules

• The star (*) operation has the highest precedence.

• The concatenation ( ) operation is second on the preference order.

• The union ( ) operation is the least preferred.• Parentheses can be omitted using these rules.

55

Page 56: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Examples

• – .• –

• –

• –

• –

**100**1

** str

** 011

1 singlea contains | ww

1 singlea least at has | ww

substringa as contains | strww

1 singlea least at by

followed is in 0every | ww

* length even of is | ww

56

Page 57: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Examples

• - all words starting and ending with the same letter • - all strings of forms

1,1,…,1 and 0,1,1,…1 • - A set concatenated with the

empty set yields the empty set

• -

101100 **

*10

R

* *

** 101

57

Page 58: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• Regular expressions and finite automata are equivalent in their descriptive power. This fact is expressed in the following Theorem:

• TheoremA set is regular if and only if it can be described by a regular expression.• The proof is by two Lemmata (Lemmas):

Equivalence With Finite Automata

58

Page 59: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

If a language L can be described by regular expression then L is regular.

Lemma ->

59

Page 60: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Proofs Using Inductive DefinitionThe proof follows the inductive definition of RE-s as follows:• Stage 1: Prove correctness for all base cases• Stage 2: Assume correctness for and , and

show its correctness for , and

1R 2R 21 RR 21RR *1R

60

Page 61: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Induction Basis

1. For any , the expression describes the set

, recognized by:

2. The set represented by

the expression is recognized by:

3. The set represented by

the expression is recognized by:

4q0q

4q

4q

61

Page 62: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

1. Now, we assume that and represent two regular sets and claim that , and represent the corresponding regular sets.

2. The proof for this claim is straight forward using the constructions given in the proof for the closure of the three regular operations

The Induction Step

1R 2R

21 RR 21 RR *

1R

62

Page 63: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• Show that the following regular expressions represent regular languages:•

• To be demonstrated on the Blackboard.

Examples

*aab

ababa *

63

Page 64: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

If a language L is regular then L can be described by some regular expression.

Lemma <-

64

Page 65: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

The proof follows the following stages:1. Define Generalized Nondeterministic Finite

Automaton (GNFA in short).2. Show how to convert any DFA to an equivalent

GNFA.3. Show an algorithm to convert any GNFA to an

equivalent GNFA with 2 states.4. Convert a 2-state GNFA to an equivalent RE.

Proof Stages

65

Page 66: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

1. A GNFA is a finite automaton in which each transition is labeled with a regular expression over the alphabet

2. A single initial state with all possible outgoing transitions and no incoming trans.

3. A single final state without outgoing trans.4. A single transition between every two states,

including self loops.

Properties of a Generalized NFA

66

Page 67: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Example of a Generalized NFA

startq

acceptq

*ab

baab

b

aa

ab

*a

*aa

*b

67

Page 68: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• A computation of a GNFA is similar to a computation of an NFA

except:

• In each step, a GNFA consumes a block of symbols that matches the RE on the transition used by the NFA.

A Computation of a GNFA

68

Page 69: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Consider abba or bb or abbbaaaaabbbbb

Example of a GNFA Computation

startq

acceptq

*ab

baab

b

aa

ab

*a

*aa

*b

69

Page 70: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Conversion is done by a very simple process:1. Add a new start state with an - transition from

the new start state to the old start state2. Add a new accepting state with - transition

from every old accepting state to the new accepting state

4. Replace any transition with multiple labels by a single transition labeled with the union of all labels.

5. Add any missing transition, including self transitions; label the added transition by

Converting a DFA (or NFA) to a GNFA

70

Page 71: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Stage 1: Convert D to a GNFA

1.0 Start with D

0

aq

bq

1

cq

1

0

1,0

71

Page 72: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Stage 1: Convert D to a GNFA

1.1 Add 2 new states

0

aq

bq

1

cq

1

0

1,0

acceptqstartq

72

Page 73: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Stage 1: Convert D to a GNFA

1.2 Make the initial state and the final state

0

aq

bq

1

cq

1

0

1,0

acceptqstartq

startq acceptq

73

Page 74: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Stage 1: Convert D to a GNFA

1.3 Replace multi label transitions by their union.

0

aq

bq

1

cq

1

0

10

acceptqstartq

74

Page 75: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Stage 1: Convert D to a GNFA

1.4 Add all missing transitions and label them

0

aq

bq

1

cq

1

0

startq

acceptq

10

75

Page 76: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• The final element needed for the proof is a procedure in which for any GFN G, any state of G, not including and , can be ripped off G, while preserving

• This is demonstrated in the next slide by considering a general state, denoted by , and an arbitrary pair of states, and , as demonstrated in the next slide:

Ripping a state from a GNFA

GLstartq acceptq

ripqiq jq

76

Page 77: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Removing a state from a GNFA

1R

iqjq

ripq

4R

3R

2R

43*

21 RRRR iq jq

Before Ripping After Ripping

Note: This should be done for every pair of outgoing and incoming outgoing ripq

77

Page 78: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• Consider the RE ,representing all strings that enable transition from via to

• What we want to do is to augment the Regular

expression of transition , namely , so These

strings can pass through

• This is done by setting it to

Ellaboration

1R

iqjq

ripq

4R

3R

2R

ripq

43*

214 RRRR

4R ji qq ,

iq jq

3*

21 RRR

ji qq ,

78

Page 79: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• Note:

• In order to achieve

an equivalent GNFA in

which is disconnected,

this procedure should be

carried out separately, for every

pair of transitions of the form and

• Then can be removed, as demonstrated on the next

slide:

Ellaboration

1R

iqjq

ripq

4R

3R

2Rripq

ripi qq , jrip qq ,

ripq

79

Page 80: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Elaboration

• Assume the following situation:

• In order to rip , all pairsof incoming and outgoingtransitions should be considered in the way showed on the previous slide namely consider one after the other

• After that can be ripped while preserving

1t 2t 3t

5t4t 53

4352425141

,

,,,,,,,,,,

tt

tttttttttt

ripq

ripq

ripq GL

80

Page 81: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

In Particular

Replace with .

1R 3R

2R

4R

aq

ripq

4R 3*

214 RRRR

81

Page 82: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

A (half?) Formal Proof of Lemma<-• The first step is to formally define a GNFA.• Each transition should be labeled with an RE.• Define the transition function as follows:

where denotes all regular expressions over

• Note: The def. of is different then for NFA

REqQqQ startaccept:

RE

82

Page 83: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Changes in Definition

• Note: The definition of as:

is different than the original definitions (For DFA and NFA)

• In this definition we rely on the fact that every 2 states (except and ) are connected in both directions.

REqQqQ startaccept:

startq

acceptq

83

Page 84: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

A Generalized Finite Automaton is a 5-tupple where:

1. is a finite set called the states2. is a finite set called the alphabet3. * is the transition

function4. is the start state, and5. is the accept state.

REqQqQ startaccept:

GNFA – A Formal Definition

acceptstart qqQ ,,,,

Q

Qqstart Qqaccept

84

Page 85: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

A GNFA accepts a string if

and there exists a sequence of states

, satisfying:

For each , , , where

, or in other words, is the

expression on the arrow from to

GNFA – Defining a Computation

*w kwwww 21

acceptstart qqqq 21

i ki 1 ii RLw

iii qqR ,1 iR

iq 1iq

85

Page 86: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Procedure CONVERT takes as input a GNFA G with k states.

If then these 2 states must be and , and the algorithm returns

If , the algorithm converts G to an equivalent G’ with states by use of the ripping procedure described before.

Procedure CONVERT

acceptstart qq ,

2k startqacceptq

2k1k

86

Page 87: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Convert

1. ;

2. If return ;

3. ;

4. ;

5. For any and any

for

return ;

Procedure CONVERT

2kstartq

Grip QtateGetRandomSq

G

|| GQk acceptstart qq ,

ripG qQQ 'accepti qQq ' starti qQq '

43*

21,' RRRRqq ji ripi qqR ,1 irip qrR ,3 riprip qqR ,2 ji qqR ,4

acceptstart qqQG ,,',,'' 87

Page 88: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

4.5 Nonregular Language

88

Page 89: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• We ask: Are all languages regular?

• The answer is negative

• The simplest example is the language

• Try to think about this language

Introduction and Motivation

0| nbaB nn

89

Page 90: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• If we try to find a DFA that recognizes the language , it seems that we need an infinite number of states, to “remember” how many a-s we saw so far.

• Note: This is not a proof!

• Perhaps a DFA recognizing B exists, but we are not clever enough to find it?

Introduction and Motivation

0| nbaB nn

90

Page 91: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

The Pumping Lemma is the formal tool we use to prove that the language B (as well as many other languages) is not regular.

Introduction and Motivation

91

Page 92: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Consider the following NFA, denoted by N:

It accepts all words of the form .

What is Pumping?

1,0aq bq

cq0

dq1

*0110

92

Page 93: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• Consider now the word

• Pumping means that the word can be divided into two parts: 1 and 10, such that for any , the word

• We say that the word 110 can be pumped

• For this is called down pumping

• For this is called up pumping

What is Pumping?

NL110

110

nLi 101

0i

0i

1i

93

Page 94: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

• A more general description would be:A word , can be pumped if and for each , it holds that

• Note: the formal definition is a little more complex than this one.

What is Pumping?

xyw Lw0i Lxy i

94

Page 95: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Let A be a regular language. There exists a number p such that for every , if then w may be divided into three parts satisfying:

1. for each , it holds that 2. 3.

Note: Without req. 2 the Theorem is trivial

The Pumping Lemma

Aw pw ||xyzw

0i Azxyi 0|| y

pxy ||

95

Page 96: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

In terms of the previous demonstration we have:

1.

2. For , we get:

Demonstration Continuation

3p

110w

1x

10yz

96

Page 97: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Let D be a DFA recognizing A and let p be the

number of states of D. If A has no words whose

length is at least p, the theorem holds vacuously.

Let be an arbitrary word such that

Denote the symbols of w by

where

Proof of the Pumping Lemma

Aw pw ||

mwwww ,...,, 20

pwm ||

97

Page 98: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Assume that is the sequence of states

that D goes through while computing with input w. For

each , ,

Since ,

Since the sequence contains

states and since the number of states of D is p, that

there exist two indices such that

Proof of the Pumping Lemma

mp qqqq ,...,...,, 10

k mk 0 1, kkk qwq

pji 0 ji qq

pqqq ,...,, 10 1p

Aw Dm Fq

98

Page 99: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Denote , and

Note: Under this definition and .

By this definition, the computation of D on

starting from , ends at

By this definition, the computation of D on

, starting from , ends at which is an

accepting state

Proof of the Pumping Lemma

121 ... iwwwx

0|| y pxy ||

11... jii wwwy

mjj wwwz ...1

121 ... iwwwx0q iq

mjj wwwz ...1 jq mq

99

Page 100: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

The computation of D on

starting from , ends at . Since , this

computation starts and ends at the same state.

Since it is a circular computation, it can repeat itself k

times for any

In other words: for each ,

Q.E.D.

Proof of the Pumping Lemma

iq

11... jii wwwy

jq ji qq

0k

0i Azxy i

100

Page 101: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Lemma: The language is not regular.

Proof: Assume towards a contradiction that L is regular and

let p be the pumping length of L.

Let . By the Pumping Lemma there exists a

division of w, , such that

and w can be pumped.

This means that , where

Since we conclude

Example:

ppbaw xyzw

nnbaL

pxy ||

kaxy pk

0|| ylay

nnbaL

101

Page 102: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

This however implies that in , the number of a-s

is smaller then the number of b-s

It also means that for every , the number of a-s

in is larger then the number of b-s

Both cases constitute a contradiction

Note: Each one of these cases is separately sufficient

for the proof

Example: (Cont.)

nnbaL

1i

zxy i

zxy0

102

Page 103: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

This is what we got so far:

0| nba nn

RL-s Ex: 0| nan

Discussion

103

Page 104: Theory of Computation 4. Finite Automata Romi Satria Wahono romi@romisatriawahono.net  Mobile: +6281586220090 1

Referensi

1. Michael Sipser, Introduction to the Theory of Computation Third Edition, Cengage Learning, 2012

2. George Tourlakis, Theory of Computation, Wiley, 2012

3. John Martin, Introduction to Languages and the Theory of Computation, McGraw-Hill , 2010

4. Robert Sedgewick and Kevin Wayne, Introduction to Computer Science, Addison-Wesley, 2015 (http://introcs.cs.princeton.edu/java)

5. Albert Endres dan Dieter Rombach, A Handbook of Software and Systems Engineering, Pearson Education Limited, 2003

104