patternMinor
Show that the Turing Machine domain can be viewed as a classical planning domain
Viewed 0 times
showcantheplanningclassicalviewedthatmachineturingdomain
Problem
This is one of my assignments. I am not able to comprehend how to reduce the Turing machine domain to Classical planning domain. My understanding is that we have to essentially perform complexity analysis of classical planning domain. So I have defined these two languages
a) PLAN-EXISTENCE(D) = {P : P is the statement of a planning problem that has a solution}
b) PLAN-LENGTH(D) = {(P,n) : P is the statement of a planning problem that has a solution that contains no more than n actions (length ≤ n) }
And then I proceed to prove that both these are decidable in classical planning domain.
Is this the correct approach? Please help me
a) PLAN-EXISTENCE(D) = {P : P is the statement of a planning problem that has a solution}
b) PLAN-LENGTH(D) = {(P,n) : P is the statement of a planning problem that has a solution that contains no more than n actions (length ≤ n) }
And then I proceed to prove that both these are decidable in classical planning domain.
Is this the correct approach? Please help me
Solution
In order to show that the computation of a Turing machine can be modeled as a planning problem, you can encode the tape symbols, the head position and state, and the execution of a transition using states:
At the beginning
Actions are built using the transition table of the Turing machine; suppose that you have the transition:
Then for every cell i of the tape you can add the actions:
The actions for the transitions to accepting states are similar.
Note that actions with only 2 positive preconditions and two postconditions are enough to "simulate" the behaviour of a Turing machine.
symb(i,x) : i-th cell of the tape contains symbol x
head(i,q) : head is over cell i in state q
exec(i,q,x) : execute the transition at i-th cell in state q over symbol x
accept : accept the inputAt the beginning
symb(i,x) are true/false according to tape content; head(1, q0) is true; and all other states are false. The goal G is {accept}.Actions are built using the transition table of the Turing machine; suppose that you have the transition:
a, q0 -> b, q1, LeftThen for every cell i of the tape you can add the actions:
symb(i,a) AND head(i,q0) => !head(i,a) AND exec(i,q0,a)
exec(i,q0,a) AND symb(i,a) => !symb(i,a) AND symb(i,b)
exec(i,q0,a) AND symb(i,b) => !exec(i,q0,a) AND head(i+1,q1)The actions for the transitions to accepting states are similar.
Note that actions with only 2 positive preconditions and two postconditions are enough to "simulate" the behaviour of a Turing machine.
Code Snippets
symb(i,x) : i-th cell of the tape contains symbol x
head(i,q) : head is over cell i in state q
exec(i,q,x) : execute the transition at i-th cell in state q over symbol x
accept : accept the inputa, q0 -> b, q1, Leftsymb(i,a) AND head(i,q0) => !head(i,a) AND exec(i,q0,a)
exec(i,q0,a) AND symb(i,a) => !symb(i,a) AND symb(i,b)
exec(i,q0,a) AND symb(i,b) => !exec(i,q0,a) AND head(i+1,q1)Context
StackExchange Computer Science Q#9573, answer score: 4
Revisions (0)
No revisions yet.