Sei sulla pagina 1di 2

Apuntes para MATEMATICAS DISCRETAS 5.

Desaf Tiempos de Acceso o:


Andreas Polymris, DIICC, Universidad de Concepcin, Chile e o Entrega: 13.05.2011
Cuando consideramos Mquinas de Post, entendemos que el tiempo de procesamiento es igual a al nmero de transiciones que ejecuta la Mquina para lograr el procesamiento en cuestin. Es u a o decir, asumimos que cada transicin toma una unidad de tiempo; independientemente de las o caracter sticas de la transicin particular. o Pero recordemos que una transicin es una que transforma el estado actual (i, x), en el o siguiente (i , x ); donde i, i I son nodos de (el diagrama de ujo de) la Mquina, y donde a x, x A indican los respectivos valores de la palabra que est siendo computada. Adems a a sabemos que una tal transicin, ms all del traspaso del control de un nodo a otro, slo o a a o transforma x muy marginalmente; puesto que para producir x , a lo ms corta el dgito cabeza a de x y/o agrega un dgito a la cola de x. Es por eso que parece sensato suponer que cualquiera de estas transformaciones controladas y marginales demanda el mismo tiempo; tiempo que por lo tanto podemos visualizar como la unidad con que se miden todos los tiempos de procesamiento. Pero esa visin impl o citamente asume que los tiempos de acceso para luego ejecutar las correspondientes transformaciones marginales a la cabeza y/o a la cola de lo memorizado x A , son despreciables. Claro: podemos imaginar que el modelo terico de computador que articula la Mquina se o a puede realizar con dos cabezas: una lectora que siempre est situada sobre la cabeza de la palabra a computada x; y la otra escritora, siempre situada a la cola de x. Pero entonces al menos una de estas cabezas tendr que ser movible, puesto que el tamao |x| de x t a n picamente ir variando. a Y tales desplazamientos de cabezas podr ser onerosos; sobre todo si el espacio en que deben an poder desplazarse, es grande; es decir, si las palabras x que estn siendo computadas precisan a de mucha memoria. En otras palabras, la suposicin de tiempo constante slo es realista en la medida en que o o el random access a la memoria del computador que est siendo modelado por la Mquina, se a a logre en tiempo jo; independientemente del tamao de la memoria que se est ocupando. Y ya n a sabemos que eso no es tan as cuando consideramos computadoras reales: porque t , picamente el acceso a registros es rapidsimo, el acceso a memoria principal, mucho ms lento, y el acceso a a discos, an muchsimo ms lento. u a Pero aqu no ahondaremos en mayores consideraciones de las computadoras reales, sino que trataremos de entender cuales ser las consecuencias tericas de una relativizacin de la an o o comentada suposicin de tiempo constante. Es decir, trataremos de entender qu pasa, si en vez o e de tiempo constante suponemos que el tiempo de transicin, de (i, x) a (i , x ) es 1+f (|x|); donde o 1

f es una funcin dada, ja; que entonces con f (|x|) indica el tiempo de acceso a la memoria o que demanda la transformacin de x a x ; tiempo que suponemos que slo depende del tamao o o n |x| de x. Por supuesto que lo unico que puede pasar es que ahora ciertos procesos que antes es decir, cuando supon amos f = 0 resultaban ser ecientes porque sus tiempos totales pod ser an acotados polinomialmente por el tamao del input, ahora ya no lo sean. Puede esto suceder n o no? La idea es que Usted responda a esta pregunta considerando diferentes posibilidades en relacin a f . o Frecuentemente se asume que f : N N es una funcin logar o tmica. T picamente se entiende que f (n) := k Log(n), donde k N, Log(0) := 0 y para todo n N\{0}, Log(n) := log2 (n) + 1. Porque se entiende que las diversas direcciones de la memoria requerida se pueden codicar mediante palabras cuyos tamaos corresponden a Log(m); donde m N corresponder a la n a cardinalidad del espacio-memoria requerido. En qu medida esto ultimo efectivamente lleva a e lo supuesto al comienzo del prrafo? Disctalo! a u Pero tambin es, a veces, sensato suponer que f es un polinomio. O incluso que es una e funcin exponencial. Qu implicancias tendr estas suposiciones? en relacin a la cuestin o e an o o planteada arriba. Adems debe considerar diferentes modos de uso de las Mquinas de Post. a a El modo de uso normal entiende que antes del ingreso del input, x0 A , la palabra computada x es vac que por lo tanto el proceso de cmputo que nos interesa cuyo tiempo de ejecucin a; o o 0 queremos considerar comienza con x := x ; que por lo tanto, en este modo normal, al menos al inicio el tamao |x| es igual al |x0 |; que es el referente, puesto que entendemos que la Mquina n a procede ecientemente, si el tiempo total puede ser acotado por un polinomio en |x0 |. En cambio en otros usos anormales, el tiempo total seguir midindose en funcin del a e o tamao del input x0 , pero en realidad este input al inicio vendr a aadirse a otra palabra n a n z 0 A que ya se encuentra en memoria; as que la palabra computada inicial entonces ser x := a 0 0 x z . Es importante considerar esta posible anormalidad, porque hace ver que |x| ya desde el inicio podr ser mucho ms grande que |x0 |. a a Y tambin, por supuesto, porque la prctica real est llena de tales usos anormales. Para e a a no salirnos tanto de lo que hemos visto en clases, pensemos en la Mquina Universal que debe a 0 emular lo que hace una Mquina M con un input x . Entonces, para ello, la Mquina Universal, a a antes de recibir el input x0 , tendr memorizado, codicado como z 0 , el Sistema de Post que a representa a la Mquina a emular. a Pues bien: Con la suposicin de tiempo constante se puede demostrar que la emulacin que o o hace la Mquina Universal es eciente, ssi y slo si la Mquina a emular es eciente. Discuta a o a este resultado. Pero sobre todo discuta en qu medida este dejar de ser un teorema; si reemplazamos la e a suposicin constante por otras de las consideradas arriba. o

Potrebbero piacerti anche