bct 2083 discrete structure and applications

24
BCT 2083 DISCRETE STRUCTURE AND BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS APPLICATIONS CHAPTER 5 CHAPTER 5 MODELLING COMPUTATION MODELLING COMPUTATION SITI ZANARIAH SATARI SITI ZANARIAH SATARI FIST/FSKKP UMP I0910 FIST/FSKKP UMP I0910

Upload: quade

Post on 13-Jan-2016

42 views

Category:

Documents


4 download

DESCRIPTION

BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS. CHAPTER 5 MODELLING COMPUTATION. SITI ZANARIAH SATARI FIST/FSKKP UMP I0910. CONTENT. 5.1Languages and Grammars 5.2Finite-State Machines with Output 5.3Finite-State Machines with No Output 5.4Language Recognition (not cover) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

BCT 2083 DISCRETE STRUCTURE AND APPLICATIONSBCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

CHAPTER 5CHAPTER 5MODELLING COMPUTATIONMODELLING COMPUTATION

SITI ZANARIAH SATARISITI ZANARIAH SATARI

FIST/FSKKP UMP I0910FIST/FSKKP UMP I0910

Page 2: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

CHAPTER 5 M

OD

ELLING

COM

PUTATIO

N

CONTENTCONTENT

5.1 Languages and Grammars5.2 Finite-State Machines with Output5.3 Finite-State Machines with No

Output5.4 Language Recognition (not cover)

5.5 Turing Machines (not cover)

Page 3: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

• Models of computation help us to answer the following questions:1. Can a task be carried out using computer?2. If YES, How can the task be carried out?

• Three types of structures used in models computation:1. Grammars

– Used to generate words of a language and determine whether a word is in a language.

2. Finite-state Machines– Used in modeling a problem.

3. Turing Machines– Used to classify problems as tractable/intractable and

solvable/unsolvable.

CHAPTER 5 M

OD

ELLING

COM

PUTATIO

N

IntroductionIntroduction

Page 4: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.15.1 LANGUAGE AND GRAMMARSLANGUAGE AND GRAMMARS

• Understand language and grammars in models of computation

• Construct derivation tree

CHAPTER 5 M

OD

ELLING

COM

PUTATIO

N

Page 5: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

►Natural Language is spoken language.►It is not possible to specify all the rules of syntax (form) in

Natural language ►One of the rules is English grammars.

►Formal Language which are generated by grammars, provide models for both natural languages and programming languages.

►Formal Language specified by a well defined set of rules/syntax.

►Grammars help us answer the following questions: How can we determine whether a combination of words is a

valid sentence in a formal language? How can we generate the valid sentences of a formal

language?

Natural Language & Formal LanguageNatural Language & Formal Language

Page 6: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

► A vocabulary/alphabet, V is a finite nonempty set of elements called symbols.

• Example: V = {a, b, c, A, B, C, S}

► A word/sentence over V is a string of finite length of elements of V.

• Example: Aba

► The empty/null string, λ is the string with no symbols.

► V* is the set of all words over V.• Example: V* = {Aba, BBa, bAA, cab …}

► A language over V is a subset of V*.• We can give some criteria to a word to be in a language.• Example: cab is a subset in V* and is a language.

Basic TerminologiesBasic Terminologies

Page 7: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

► A Phrase-Structure Grammars G = (V, T, S, P) consists of: 1. a vocabulary V, 2. a subset T of V consisting of terminal elements 3. a start symbol S from V4. a finite set of productions P

► Elements of N = V – T are called nonterminal symbols.► Every production in P must contain at least one nonterminal on its

left side.

► EXAMPLE:

Let G = (V, T, S, P), where V = {a, b, A, B, S}, T = {a, b}, S is a start symbol and P = {S → ABa, A → BB, B → ab, A → Bb}. Then, G is a Phrase-Structure Grammar.

Phrase-Structure GrammarsPhrase-Structure Grammars

Page 8: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

► Suppose w and w’ are words over the vocabulary set V of a grammar G. Then:

► We write w ⇒ w’ if w’ can be obtained from w by using one of the productions

► We write w ⇒ ⇒ w’ if w’ can be obtained from w by using a finite number of productions

► The language of G consists of all words in terminal set T that can be obtained from the start symbol S by the above process:

► L (G) = { w Є T*: S ⇒ ⇒ w}

► EXAMPLE:

Let G = (V, T, S, P), where V = {a, b, A, S}, T = {a, b}, S is a start symbol and P = {S → aA, S → b, A → aa}. The language of this grammar is given by L (G) = {b, aaa}; since we can derive aA from using S → aA, and then derive aaa using A → aa. We can also derive b using S → b.

Language Language LL((GG) of a Grammar ) of a Grammar GG

Page 9: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

1. Let G = (V, T, S, P), where V = {a, b, A, B, S}, T = {a, b}, S is a start symbol and P = {S →AB, A →Aa, B →Bb, A →a, B →b}. What is L(G), the language of this grammar?

2. Find the language L(G) over {a, b, c} generated by the grammar G with the productions P = {S →aSb, aS →Aa, Aab →c}.

3.Let V = {a, b, A, B, S}, and T = {a, b}. Find the language L(G) generated by the grammar G = (V, T, S, P), with S is a start symbol and a set of productions P = {S →AA, S →B, A →aaA, A →aa, B →bB, B →b}.

EXERCISE 5.1EXERCISE 5.1

Page 10: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

Types of GrammarsTypes of GrammarsTYPE RESTRICTIONS ON PRODUCTION w ⇒ w’

0 No restrictions

1Context- sensitive

Every production is of the form α → β where |α|≤ β or of the form α → λ

2Context- free

Every production is of the form A → β where the left side is a nonterminal

3regular

Every production is of the form A → a or A → aB where the left side is a single nonterminal and the right side is a single terminal or a terminal followed by a terminal or, of the form S → λ

Every Type 3 grammar is a Type 2 grammar.

Every Type 2 grammar is a Type 1 grammar.

Every Type 1 grammar is a Type 0 grammar.

Page 11: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

► Represents the language using an ordered rooted tree.

► Root represents the starting symbol.► Internal vertices represent the nonterminal symbol that

arise in the production.► Leaves represent the terminal symbols.

► If the production A → w arise in the derivation, where w is a word, the vertex that represents A has as children vertices that represent each symbol in w, in order from left to right.

Derivation Tree of Context-Free GrammarDerivation Tree of Context-Free Grammar

Page 12: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

► Let G be a context-free grammar with the productions P = {S →aAB, A →Bba, B →bB, B →c}. The word w = acbabc can be derived from S as follows:

S ⇒ aAB →a(Bba)B ⇒ acbaB ⇒ acba(bB) ⇒ acbabcThus, the derivation tree is given as follows:

Example: Derivation TreeExample: Derivation Tree

S

a A B

B b a

c

b B

c

Page 13: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

4. The word w = cbab belongs to the language generated by the grammar G = (V, T, S, P), where V = {a, b, c, A, B, C, S}, T = {a, b, c}, S is the start symbol and P = {S →AB, A →Ca, B →Ba, B →Cb, B →b , C →cb, C →b}. Construct the derivation tree for w.

5. The production rules of a grammar for simple arithmetic expression are:

‹ expression › ::= ‹ digit ›| (‹ expression ›) | + (‹ expression ›) | − (‹ expression ›) |

‹ expression › ‹ operator › ‹ expression › ‹ digit › ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ‹ operator › ::= + | − | * | / | ↑

Construct a derivation tree for arithmetic expression (2 ↑ 5 ) − 8 and (3 * 7) / (9 + 1).

EXERCISE 5.1EXERCISE 5.1

Page 14: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.1 LANG

UAG

E AND

GRAM

MARS

EXERCISE 5.1 : EXTRAEXERCISE 5.1 : EXTRA

PAGE : 793, 794, 795 and 796

Rosen K.H., Discrete Mathematics & Its Applications, (Seventh Edition), McGraw-Hill, 2007.

Page 15: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.25.2 FINITE-STATE MACHINE WITH OUTPUTFINITE-STATE MACHINE WITH OUTPUT

• Understand finite state machines with output.

• Draw state diagrams for finite state machines with output.

• Construct state table for finite state machines with output.

CHAPTER 5 M

OD

ELLING

COM

PUTATIO

N

Page 16: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

• A Finite State Machine are used – to model many kinds of machine (computer components,

vending machine) – as the basis for programs for spell checking, grammar

checking, indexing or searching large bodies of text, recognizing speech, transforming text and network protocol.

• A Finite State Machine include– a finite set of states, with a designated starting state, an input

alphabet– a transition function that assigns a next state to every state

and input pair.

• A Finite State Machine can produce output or no output.

Finite State MachinesFinite State Machines

Page 17: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

• A Finite State Machine, M = (S, I, O, f, g, s0) consists of: 1. A finite set S of states2. A finite input alphabet I3. A finite output alphabet O4. A transition function f that assigns to each state and input pair

a new state5. An output functions g that assigns to each state and input pair

an output6. An initial state s0

• A Finite State Machine can be represented by – State TABLE– State DIAGRAM (a directed graph with labeled edge, state

represented by a circle)

Finite State Machines with OutputFinite State Machines with Output

Page 18: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

• State TABLE represents the values of the transaction function f and the output function g for all pairs of states and input.

• State DIAGRAM is a directed graph with labeled edge. Each state represented by a circle. Arrows labeled with the input and output pair are shown for each transition

State Table and State DiagramState Table and State Diagram

Statef g

Input0 1

Input0 1

s0 s1 s0 1 0

s1 s3 s0 1 1

s2 s1 s2 0 1

s3 s2 s1 0 0

S = {s0, s1, s2, s3}, I = {0, 1}, O = {0, 1}

s1

s3s0

s2

1,1

1,00,1

1,1

1,0

0,1

0,00,0

Page 19: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

1. Draw the state diagrams for the finite state machines with the following tables.

Statef g

Input0 1

Input0 1

s0 s1 s0 1 1

s1 s2 s0 0 0

s2 s0 s3 1 0

s3 s1 s2 0 1

EXERCISE 5.2EXERCISE 5.2

Statef g

Input0 1

Input0 1

s0 s1 s0 0 0

s1 s0 s2 0 1

s2 s1 s1 1 0

TABLE 1 TABLE 2

Page 20: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

2. Construct the state tables for the finite state machines with the following state diagrams.

EXERCISE 5.2EXERCISE 5.2

FIGURE 1 FIGURE 2

s1 s2s0

1,0

0,0 1,0

1,0

0,0

0,1

s1

s3

s0

s2

1,11,0

0,1

1,1

1,00,1

0,0

0,0

Page 21: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

• If the input string is 0111 then the output string is 1100.

• If the input string is 11011011 then the output string is 00110110.

Input and Output StringInput and Output String

Statef g

Input0 1

Input0 1

s0 s1 s0 1 0

s1 s3 s0 1 1

s2 s1 s2 0 1

s3 s2 s1 0 0

S = {s0, s1, s2, s3}, I = {0, 1}, O = {0, 1}

s1

s3s0

s2

1,1

1,00,1

1,1

1,0

0,1

0,00,0

• Given the following finite state machine;

Page 22: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

3. Given the finite state machines with the following state table and state diagrams. Determine the output for each of the following input strings.

EXERCISE 5.2EXERCISE 5.2

TABLE 1FIGURE 1

s1

s3

s0

s2

1,11,0

0,1

1,1

1,00,1

0,0

0,0

Statef g

Inputa b

Inputa b

s0 s0 s2 3 2

s1 s0 s2 2 1

s2 s1 s2 1 3

a) 1010 b) 11011011

c) 1010001001

w = abaabbababaa

Page 23: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

5.2 FINITE-STATE M

ACHIN

ES WITH

OU

TPUT

EXERCISE 5.2 : EXTRAEXERCISE 5.2 : EXTRA

PAGE : 802 and 803

Rosen K.H., Discrete Mathematics & Its Applications, (Seventh Edition), McGraw-Hill, 2007.

Page 24: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

CHAPTER 5 M

OD

ELLING

COM

PUTATIO

NSUMMARYSUMMARY

THAT’S ALL ; THANK YOU

• Grammars, finite state machine and Turing machines are three structures used in models of computation

What NEXT?

FINAL EXAMINATION