Oracle
Turing
Machine
a Neural Network Approach
Contents
- Oracle Turing Machines
- Feed Forward Neural Networks
- Implementation
- Results
Oracle Turing Machine
Regular Turing machines are defined as a 7-tuple
\{Q, \Gamma, b, \Sigma, \delta, q_0, F\}
{Q,Γ,b,Σ,δ,q0,F}
- Q is a finite not empty set of states.
- Gamma is a finite not empty set of alphabet symbols.
- b is the blank symbol.
- Sigma is the set of input symbols.
- q0 is the initial state.
- F is the final states.
- delta is a transition function
Turing [1939] very briefly introduced the notion of an oracle machine
A Turing machine which could consult an oracle tape (database), but he did not develop the idea
Turing Machine
Input Tape Head
Oracle Tape Head
Turing's oracle machine concept lay dormant for years until Emil Post's
Regular Turing machines are defined as a 8-tuple
\{Q, \Gamma, b, \Sigma, \delta, q_0, F, \zeta\}
{Q,Γ,b,Σ,δ,q0,F,ζ}
- Q is a finite not empty set of states.
- Gamma is a finite not empty set of alphabet symbols.
- b is the blank symbol.
- Sigma is the set of input symbols.
- q0 is the initial state.
- F is the final states.
- Zeta is an oracle function to send queries to
- delta is a transition function
Feed Forward Neural Networks
The architecture of choice for this work was a two layered feed forward neural network
x_t = f_t(w_t^Tx^*_{t-1})
xt=ft(wtTxt−1∗)
y = f_N(w_N^Tx^*_{N-1})
y=fN(wNTxN−1∗)
In order to train our neural network we are going to use stochastic gradient descent
w_{t+1} = w_t - \gamma \frac{1}{n}\displaystyle\sum_{i=1}^n \nabla_w l(x_i, w_t)
wt+1=wt−γn1i=1∑n∇wl(xi,wt)
with n = 1
Implementation
Results
Thanks
oracleTuring
By Luis Roman
oracleTuring
- 1,030