Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question
100%

CONSIDER
In Ocaml:
type ('q, 's) transi = 'q * 's option * 'q

type ('q, 's) nfa_y = { sigma : 's list; qs : 'q list; q0 : 'q; fs : 'q list; delta : ('q, 's) transi list; }

So:

  • let nfa = { sigma = ['z']; qs = [1; 2; 3]; q0 = 1; fs = [3]; delta = [(1, Some 'z', 2); (2, None, 3)] }

mo n ql t, of Type: ('q, 's) nfa_y -> 'q list -> 's option -> 'q list, takes an NFA n, a set of initial states ql, and a symbol option t. It returns a set of states that the NFA might be in after starting from any state in ql and making one transition on the symbol t.

So:

  • mo nfa [1] (Some 'z') = [2]
    mo nfa [2] (Some 'z') = []
    mo nfa [3] (Some 'z') = []
    mo nfa [1;2] (Some 'z') = [2]
    mo nfa [2] None = [3]

e_clo n ql, of Type: ('q, 's) nfa_y -> 'q list -> 'q list, takes an NFA n and a set of initial states ql. It returns a set of states that the NFA might be in after making zero or more epsilon transitions from any state in ql.

So:

  • e_clo nfa [1] = [1]
    e_clo nfa [2] = [2;3]
    e_clo nfa [3]  = [3]
    e_clo nfa [1;2] = [1;2;3]



PROBLEM: Complete function 

acce n t, of Type ('q, char) nfa_y -> string -> bool

which takes an NFA nfa and a string s, and returns true if the NFA accepts the string.

 

Example:

let dfa = {
    sigma = ['z'; 'y'; 'x'];
    qs = [1; 2; 3];
    q0 = 1;
    fs = [3];
    delta = [(1, Some 'z', 2); (2, Some 'y', 1); (2, Some 'x', 3)]
};;

acce dfa "" = false;; (* dfa_ex is the NFA defined above *)
acce dfa "zx" = true;;
acce dfa "zyx" = false;;
acce dfa "zyzx" = true;;

Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education