finite automata - Can I use stack in Turing Machine? -
i trying design turing machine accepts language l = {w | anb2n} ∑ = {a, b}.
for example machine accepts input : "aabbbb" not accept "aabb"
my code below language ;
#include <iostream> #include <string> using namespace std; char stack[30]; int top = -1; void push(char ch){ stack[++top] = ch; } char pop(){ return stack[top--]; } int main(){ string str; char flag = 0; cout<<"enter input string: "; cin>>str; for(int i=0; i<str.length(); i++){ if(str[i] == 'a') push(str[i]); else if(str[i] == 'b'){ if(top<0 || i>=str.length()-1 || str[++i] != 'b'){ flag = 1; break; } pop(); } else{ flag = 1; break; } } if(flag == 1 || top != -1) cout<<"input unacceptable turing machine.\n"; else cout<<"input acceptable turing machine.\n"; system("pause"); return 0; }
the question : turing machine ? or can use stack in turing machine ?
thank you
you can use stack.
to begin with, suppose took turing machine, , added track. clearly, is possible use additional track stack.
however, multitrack turing machine equivalent turing machine, , there mechanical way transform former latter. stack-track can folded regular turing machine.
Comments
Post a Comment