Boolean expressions for Turing Machine

In summary, the conversation is about expressing a Non-Deterministic Turing Machine constraint with a boolean expression. The constraint states that cells which are not being read remain the same at the next time step. The expression uses the variables H[i,j] to represent the read/write head and S[i,j,k] to represent the symbol at a specific time and cell. The expression itself is ~H[i,j] ^ ~S[i,j,k] -> ~S[i+1,j,k], which can also be written as H[i,j] V S[i,j,k] V ~S[i+1,j,k]. There is some confusion about the algebra and notation used, particularly regarding the variables i, j, and k. However, it is clarified
  • #1
insectosaurus
5
0
Hello,
I want to express Non-Deterministic Turing Machine constraint with boolean expression.
The constraint is: "Cells which aren’t being read remain the same at time t+1".
lets say H[i,j] means the read/write head at time i at cell j
and S[i,j,k] means the symbol k at time i in cell j

so the expression would be:
~H[i,j] ^ ~S[i,j,k] -> ~S[i+1,j,k]

which equivalent to
H[i,j] V S[i,j,k] V ~S[i+1,j,k]

is this correct ?
i saw in many lecture notes in the web very different expressions, so I'm confused for what's correct.

Thank You
 
Physics news on Phys.org
  • #2
I don't understand the algebra. H and S are range variables, aren't they? If so, how do you obtain the truth value of H when H=12, for instance?
 
  • #3
H and S are 2D and 3D arrays
H[i,j] is TRUE if the read/write head at time i is scanning cell j, else FALSE
S[i,j,k] has symbol k at time i in cell j
 
  • #4
OK.

By your definition S[i,j,k] = True always, and S[i+1,j,k] = False always.

But i,j, and k are random variables aren't they? If so S[2,2,3] = True and S[1+1,2,3]=False. This is an immediate contradition.
 
  • #5
no it's not,
more precisely, [tex]0 \leq k \leq[/tex] |[tex]\Sigma[/tex] | - 1, where
[tex]\Sigma[/tex] is the alphabet.

so S[i,j,k] means at time i, the contents of tape square j is symbol [tex]s_{k}[/tex]

and [tex] 0 \leq i \leq p(n) [/tex] and [tex] -p(n) \leq j \leq p(n) [/tex]

where n is input's length,
lets say the input string is x, then [tex] x = s_{1} \cdot s_{2} \cdot ... \cdot s_{k} \cdot ...\cdot s_{n}[/tex]
 
  • #6
Back up a minute. Is S[i,j,k] always true?
 
  • #7
no, it's true if cell j contains symbol [tex]s_{k}[/tex] at time i
 
  • #8
I believe your problem with this is the notational conventions in use. Though, nearly universally, i,j and k are random variables.

You might try to decipher what objects are treated as constants and what are treated as variables in any given assignments.

I'm afraid my time is up for tonight.
 
  • #9
i,j,k are not random variables
 
  • #10
You are confused as to what constitutes a logical statement.
 

1. What is a Boolean expression in the context of Turing Machines?

A Boolean expression in the context of Turing Machines is a logical statement that evaluates to either true or false. It is used to define the conditions for transitions between states in a Turing Machine.

2. How are Boolean expressions represented in Turing Machines?

Boolean expressions are typically represented using symbols such as "0" and "1" to represent false and true, respectively. They can also be represented using logical operators such as "AND", "OR", and "NOT".

3. Can Boolean expressions be used to solve any problem with Turing Machines?

Yes, Boolean expressions can be used to solve any problem that can be solved by a Turing Machine. They allow for precise control over the transitions between states, making it possible to solve complex problems.

4. How do you write a Boolean expression for a Turing Machine?

To write a Boolean expression for a Turing Machine, you first need to define the input symbols, states, and transitions. Then, you can use logical operators and symbols to define the conditions for each transition between states.

5. Are there any limitations to using Boolean expressions in Turing Machines?

While Boolean expressions are a powerful tool for defining logical conditions in Turing Machines, they can become complex and difficult to manage for larger problems. Additionally, they may not be the most efficient solution for certain problems. It is important to carefully consider the problem at hand and choose the appropriate tools for solving it.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
7
Views
732
  • Engineering and Comp Sci Homework Help
Replies
10
Views
1K
  • Programming and Computer Science
Replies
3
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
1K
  • Programming and Computer Science
Replies
29
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
19
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
  • Programming and Computer Science
Replies
2
Views
1K
Back
Top