1 / 24

BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

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

quade
Download Presentation

BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. CONTENT 5.1 Languages and Grammars 5.2 Finite-State Machines with Output 5.3 Finite-State Machines with No Output 5.4 Language Recognition (not cover) 5.5 Turing Machines (not cover) CHAPTER 5 MODELLING COMPUTATION

  3. Introduction • Models of computation help us to answer the following questions: • Can a task be carried out using computer? • If YES, How can the task be carried out? • Three types of structures used in models computation: • Grammars • Used to generate words of a language and determine whether a word is in a language. • Finite-state Machines • Used in modeling a problem. • Turing Machines • Used to classify problems as tractable/intractable and solvable/unsolvable. CHAPTER 5 MODELLING COMPUTATION

  4. CHAPTER 5 MODELLING COMPUTATION • Understand language and grammars in models of computation • Construct derivation tree 5.1 LANGUAGE AND GRAMMARS

  5. Natural Language & Formal Language • 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? 5.1 LANGUAGE AND GRAMMARS

  6. Basic Terminologies • 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. 5.1 LANGUAGE AND GRAMMARS

  7. Phrase-Structure Grammars • A Phrase-Structure Grammars G = (V, T, S, P) consists of: • a vocabulary V, • a subset T of V consisting of terminal elements • a start symbol S from V • 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. 5.1 LANGUAGE AND GRAMMARS

  8. Language L(G) of a Grammar G • 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. 5.1 LANGUAGE AND GRAMMARS

  9. EXERCISE 5.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? • Find the language L(G) over {a, b, c} generated by the grammar G with the productions P = {S→aSb, aS→Aa, Aab→c}. • 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}. 5.1 LANGUAGE AND GRAMMARS

  10. Types of Grammars 5.1 LANGUAGE AND GRAMMARS 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.

  11. Derivation Tree of Context-Free Grammar • 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. 5.1 LANGUAGE AND GRAMMARS

  12. Example: Derivation Tree • 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) ⇒ acbabc Thus, the derivation tree is given as follows: 5.1 LANGUAGE AND GRAMMARS S a A B B b b a B c c

  13. EXERCISE 5.1 • 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. • 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). 5.1 LANGUAGE AND GRAMMARS

  14. EXERCISE 5.1 : EXTRA PAGE : 793, 794, 795 and 796 Rosen K.H., Discrete Mathematics & Its Applications, (Seventh Edition), McGraw-Hill, 2007. 5.1 LANGUAGE AND GRAMMARS

  15. 5.2 FINITE-STATE MACHINE WITH OUTPUT CHAPTER 5 MODELLING COMPUTATION • Understand finite state machines with output. • Draw state diagrams for finite state machines with output. • Construct state table for finite state machines with output.

  16. Finite State Machines • 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. 5.2 FINITE-STATE MACHINES WITH OUTPUT

  17. Finite State Machines with Output • A Finite State Machine, M = (S, I, O, f, g, s0) consists of: • A finite set S of states • A finite input alphabet I • A finite output alphabet O • A transition function f that assigns to each state and input pair a new state • An output functions g that assigns to each state and input pair an output • 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) 5.2 FINITE-STATE MACHINES WITH OUTPUT

  18. State Table and State Diagram • State TABLE represents the values of the transaction functionf and the output functiong 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 5.2 FINITE-STATE MACHINES WITH OUTPUT S = {s0, s1,s2,s3}, I = {0, 1}, O = {0, 1} 0,1 0,1 1,0 s1 1,0 s0 s3 1,1 0,0 0,0 s2 1,1

  19. EXERCISE 5.2 • Draw the state diagrams for the finite state machines with the following tables. 5.2 FINITE-STATE MACHINES WITH OUTPUT TABLE 1 TABLE 2

  20. EXERCISE 5.2 • Construct the state tables for the finite state machines with the following state diagrams. 5.2 FINITE-STATE MACHINES WITH OUTPUT 0,0 0,0 1,0 s0 0,0 s1 0,1 s0 s1 s2 1,1 0,1 1,0 1,0 0,1 1,0 0,0 s2 s3 1,0 1,1 FIGURE 1 FIGURE 2

  21. Input and Output String • If the input string is 0111 then the output string is 1100. • If the input string is 11011011 then the output string is 00110110. 5.2 FINITE-STATE MACHINES WITH OUTPUT • Given the following finite state machine; S = {s0, s1,s2,s3}, I = {0, 1}, O = {0, 1} 0,1 0,1 1,0 s1 1,0 s0 s3 1,1 0,0 0,0 s2 1,1

  22. EXERCISE 5.2 • Given the finite state machines with the following state table and state diagrams. Determine the output for each of the following input strings. 5.2 FINITE-STATE MACHINES WITH OUTPUT 0,0 s0 s1 0,1 1,1 0,1 1,0 1,0 0,0 s2 s3 1,1 TABLE 1 FIGURE 1 w = abaabbababaa • 1010 b) 11011011 • c) 1010001001

  23. EXERCISE 5.2 : EXTRA PAGE : 802 and 803 Rosen K.H., Discrete Mathematics & Its Applications, (Seventh Edition), McGraw-Hill, 2007. 5.2 FINITE-STATE MACHINES WITH OUTPUT

  24. CHAPTER 5 MODELLING COMPUTATION • Grammars, finite state machine and Turing machines are three structures used in models of computation SUMMARY What NEXT? FINAL EXAMINATION THAT’S ALL ; THANK YOU

More Related