Máquinas de Turing y otros artilugios - FIng

1 nov. 2012 - Máquinas de Turing y otros artilugios. 1er Encuentro de Educación en Ciencia de la Computación. Luis Sierra. Instituto de Computación.
682KB Größe 15 Downloads 95 vistas
M´aquinas de Turing y otros artilugios 1er Encuentro de Educaci´ on en Ciencia de la Computaci´on

Luis Sierra Instituto de Computaci´ on

1 de Noviembre del 2012

Luis Sierra (InCo)

M´ aquinas

EECC 2012

1 / 22

Plan

M´aquinas de Turing

Luis Sierra (InCo)

M´ aquinas

EECC 2012

2 / 22

Plan

M´aquinas de Turing Otros artilugios

Luis Sierra (InCo)

M´ aquinas

EECC 2012

2 / 22

Plan

M´aquinas de Turing Otros artilugios 1

2

3

m. Mecanismo, artefacto, sobre todo si es de cierta complicaci´on. U. m. en sent. despect. m. Ardid o ma˜ na, especialmente cuando forma parte de alg´ un plan para alcanzar un fin. m. Herramienta de un oficio.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

2 / 22

Luis Sierra (InCo)

M´ aquinas

EECC 2012

3 / 22

Procesos combinatorios finitos (Journal of Symbolic Logic, Vol.1, Iss.3, 1936)

Tenemos en mente un problema general formado por una clase de problemas especificos. Una soluci´ on al problema general proporcionar´a una respuesta a cada problema espec´ıfico. En la siguiente formulaci´on de la soluci´ on participan dos conceptos: el de un espacio de s´ımbolos en el que se lleva a cabo el trabajo de pasar del problema a la respuesta, y el de un conjunto de instrucciones fijo e inalterable que controla tanto las operaciones en el espacio de s´ımbolos como el orden en que dichas instrucciones se deben aplicar.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

4 / 22

Procesos combinatorios finitos En esta formulaci´on el espacio de s´ımbolos consiste en una secuencia de espacios o casillas, que es infinita en ambos sentidos; es decir, ordinalmente similar a la serie de enteros . . . , -3, -2, -1,0,1,2,3 , . . . El solucionador de problemas, o trabajador, debe moverse y trabajar en este espacio de s´ımbolos, pudiendo ver y operar sobre una u ´nica casilla a la vez. Aparte de la presencia del trabajador, una casilla admite s´olo una de dos condiciones posibles; estar vac´ıa, o tener una marca u ´nica, por ejemplo un trazo vertical. Se debe elegir una casilla llamada el punto de partida. Suponemos que un problema espec´ıfico debe darse en forma simb´ olica por medio de un n´ umero finito de casillas marcadas. Del mismo modo, la respuesta debe darse en forma simb´olica por una configuraci´ on de casillas marcadas. Para ser espec´ıficos, la respuesta es la configuraci´ on de casillas marcadas que quedan luego del proceso de resoluci´ on. Luis Sierra (InCo)

M´ aquinas

EECC 2012

5 / 22

Procesos combinatorios finitos

Se supone que el trabajador es capaz de realizar las siguientes acciones primitivas: (a) Marcar la casilla en que se encuentra (suponi´endola vac´ıa) (b) Borrar la marca de la casilla en que se encuentra (suponi´endola marcada) (c) Moverse a la casilla de la derecha (d) Moverse a la casilla de la izquierda (e) Determinar si la casilla en que se encuentra est´a marcada o no

Luis Sierra (InCo)

M´ aquinas

EECC 2012

6 / 22

Procesos combinatorios finitos El conjunto de instrucciones que, sea dicho, es el mismo para todos los problemas espec´ıficos y por tanto corresponde al problema general, ha de ser de la siguiente forma. Debe comenzar Comience en el punto de partida y siga la instrucci´on 1 Luego, consta de un n´ umero finito de instrucciones numeradas 1, 2, 3, . . . , n . La instrucci´ on i-´esima debe tener alguna de las siguientes formas: (A) Realice la operaci´on Oi [Oi = (a), (b), (c), o (d)] y luego siga la instrucci´on ji (B) Realice la operaci´on (e) y, seg´ un la respuesta es s´ı o no, seguir la instrucci´on ji0 o ji00 (C) Det´engase

Luis Sierra (InCo)

M´ aquinas

EECC 2012

7 / 22

Procesos combinatorios finitos El conjunto de instrucciones que, sea dicho, es el mismo para todos los problemas espec´ıficos y por tanto corresponde al problema general, ha de ser de la siguiente forma. Debe comenzar Comience en el punto de partida y siga la instrucci´on 1 Luego, consta de un n´ umero finito de instrucciones numeradas 1, 2, 3, . . . , n . La instrucci´ on i-´esima debe tener alguna de las siguientes formas: (A) Realice la operaci´on Oi [Oi = (a), (b), (c), o (d)] y luego siga la instrucci´on ji (B) Realice la operaci´on (e) y, seg´ un la respuesta es s´ı o no, seguir la instrucci´on ji0 o ji00 (C) Det´engase

Pero ... ...esta no es la m´aquina de Turing. Luis Sierra (InCo)

M´ aquinas

EECC 2012

7 / 22

Post vs Turing

Finite Combinatory Processes - Formulation 1, Emil L. Post, The Journal of Symbolic Logic, Vol. 1, No. 3, pp. 103-105 (Sep., 1936) On Computable Numbers, with an application to the Entscheidungsproblem, Alan Turing, Proceedings of the London Mathematical Society (2) 42 pp 230-265 (1936-37)

Luis Sierra (InCo)

M´ aquinas

EECC 2012

8 / 22

Post vs Turing

Finite Combinatory Processes - Formulation 1, Emil L. Post, The Journal of Symbolic Logic, Vol. 1, No. 3, pp. 103-105 (Sep., 1936) On Computable Numbers, with an application to the Entscheidungsproblem, Alan Turing, Proceedings of the London Mathematical Society (2) 42 pp 230-265 (1936-37) ¿En qu´e se parecen o diferencian estas propuestas?

Luis Sierra (InCo)

M´ aquinas

EECC 2012

8 / 22

Luis Sierra (InCo)

M´ aquinas

EECC 2012

9 / 22

Luis Sierra (InCo)

M´ aquinas

EECC 2012

9 / 22

Se diferencian en ...

el largo Post: pp. 103-105, Turing: pp 230-265 las marcas En Turing hay marcas de primera clase (0, 1) y marcas de segunda, auxiliares para el c´ omputo, pero que no se consideran resultado del c´ omputo las instrucciones En Turing son de largo fijo (`a la RISC), en Post de largo variable (`a la CISC)

Luis Sierra (InCo)

M´ aquinas

EECC 2012

10 / 22

Se parecen en la implementaci´on

Biblioteca Despliegue Motor Lo diferente Total

Post 18 161 87 41 307

Turing 18 161 87 32 298

El c´ odigo coincide en un 90%.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

11 / 22

Se parecen sus programas

Las instrucciones son tiras finitas. Los programas son tiras finitas de instrucciones.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

12 / 22

Se parecen sus programas

Las instrucciones son tiras finitas. Los programas son tiras finitas de instrucciones. Podemos numerar los programas; asignarle un nombre, o ´ındice a cada programa.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

12 / 22

Se parecen sus programas

Las instrucciones son tiras finitas. Los programas son tiras finitas de instrucciones. Podemos numerar los programas; asignarle un nombre, o ´ındice a cada programa. 1 ? 2 4 2 O 3 3 R 1 4 X

Luis Sierra (InCo)

M´ aquinas

EECC 2012

12 / 22

Se parecen sus programas

Las instrucciones son tiras finitas. Los programas son tiras finitas de instrucciones. Podemos numerar los programas; asignarle un nombre, o ´ındice a cada programa. 1 ? 2 4 1 ? 11 1111 11 O 111 111 R 1 1111 X 2 O 3 3 R 1 4 X

Luis Sierra (InCo)

M´ aquinas

EECC 2012

12 / 22

Se parecen sus programas

Las instrucciones son tiras finitas. Los programas son tiras finitas de instrucciones. Podemos numerar los programas; asignarle un nombre, o ´ındice a cada programa. 1 ? 2 4 1 ? 11 1111 11 O 111 111 R 1 1111 X 2 O 3 3 R 1 1 1 11 1111 11 11 111 111 111 1 1111 1111 4 X

Luis Sierra (InCo)

M´ aquinas

EECC 2012

12 / 22

Se parecen en lo que pueden hacer

Pueden sumar y borrar. Y adem´as calculan funciones constantes, proyecciones, y sucesor Y pueden programar if x=y then w else z

Luis Sierra (InCo)

M´ aquinas

EECC 2012

13 / 22

Se parecen en lo que pueden hacer

Pueden sumar y borrar. Y adem´as calculan funciones constantes, proyecciones, y sucesor Y pueden programar if x=y then w else z O sea, son artilugios que cumplen las siguientes propiedades de Hennie la Propiedad 1, de las funciones b´asicas la Propiedad 4, de selecci´ on

Luis Sierra (InCo)

M´ aquinas

EECC 2012

13 / 22

Tambi´en cumplen la propiedad 2 de Hennie Propiedad de clausura Si tengo un programa P que computa la funci´ on f , y un programa Q que computa la funci´on g , hay un programa P; Q que computa la funci´on g .f .

Luis Sierra (InCo)

M´ aquinas

EECC 2012

14 / 22

Tambi´en cumplen la propiedad 2 de Hennie Propiedad de clausura Si tengo un programa P que computa la funci´ on f , y un programa Q que computa la funci´on g , hay un programa P; Q que computa la funci´on g .f .

Algo as´ı como ... 1

Si computo P con la entrada a

2

y obtengo la salida b

3

que uso de entrada al programa Q

4

que computa la salida c,

5

entonces el programa P; Q computa c a partir de la entrada a

Luis Sierra (InCo)

M´ aquinas

EECC 2012

14 / 22

Tambi´en cumplen la propiedad 2 de Hennie Propiedad de clausura Si tengo un programa P que computa la funci´ on f , y un programa Q que computa la funci´on g , hay un programa P; Q que computa la funci´on g .f .

Algo as´ı como ... 1

Si computo P con la entrada a

2

y obtengo la salida b

3

que uso de entrada al programa Q

4

que computa la salida c,

5

entonces el programa P; Q computa c a partir de la entrada a

Si prefieren, computa la secuencia o la composici´ on de dos programas.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

14 / 22

Tambi´en cumplen la propiedad 3 de Hennie

Propiedad de enumeraci´on Hay un programa universal U que interpreta cualquier otro programa P.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

15 / 22

Tambi´en cumplen la propiedad 3 de Hennie

Propiedad de enumeraci´on Hay un programa universal U que interpreta cualquier otro programa P.

Algo as´ı como ... 1

Si quiero computar P con la entrada a

2

y n es el ´ındice de P

3

invoco al programa int´erprete U con dos argumentos;

4

el ´ındice n y la entrada a

Luis Sierra (InCo)

M´ aquinas

EECC 2012

15 / 22

Se parecen en lo que NO pueden hacer Consideremos un programa Halt que recibe dos argumentos, i y x, y devuelve 1 si el programa con ´ındice i termina al ejecutarse con la entrada x, y 0 en caso contrario.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

16 / 22

Se parecen en lo que NO pueden hacer Consideremos un programa Halt que recibe dos argumentos, i y x, y devuelve 1 si el programa con ´ındice i termina al ejecutarse con la entrada x, y 0 en caso contrario.

el programa con ´ındice i termina con la entrada x ⇒ Halt.i.x = 1

Luis Sierra (InCo)

el programa con ´ındice i NO termina con la entrada x ⇒ Halt.i.x = 0

M´ aquinas

EECC 2012

16 / 22

Se parecen en lo que NO pueden hacer

el programa con ´ındice i termina con la entrada x ⇒ Halt.i.x = 1

el programa con ´ındice i NO termina con la entrada x ⇒ Halt.i.x = 0

Considere el programa siguiente, con ´ındice k: P(x): if Halt.x.x = 1: NO TERMINA else: TERMINA

Luis Sierra (InCo)

M´ aquinas

EECC 2012

16 / 22

Se parecen en lo que NO pueden hacer

el programa con ´ındice i termina con la entrada x ⇒ Halt.i.x = 1

el programa con ´ındice i NO termina con la entrada x ⇒ Halt.i.x = 0

Considere el programa siguiente, con ´ındice k: P(x): if Halt.x.x = 1: NO TERMINA else: TERMINA Consideremos la situaci´on que resulta de invocar P(x) con el argumento k.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

16 / 22

Se parecen en lo que NO pueden hacer

P termina con la entrada k ⇒ Halt.k.k = 1

P NO termina con la entrada k ⇒ Halt.k.k = 0

Considere el programa siguiente, con ´ındice k: P(x): if Halt.x.x = 1: NO TERMINA else: TERMINA Consideremos la situaci´on que resulta de invocar P(x) con el argumento k.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

16 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete).

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada. Turing lo aplica al Entscheidungsproblem.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada. Turing lo aplica al Entscheidungsproblem.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada. Turing lo aplica al Entscheidungsproblem.

ENTSCHEIDUNGSPROBLEM Problema de decisi´on de los teoremas de la l´ ogica de primer orden

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada. Turing lo aplica al Entscheidungsproblem.

ENTSCHEIDUNGSPROBLEM Problema de decisi´on de los teoremas de la l´ ogica de primer orden Planteado por David Hilbert en 1928

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada. Turing lo aplica al Entscheidungsproblem.

ENTSCHEIDUNGSPROBLEM Problema de decisi´on de los teoremas de la l´ ogica de primer orden Planteado por David Hilbert en 1928 Resuelto por Alonzo Church en 1936

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Diferencias en los art´ıculos de Post y Turing

treinta carillas Turing construye la m´aquina universal (el primer int´erprete). Turing muestra el problema de la parada. Turing lo aplica al Entscheidungsproblem.

ENTSCHEIDUNGSPROBLEM Problema de decisi´on de los teoremas de la l´ ogica de primer orden Planteado por David Hilbert en 1928 Resuelto por Alonzo Church en 1936 Y por Alan Turing en 1936

Luis Sierra (InCo)

M´ aquinas

EECC 2012

17 / 22

Otras tres diferencias

La m´aquina de Post modela a un trabajador que sigue instrucciones; la m´aquina de Turing hace consideraciones acerca de la memoria humana

Luis Sierra (InCo)

M´ aquinas

EECC 2012

18 / 22

Otras tres diferencias

La m´aquina de Post modela a un trabajador que sigue instrucciones; la m´aquina de Turing hace consideraciones acerca de la memoria humana La m´aquina de Post es determinista; Turing se concentra en las m´aquinas autom´aticas, pero tambi´en presenta las choice machines en las que el no determinismo es resuelto por un external operator.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

18 / 22

Otras tres diferencias

La m´aquina de Post modela a un trabajador que sigue instrucciones; la m´aquina de Turing hace consideraciones acerca de la memoria humana La m´aquina de Post es determinista; Turing se concentra en las m´aquinas autom´aticas, pero tambi´en presenta las choice machines en las que el no determinismo es resuelto por un external operator. La m´aquina de Turing que mostr´e ...

Luis Sierra (InCo)

M´ aquinas

EECC 2012

18 / 22

Otras tres diferencias

La m´aquina de Post modela a un trabajador que sigue instrucciones; la m´aquina de Turing hace consideraciones acerca de la memoria humana La m´aquina de Post es determinista; Turing se concentra en las m´aquinas autom´aticas, pero tambi´en presenta las choice machines en las que el no determinismo es resuelto por un external operator. La m´aquina de Turing que mostr´e ... ... tampoco es la del art´ıculo

Luis Sierra (InCo)

M´ aquinas

EECC 2012

18 / 22

Tesis de Church La noci´on de calculabilidad efectiva Definimos ahora la ya discutida noci´ on de una funci´ on efectivamente calculable de los naturales identific´andola con la noci´ on de funci´on recursiva sobre los naturales. (o sobre las funciones λ-definibles sobre naturales). Pensamos que esta definici´ on queda justificada por las siguientes consideraciones ...

Luis Sierra (InCo)

M´ aquinas

EECC 2012

19 / 22

Tesis de Church La noci´on de calculabilidad efectiva Definimos ahora la ya discutida noci´ on de una funci´ on efectivamente calculable de los naturales identific´andola con la noci´ on de funci´on recursiva sobre los naturales. (o sobre las funciones λ-definibles sobre naturales). Pensamos que esta definici´ on queda justificada por las siguientes consideraciones ...

Algunos modelos Emil Post, y su m´aquina

Luis Sierra (InCo)

M´ aquinas

EECC 2012

19 / 22

Tesis de Church La noci´on de calculabilidad efectiva Definimos ahora la ya discutida noci´ on de una funci´ on efectivamente calculable de los naturales identific´andola con la noci´ on de funci´on recursiva sobre los naturales. (o sobre las funciones λ-definibles sobre naturales). Pensamos que esta definici´ on queda justificada por las siguientes consideraciones ...

Algunos modelos Emil Post, y su m´aquina Alan Turing, y su m´aquina

Luis Sierra (InCo)

M´ aquinas

EECC 2012

19 / 22

Tesis de Church La noci´on de calculabilidad efectiva Definimos ahora la ya discutida noci´ on de una funci´ on efectivamente calculable de los naturales identific´andola con la noci´ on de funci´on recursiva sobre los naturales. (o sobre las funciones λ-definibles sobre naturales). Pensamos que esta definici´ on queda justificada por las siguientes consideraciones ...

Algunos modelos Emil Post, y su m´aquina Alan Turing, y su m´aquina Alonzo Church, y su λ-c´alculo

Luis Sierra (InCo)

M´ aquinas

EECC 2012

19 / 22

Tesis de Church La noci´on de calculabilidad efectiva Definimos ahora la ya discutida noci´ on de una funci´ on efectivamente calculable de los naturales identific´andola con la noci´ on de funci´on recursiva sobre los naturales. (o sobre las funciones λ-definibles sobre naturales). Pensamos que esta definici´ on queda justificada por las siguientes consideraciones ...

Algunos modelos Emil Post, y su m´aquina Alan Turing, y su m´aquina Alonzo Church, y su λ-c´alculo Stephen Kleene, y las funciones generales recursivas de Herbrand y G¨odel Luis Sierra (InCo)

M´ aquinas

EECC 2012

19 / 22

En breve ...

En los treinta, antes de las computadoras modernas, ya sab´ıamos de los l´ımites de la inform´atica.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

20 / 22

En breve ...

En los treinta, antes de las computadoras modernas, ya sab´ıamos de los l´ımites de la inform´atica. En el siglo veintiuno, luego del uso masivo de computadoras, se cree que no hay l´ımites para la inform´atica.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

20 / 22

En breve ...

En los treinta, antes de las computadoras modernas, ya sab´ıamos de los l´ımites de la inform´atica. En el siglo veintiuno, luego del uso masivo de computadoras, se cree que no hay l´ımites para la inform´atica. Hace algunos a˜ nos me preguntaba si era pertinente introducir los temas de computabilidad en la ense˜ nanza media y primaria.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

20 / 22

En breve ...

En los treinta, antes de las computadoras modernas, ya sab´ıamos de los l´ımites de la inform´atica. En el siglo veintiuno, luego del uso masivo de computadoras, se cree que no hay l´ımites para la inform´atica. Hace algunos a˜ nos me preguntaba si era pertinente introducir los temas de computabilidad en la ense˜ nanza media y primaria. Hoy me pregunto c´omo habr´ıa que hacerlo, o al menos, c´omo convencer a la gente que los l´ımites de la inform´atica van m´as all´a de los costos y el procesador que se tenga.

Luis Sierra (InCo)

M´ aquinas

EECC 2012

20 / 22

Herramientas

HTML http://www.w3.org/TR/html4/ CSS http://www.w3.org/TR/CSS2/ JavaScript https://developer.mozilla.org/en/JavaScript/ SVG http://www.w3.org/TR/SVG/ Rapha¨el Rapha¨el-JavaScript Library http://raphaeljs.com/

Luis Sierra (InCo)

M´ aquinas

EECC 2012

21 / 22

Bibliograf´ıa

Finite Combinatory Processes - Formulation 1, Emil L. Post, The Journal of Symbolic Logic, Vol. 1, No. 3, pp. 103-105 (Sep., 1936) On Computable Numbers, with an application to the Entscheidungsproblem, Alan Turing, Proceedings of the London Mathematical Society (2) 42 pp 230-265 (1936-37) An Unsolvable Problem of Elementary Number Theory, Alonzo Church, The American Journal of Mathematics 58 pp 345-363 (1936) The undecidable, Martin Davis (Ed.), Dover, 2004 Introduction to Computability, Fred Hennie, Addison-Wesley Longman Publishing Co., 1977

Luis Sierra (InCo)

M´ aquinas

EECC 2012

22 / 22