SlideShare a Scribd company logo
1 of 78
Download to read offline
…   ε ε a0 a1       …        an ε ε   …
        RD     Input Tape
        Head




                 Finite
                Control

                  qi
 Create a Turing Machine that takes as input a string
 consists of different parentheses ( ), [ ] or { } and ensure
 if that string is balanced – open parentheses are balanced
 with closed parentheses – and correct – the smaller one
 does not include the bigger –.

 Examples:
 {[[(()())]()]}    Accepted (balanced and correct)
 [(())(){()()}]    Rejected (balanced but wrong)
 {[()}}{[(())]}    Rejected (correct but unbalanced)
 {()([])}[(()]]    Rejected (unbalanced and wrong)
Q = { Start , Find1 , Find2 , Find3 , End , Rejected , Accepted }
States Description :
Start : initial state, that begin to find first symbol ), ] or } then check it with X, Y or Z respectively.

Find1 : moving left to find matched symbol (, then check it with X and return to Start state.

Find2 : moving left to find matched symbol [, then check it with Y and return to Start state.

Find3 : moving left to find matched symbol {, then check it with Z and return to Start state.

End : the string is finished, thus moving left to ensure that all symbols are checked.

Rejected : there are unchecked (unbalanced) symbols or the string is wrong, therefore string is rejected.

Accepted : all symbols are checked (balanced) and the string is correct, therefore string is accepted.
Γ ={(,),[,],{,},X,Y,Z,ε}   (Tape Alphabet)

Σ ={(,),[,],{,}}           (Input Alphabet)

F = { Accepted }           (Finite States)

Initial State: Start


Blank Symbol: ε
δ(q , γ)        (          )           [          ]           {           }      X         Y          Z            ε
 Start        Start       Find1      Start       Find2      Start       Find3   Start    Start      Start        End
→),],}        (,R         X,L        [,R          Y,L       {,R          Z,L    X,R      Y,R        Z,R          ε,L
                                   Rejected               Rejected                      Rejected   Rejected    Rejected
 Find1        Start                                                             Find1
  (           X,R
                            -         [,L          -         {,L          -
                                                                                X,L
                                                                                          Y,L        Z,L         ε ,R
                                    (wrong)                (wrong)                      (wrong)    (wrong)    (unbalanced)

            Rejected                                      Rejected                                 Rejected    Rejected
 Find2                      -
                                     Start                                      Find2    Find2
  [
              (,L
                                     Y,R
                                                   -         {,L          -
                                                                                 X,L      Y,L
                                                                                                     Z,L         ε ,R
           (unbalanced)                                    (wrong)                                 (wrong)    (unbalanced)

            Rejected               Rejected                                                                    Rejected
 Find3                                                      Start               Find3    Find3      Find3
  {
              (,L           -        [,L           -
                                                            Z,R
                                                                          -
                                                                                 X,L      Y,L        Z,L         ε,R
           (unbalanced)           (unbalanced)                                                                (unbalanced)

                                                                                                               Accepted
 End        Rejected               Rejected               Rejected
                                                                                End       End        End         ε,R
              (,L           -        [,L           -        {,L           -
  ε        (unbalanced)           (unbalanced)           (unbalanced)
                                                                                X,L       Y,L        Z,L        (correct)
                                                                                                               (balanced)

Rejected
  Stop          -           -          -           -          -           -       -        -          -            -


Accepted
  Stop          -           -          -           -          -           -       -        -          -            -
X/X,L


                                                         Find
                                                           1
                     Y/Y,L



                                             [/Y,R
           ε/ε,R
                                                         Find
  Accept             End     ε/ε,L   Start                        (/(,L {/{,L Z/Z,L ε/ε,L   Reject
                                                           2
                                             ]/Y,L
                                                          Y/Y,L



                                                         Find
                                                           3
X/Y,D
X : Scanned Symbol
Y : Written Symbol                               [/[,L
D : Move Direction
A. The string: {[()]}


              …   ε     {   [   (   )   ]   }   ε   …




                                Start
A. The string: {[()]}


              …   ε     {   [   (   )   ]   }   ε   …




                                Start
A. The string: {[()]}


              …   ε     {   [   (   )   ]   }   ε   …




                                Start
A. The string: {[()]}


              …   ε     {   [   (   )   ]   }   ε   …




                                Start
A. The string: {[()]}


              …   ε     {   [   ( X     ]   }   ε   …




                                Find1
A. The string: {[()]}


              …   ε     {   [ X X    ]   }   ε   …




                             Start
A. The string: {[()]}


              …   ε     {   [ X X    ]   }   ε   …




                             Start
A. The string: {[()]}


              …   ε     {   [ X X Y   }   ε   …




                             Find2
A. The string: {[()]}


              …   ε     {   [ X X Y   }   ε   …




                             Find2
A. The string: {[()]}


              …   ε     {   [ X X Y   }   ε   …




                             Find2
A. The string: {[()]}


              …   ε     {   Y X X Y   }   ε   …




                             Start
A. The string: {[()]}


              …   ε     {   Y X X Y   }   ε   …




                             Start
A. The string: {[()]}


              …   ε     {   Y X X Y   }   ε   …




                             Start
A. The string: {[()]}


              …   ε     {   Y X X Y   }   ε   …




                             Start
A. The string: {[()]}


              …   ε     {   Y X X Y Z   ε   …




                             Find3
A. The string: {[()]}


              …   ε     {   Y X X Y Z   ε   …




                             Find3
A. The string: {[()]}


              …   ε     {   Y X X Y Z   ε   …




                             Find3
A. The string: {[()]}


              …   ε     {   Y X X Y Z   ε   …




                             Find3
A. The string: {[()]}


              …   ε     {   Y X X Y Z   ε   …




                             Find3
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        Start
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        Start
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        Start
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        Start
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        Start
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        Start
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z   ε   …




                        End
A. The string: {[()]}


              …   ε Z Y X X Y Z    ε   …




                        Accepted
B.   The string: [{()}]

                …   ε     [   {   (   )   }   ]   ε   …




                                  Start
B.   The string: [{()}]

                …   ε     [   {   (   )   }   ]   ε   …




                                  Start
B.   The string: [{()}]

                …   ε     [   {   (   )   }   ]   ε   …




                                  Start
B.   The string: [{()}]

                …   ε     [   {   (   )   }   ]   ε   …




                                  Start
B.   The string: [{()}]

                …   ε     [   {   ( X     }   ]   ε   …




                                  Find1
B.   The string: [{()}]

                …   ε     [   { X X    }   ]   ε   …




                               Start
B.   The string: [{()}]

                …   ε     [   { X X    }   ]   ε   …




                               Start
B.   The string: [{()}]

                …   ε     [   { X X Z   ]   ε   …




                               Find3
B.   The string: [{()}]

                …   ε     [   { X X Z   ]   ε   …




                               Find3
B.   The string: [{()}]

                …   ε     [   { X X Z   ]   ε   …




                               Find3
B.   The string: [{()}]

                …   ε     [   Z X X Z   ]   ε   …




                               Start
B.   The string: [{()}]

                …   ε     [   Z X X Z   ]   ε   …




                               Start
B.   The string: [{()}]

                …   ε     [   Z X X Z   ]   ε   …




                               Start
B.   The string: [{()}]

                …   ε     [   Z X X Z   ]   ε   …




                               Start
B.   The string: [{()}]

                …   ε     [   Z X X Z Y   ε   …




                               Find2
B.   The string: [{()}]

                …   ε     [   Z X X Z Y   ε   …




                               Rejected
                                (wrong)
C. The string: {[[()]


              …   ε     {   [   [   (   )   ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [   (   )   ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [   (   )   ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [   (   )   ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [   (   )   ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [   (   X ]   ε   …




                                Find1
C. The string: {[[()]


              …   ε     {   [   [ X X ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [ X X ]   ε   …




                                Start
C. The string: {[[()]


              …   ε     {   [   [ X X Y   ε   …




                                Find2
C. The string: {[[()]


              …   ε     {   [   [ X X Y   ε   …




                                Find2
C. The string: {[[()]


              …   ε     {   [   [ X X Y   ε   …




                                Find2
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                             Start
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                             Start
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                             Start
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                             Start
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                              End
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                              End
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                              End
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                              End
C. The string: {[[()]


              …   ε     {   [ Y X X Y   ε   …




                              End
C. The string: {[[()]


              …   ε     {   [ Y X X Y       ε   …




                             Rejected
                             (unbalanced)
Turing machine

More Related Content

What's hot

Pattern matching
Pattern matchingPattern matching
Pattern matching
shravs_188
 
The Maximum Subarray Problem
The Maximum Subarray ProblemThe Maximum Subarray Problem
The Maximum Subarray Problem
Kamran Ashraf
 

What's hot (20)

Ch3 4 regular expression and grammar
Ch3 4 regular expression and grammarCh3 4 regular expression and grammar
Ch3 4 regular expression and grammar
 
Automata theory -Conversion of ε nfa to nfa
Automata theory -Conversion of ε nfa to nfaAutomata theory -Conversion of ε nfa to nfa
Automata theory -Conversion of ε nfa to nfa
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Pattern matching
Pattern matchingPattern matching
Pattern matching
 
Greedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack ProblemGreedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack Problem
 
Unit 3 daa
Unit 3 daaUnit 3 daa
Unit 3 daa
 
PAI Unit 2 Protection in 80386 segmentation
PAI Unit 2 Protection in 80386 segmentationPAI Unit 2 Protection in 80386 segmentation
PAI Unit 2 Protection in 80386 segmentation
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translation
 
The Maximum Subarray Problem
The Maximum Subarray ProblemThe Maximum Subarray Problem
The Maximum Subarray Problem
 
Counting Sort and Radix Sort Algorithms
Counting Sort and Radix Sort AlgorithmsCounting Sort and Radix Sort Algorithms
Counting Sort and Radix Sort Algorithms
 
Artificial Intelligence 1 Planning In The Real World
Artificial Intelligence 1 Planning In The Real WorldArtificial Intelligence 1 Planning In The Real World
Artificial Intelligence 1 Planning In The Real World
 
NP completeness
NP completenessNP completeness
NP completeness
 
8051 io interface
8051 io interface8051 io interface
8051 io interface
 
Merge sort
Merge sortMerge sort
Merge sort
 
Arm assembly language programming
Arm assembly language programmingArm assembly language programming
Arm assembly language programming
 
Top down parsing
Top down parsingTop down parsing
Top down parsing
 
02 order of growth
02 order of growth02 order of growth
02 order of growth
 
Unit 1 polynomial manipulation
Unit 1   polynomial manipulationUnit 1   polynomial manipulation
Unit 1 polynomial manipulation
 
Space complexity-DAA.pptx
Space complexity-DAA.pptxSpace complexity-DAA.pptx
Space complexity-DAA.pptx
 

Viewers also liked

The imatatation game
The imatatation gameThe imatatation game
The imatatation game
pheobewebb
 

Viewers also liked (17)

Turing machines
Turing machinesTuring machines
Turing machines
 
Turing machine Introduction
Turing machine IntroductionTuring machine Introduction
Turing machine Introduction
 
Turing machine by_deep
Turing machine by_deepTuring machine by_deep
Turing machine by_deep
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Turing machine
Turing machineTuring machine
Turing machine
 
Alan turing's work before, during & after bletchley park
Alan turing's work before, during & after bletchley parkAlan turing's work before, during & after bletchley park
Alan turing's work before, during & after bletchley park
 
The imatatation game
The imatatation gameThe imatatation game
The imatatation game
 
The trans-Turing Machine
The trans-Turing MachineThe trans-Turing Machine
The trans-Turing Machine
 
Church Turing Thesis
Church Turing ThesisChurch Turing Thesis
Church Turing Thesis
 
Working principle of Turing machine
Working principle of Turing machineWorking principle of Turing machine
Working principle of Turing machine
 
Cracking the Enigma Machine - Rejewski, Turing and the Math that saved the world
Cracking the Enigma Machine - Rejewski, Turing and the Math that saved the worldCracking the Enigma Machine - Rejewski, Turing and the Math that saved the world
Cracking the Enigma Machine - Rejewski, Turing and the Math that saved the world
 
Automata 3
Automata 3Automata 3
Automata 3
 
Automata 6
Automata 6Automata 6
Automata 6
 
Automata 1
Automata 1Automata 1
Automata 1
 
Turing machine
Turing  machine Turing  machine
Turing machine
 

More from Umar Alharaky (6)

Function Point Counting Practices
Function Point Counting PracticesFunction Point Counting Practices
Function Point Counting Practices
 
CMMI for Development
CMMI for DevelopmentCMMI for Development
CMMI for Development
 
Generalized Stochastic Petri Nets
Generalized Stochastic Petri NetsGeneralized Stochastic Petri Nets
Generalized Stochastic Petri Nets
 
Data integration
Data integrationData integration
Data integration
 
Spam Filtering
Spam FilteringSpam Filtering
Spam Filtering
 
Simulation Tracking Object Reference Model (STORM)
Simulation Tracking Object Reference Model (STORM)Simulation Tracking Object Reference Model (STORM)
Simulation Tracking Object Reference Model (STORM)
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 

Turing machine

  • 1.
  • 2. ε ε a0 a1 … an ε ε … RD Input Tape Head Finite Control qi
  • 3.  Create a Turing Machine that takes as input a string consists of different parentheses ( ), [ ] or { } and ensure if that string is balanced – open parentheses are balanced with closed parentheses – and correct – the smaller one does not include the bigger –.  Examples: {[[(()())]()]} Accepted (balanced and correct) [(())(){()()}] Rejected (balanced but wrong) {[()}}{[(())]} Rejected (correct but unbalanced) {()([])}[(()]] Rejected (unbalanced and wrong)
  • 4. Q = { Start , Find1 , Find2 , Find3 , End , Rejected , Accepted } States Description : Start : initial state, that begin to find first symbol ), ] or } then check it with X, Y or Z respectively. Find1 : moving left to find matched symbol (, then check it with X and return to Start state. Find2 : moving left to find matched symbol [, then check it with Y and return to Start state. Find3 : moving left to find matched symbol {, then check it with Z and return to Start state. End : the string is finished, thus moving left to ensure that all symbols are checked. Rejected : there are unchecked (unbalanced) symbols or the string is wrong, therefore string is rejected. Accepted : all symbols are checked (balanced) and the string is correct, therefore string is accepted.
  • 5. Γ ={(,),[,],{,},X,Y,Z,ε} (Tape Alphabet) Σ ={(,),[,],{,}} (Input Alphabet) F = { Accepted } (Finite States) Initial State: Start Blank Symbol: ε
  • 6. δ(q , γ) ( ) [ ] { } X Y Z ε Start Start Find1 Start Find2 Start Find3 Start Start Start End →),],} (,R X,L [,R Y,L {,R Z,L X,R Y,R Z,R ε,L Rejected Rejected Rejected Rejected Rejected Find1 Start Find1 ( X,R - [,L - {,L - X,L Y,L Z,L ε ,R (wrong) (wrong) (wrong) (wrong) (unbalanced) Rejected Rejected Rejected Rejected Find2 - Start Find2 Find2 [ (,L Y,R - {,L - X,L Y,L Z,L ε ,R (unbalanced) (wrong) (wrong) (unbalanced) Rejected Rejected Rejected Find3 Start Find3 Find3 Find3 { (,L - [,L - Z,R - X,L Y,L Z,L ε,R (unbalanced) (unbalanced) (unbalanced) Accepted End Rejected Rejected Rejected End End End ε,R (,L - [,L - {,L - ε (unbalanced) (unbalanced) (unbalanced) X,L Y,L Z,L (correct) (balanced) Rejected Stop - - - - - - - - - - Accepted Stop - - - - - - - - - -
  • 7. X/X,L Find 1 Y/Y,L [/Y,R ε/ε,R Find Accept End ε/ε,L Start (/(,L {/{,L Z/Z,L ε/ε,L Reject 2 ]/Y,L Y/Y,L Find 3 X/Y,D X : Scanned Symbol Y : Written Symbol [/[,L D : Move Direction
  • 8. A. The string: {[()]} … ε { [ ( ) ] } ε … Start
  • 9. A. The string: {[()]} … ε { [ ( ) ] } ε … Start
  • 10. A. The string: {[()]} … ε { [ ( ) ] } ε … Start
  • 11. A. The string: {[()]} … ε { [ ( ) ] } ε … Start
  • 12. A. The string: {[()]} … ε { [ ( X ] } ε … Find1
  • 13. A. The string: {[()]} … ε { [ X X ] } ε … Start
  • 14. A. The string: {[()]} … ε { [ X X ] } ε … Start
  • 15. A. The string: {[()]} … ε { [ X X Y } ε … Find2
  • 16. A. The string: {[()]} … ε { [ X X Y } ε … Find2
  • 17. A. The string: {[()]} … ε { [ X X Y } ε … Find2
  • 18. A. The string: {[()]} … ε { Y X X Y } ε … Start
  • 19. A. The string: {[()]} … ε { Y X X Y } ε … Start
  • 20. A. The string: {[()]} … ε { Y X X Y } ε … Start
  • 21. A. The string: {[()]} … ε { Y X X Y } ε … Start
  • 22. A. The string: {[()]} … ε { Y X X Y Z ε … Find3
  • 23. A. The string: {[()]} … ε { Y X X Y Z ε … Find3
  • 24. A. The string: {[()]} … ε { Y X X Y Z ε … Find3
  • 25. A. The string: {[()]} … ε { Y X X Y Z ε … Find3
  • 26. A. The string: {[()]} … ε { Y X X Y Z ε … Find3
  • 27. A. The string: {[()]} … ε Z Y X X Y Z ε … Start
  • 28. A. The string: {[()]} … ε Z Y X X Y Z ε … Start
  • 29. A. The string: {[()]} … ε Z Y X X Y Z ε … Start
  • 30. A. The string: {[()]} … ε Z Y X X Y Z ε … Start
  • 31. A. The string: {[()]} … ε Z Y X X Y Z ε … Start
  • 32. A. The string: {[()]} … ε Z Y X X Y Z ε … Start
  • 33. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 34. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 35. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 36. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 37. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 38. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 39. A. The string: {[()]} … ε Z Y X X Y Z ε … End
  • 40. A. The string: {[()]} … ε Z Y X X Y Z ε … Accepted
  • 41. B. The string: [{()}] … ε [ { ( ) } ] ε … Start
  • 42. B. The string: [{()}] … ε [ { ( ) } ] ε … Start
  • 43. B. The string: [{()}] … ε [ { ( ) } ] ε … Start
  • 44. B. The string: [{()}] … ε [ { ( ) } ] ε … Start
  • 45. B. The string: [{()}] … ε [ { ( X } ] ε … Find1
  • 46. B. The string: [{()}] … ε [ { X X } ] ε … Start
  • 47. B. The string: [{()}] … ε [ { X X } ] ε … Start
  • 48. B. The string: [{()}] … ε [ { X X Z ] ε … Find3
  • 49. B. The string: [{()}] … ε [ { X X Z ] ε … Find3
  • 50. B. The string: [{()}] … ε [ { X X Z ] ε … Find3
  • 51. B. The string: [{()}] … ε [ Z X X Z ] ε … Start
  • 52. B. The string: [{()}] … ε [ Z X X Z ] ε … Start
  • 53. B. The string: [{()}] … ε [ Z X X Z ] ε … Start
  • 54. B. The string: [{()}] … ε [ Z X X Z ] ε … Start
  • 55. B. The string: [{()}] … ε [ Z X X Z Y ε … Find2
  • 56. B. The string: [{()}] … ε [ Z X X Z Y ε … Rejected (wrong)
  • 57. C. The string: {[[()] … ε { [ [ ( ) ] ε … Start
  • 58. C. The string: {[[()] … ε { [ [ ( ) ] ε … Start
  • 59. C. The string: {[[()] … ε { [ [ ( ) ] ε … Start
  • 60. C. The string: {[[()] … ε { [ [ ( ) ] ε … Start
  • 61. C. The string: {[[()] … ε { [ [ ( ) ] ε … Start
  • 62. C. The string: {[[()] … ε { [ [ ( X ] ε … Find1
  • 63. C. The string: {[[()] … ε { [ [ X X ] ε … Start
  • 64. C. The string: {[[()] … ε { [ [ X X ] ε … Start
  • 65. C. The string: {[[()] … ε { [ [ X X Y ε … Find2
  • 66. C. The string: {[[()] … ε { [ [ X X Y ε … Find2
  • 67. C. The string: {[[()] … ε { [ [ X X Y ε … Find2
  • 68. C. The string: {[[()] … ε { [ Y X X Y ε … Start
  • 69. C. The string: {[[()] … ε { [ Y X X Y ε … Start
  • 70. C. The string: {[[()] … ε { [ Y X X Y ε … Start
  • 71. C. The string: {[[()] … ε { [ Y X X Y ε … Start
  • 72. C. The string: {[[()] … ε { [ Y X X Y ε … End
  • 73. C. The string: {[[()] … ε { [ Y X X Y ε … End
  • 74. C. The string: {[[()] … ε { [ Y X X Y ε … End
  • 75. C. The string: {[[()] … ε { [ Y X X Y ε … End
  • 76. C. The string: {[[()] … ε { [ Y X X Y ε … End
  • 77. C. The string: {[[()] … ε { [ Y X X Y ε … Rejected (unbalanced)