bct 2083 discrete structure and applications
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 PresentationTRANSCRIPT
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
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)
• 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
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
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
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
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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
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;
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
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.
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