Está en la página 1de 18

SIMULACION DE MAQUINA DE

TURING Y MAQUINA RAM

Estudiantes Profesor
Riccardo Pietrosanti Serafin Moral Callejón
Matteo Pavani
Maquina de Touring definición

… Una máquina de Turing con una sola cinta puede ser


d fi id como una 6-tupla,
definida 6t l

… Q es un conjunto
j fi
finito
i d de estados.
d

… Г es un conjunto finito de símbolos de cinta, el alfabeto


de cinta.

… s Є Q es el estado inicial.
Maquina de Touring definición

… b Є Г es un símbolo denominado blanco, y es el único


símbolo que se puede repetir un número infinito de veces.
veces

… F ‫ ك‬Q es el conjunto de estados finales de aceptación.

… δ: Q x Γ → Q x Г {{L,R}} es una función p


parcial
denominada función de transición, donde L es un
movimiento a la izquierda y R es el movimiento a la
derecha.
derecha
Maquina de Touring definición

… La máquina de Turing consta de


unn cabe
cabezalal lector/escritor y una
na
cinta infinita en la que el cabezal
lee el contenido,
contenido borra el contenido
anterior y escribe un nuevo valor.

… Las operaciones que se pueden realizar en esta máquina


se limitan a:
• avanzar el cabezal lector/escritor hacia la derecha.
• avanzar el cabezal lector/escritor hacia la izquierda.
Maquina RAM definición

… Una maquina RAM,


RAM se llama asi porque tiene un numero
finido de registros, celdas que pueden contener un entero
de cualquier longitud.

… E ell conjunto
En j d
de los
l registros
i hhay d
dos mas importantes:
i
• Uno que se llama CI, contador de las istrucciones, que contiene el
numero progresivo de la proxima instrucción que la maquina
ejecutarà.
• Y el otro que se llama Acumulador que contiene cada vez uno de
los operandos
p con lo cual trabajan
j las istrucciones de la maquina.
q
Maquina RAM definición

… la maquina
q trabaja
j sobre dos cintas,, una de input
p y
otra de output, echas con celdas capaz de contener
enteros de cualquier
q longitud.
g
Maquina RAM definición

… Las istrucciones son:


• De transición:
• LOAD
• STORE
• Arimeticàs:
• ADD
• SUB
• MULT
• DIV
Maquina RAM definición

• De control:
• HALT
• STORE
• De salto:
• JUMP
• JZERO
• JGTZ
Definición de funcion calculabile

… Una funcion f : Nⁿ Æ N se ppuede calcular con


maquinas RAM si existe un programa P de
istrucciones por RAM tal que,
que si f(x1,….
1 , x n) = y

entonces el programa P inicializado con x1,…., xn


en la cinta de input, acaba el trabajo con y en la
cinta de output.
p
RAM que simula Turing definición
… Data una maquina
D i d de Turing
T i M con cinta
i
semiinfinida y alfabeto Γ={0,1} existe una RAM
con el relativo programa P tal que si M trabaja
de la configuracion inicial q0x hasta la
configuracion final qfy y si la RAM es
inicializada con x en los registros 2,…..,|x| +1,
al acabo de la computacion la ram tendrà en
los registros 2,....., |y|+1 el resultado y. Ademas
si M trabaja en complejidad de tiempo T la
RAM trabaja,
t b j calculado
l l d con losl modelos
d l a
cuesto logaritmico, en tiempo O (TlogT).
RAM que simula Turing dimostración
Para simular hay que poner el contenido i-esimo de la cinta de M en
las celdas i+1-esima de la RAM en valores binario. Ademas la
primera celda de la RAM es utilizada para contener cada vez el
contenido de la casilla de la cinta de M con la cual se esta
trabajando. De echo la M al comienzo esta posicionada en la
primera
i casilla
ill asii en lla RAM lla celda
ld R1 se dirigirà
di i i à a la
l celda
ld R2.
Para cada estado de M, la RAM tendrá un programa P con una
secuencia de istrucciones. Por ejemplo
j p en correspondencia
p del
estado p M tendrá sus reglas de transicion δ (p, 0) = (q, 1, d) y
δ(p, 1) = (p, 1, s) el programa P tendrá el siguente codigo:
RAM que simula Turing dimostración

…..
p LOAD (1)
JGTZ p’
p
LOAD #1
STORE (1)
LOAD 1
ADD #1
STORE 1
JUMP q
p’ LOAD 1
SUB #1
STORE 1
JUMP p
. . ..
RAM que simula Turing dimostración

asi que cada transicción de M la RAM execute al maximo ocho


it
istrucciones
i que titienen una complejidad
l jid d de
d tiempo
ti O(log
O(l imax) donde
d d
imax es el numero maximo de casillas con las cuales trabaja M. Asi
que si M trabaja
q j en T pases
p y imax ≤ T+1 , el cuesto de execution de
P es O(TlogT).
Turing que simula RAM definición
Data una RAM con su relativo programa P que calcula la
funcion f existe una maquina de turing M tal que si
f(x1 xn)=y y en la cinta de input hay los enteros en binario
f(x1,...,x
x1,...,xn, la maquina M acaba de trabajar con el resultado en
binario de y en la cinta de salida. Si la maquina
q RAM tiene
cuesto T, M trabaja en complejidad de tiempo O(T ²)
calculada siempre en los modelos de cuesto logaritmico.
Turing que simula RAM dimostración
LLas cintas
i t dde ttrabajo
b j dde lla M son
utilizados en esta manera,todos
tienen valores almacenados en
binario. En la primera cinta hay
todos los valores de las celdas que
utiliza la RAM, cada uno con el
numero progresivo de la celda
misma En la segunda cinta hay el
misma.
contenido del acumulador y la ultima
cinta se utiliza como cinta de trabajo. Por cada istrucción que hace
la RAM, la M tendrà unos estados con lo cuales se puede executar
las operaciones correspondientes. Si hay istrucción de salto
simplemente hay que comprobar el contenido del acumulador y
executart las
l ttransiciones.
ii
Turing que simula RAM dimostración
Si hay operaciones que no modifican el contenido de las celdas
(LOAD WRITE, istrucciones aritmeticas) es suficiente: encontrar en la
cinta T1 la celda con la cual si tiene que trabajar, executar la
operaccion entre el contenido de la celda y el acumulador o la cinta
de salida, modificando uno de los dos.
Si hay operacciones de READ, STORE (que modificàn el contenido de
la celda) hay que guardar el contenido de la cinta T1 a la derecha
de la celda que hay que modificar en la cinta T3, executar la
operaccion modificando el contenido de la celda encontrada, y
guardar otra vez desde la cinta T3 de trabajo a la cinta T1 el trozo
del contenido de la cinta que no hemos modificado. Asi que al
maximo las transicciones que M tiene que executar, para cada
istrucciones de la RAM, cuestan un tiempo igual a la longitud tmax
que alcanza la cinta T1.
Turing que simula RAM dimostración
Entonces si la cinta T1 es larga tmax es porque la RAM ha gastado
como minimo un cuesto igual mientras trabajaba. Por eso si en la
cinta T1 hay el numero i progresivo de una celda, es decir si la RAM
ha llegado hasta esa celda ha trabajado con un cuesto del orden
de i, y si en la cinta T1 hay el contenido de la celda R( i ), es porque
l RAM ha
la h trabajado
b j d con ell contenidoid ded esa celda ld asii que ha
h
tenido un cuesto igual al orden de R( i ). En fin si la RAM trabaja con
cuesto T y de echo tmax≤T el cuesto total es de O(T ( ²) os q
que la M
trabaja en O(T*tmax).
Bibliografía y webgrafía

… Linguaggi,
g gg , Modelli,, Complessità
p
G. Auisiello, F. D’Amore, G. Gambosi

… Wikipedia

… http://www.dis.uniroma1.it/~ausiello/

También podría gustarte