Sie sind auf Seite 1von 25

INFORMTICA Y SU RELACIN CON LAS MATEMTICAS

Donald E. KNUTH

Una nueva disciplina llamada Ciencias de la Computacin ha llegado recientemente a la escena


en la mayora de universidades del mundo. El presente artculo da una visin personal de cmo
este sujeto interacta con las matemticas, al discutir las similitudes y diferencias entre los dos
campos, y mediante el examen de sorne de las formas en que se ayudan entre s. Un problema
tpico no trivial es elaborado con el fin de ilustrar estos inter acciones.

l. Qu es la informtica? Dado que la Informtica es relativamente nuevo, debo empezar por


explicar lo que se trata. Por lo menos, mi esposa me dice que ella tiene que explicar que cada
vez que alguien le pregunta qu hacer 1, y supongo que la mayora de la gente hoy en da
tienen una percepcin un tanto diferente del campo que la ma. De hecho, no hay dos
cientficos de la computacin darn probablemente a la misma definicin; esto no es
sorprendente, ya que es tan difcil de encontrar dos matemticos que dan a la misma
definicin de matics Mathe. Por suerte ha estado de moda en los ltimos aos para tener una
"crisis de identidad", por lo que los informticos han tenido razn en estilo.

Mi forma favorita para describir la informtica es decir que es el estudio de los algoritmos. Un
algoritmo es una secuencia definida precisamente de reglas dice cmo pro duce informacin
de salida especificada de la informacin de entrada dada en un nmero finito de pasos. Una
representacin particular de un algoritmo se llama un programa, al igual que nosotros
utilizamos los "datos" palabra en reposo durante una representacin particular de la
"informacin" [14]. Quizs el descubrimiento ms significativo generado por la llegada de las
computadoras va a llegar a ser que los algoritmos, como objeto de estudio, son
extraordinariamente rica en propiedades interesantes; y, adems, que un punto de vista
algortmico es una manera til de organizar el conocimiento en general. G. E. Forsythe ha
observado que "la pregunta" Qu puede ser automatizado? es una de las filosficas y Prll ms
inspiradoras; ctical preguntas de la civilizacin contempornea "[8].

A partir de estas observaciones podemos concluir que la Informtica debera haber existido
mucho antes de la llegada de los ordenadores. En cierto sentido, lo hizo; el sujeto est
profundamente arraigada en la historia. Por ejemplo, me encontr hace poco interesante para
el estudio de las escrituras antiguas manu, el aprendizaje en qu medida los babilonios de
3500 aos atrs eran los informticos [16]. Pero las computadoras son realmente necesarios
antes de que podamos aprender mucho acerca de las propiedades de los algoritmos geperal;
los seres humanos no son lo suficientemente precisas ni lo suficientemente rpido como para
llevar a cabo cualquiera, pero los procedimientos ms simples. Por lo tanto la riqueza potencial
de los estudios algortmicos no estaba completamente hasta mquinas de computacin de
propsito general llegaron a estar disponibles.

Debo sealar que las mquinas (y los algoritmos) calcular hacer no slo com controversia con
los nmeros; puedan hacer frente a cualquier tipo de informacin, una vez que se representa
de una manera precisa. Solamos decir que una secuencia de smbolos, como un nombre, es
presentada dentro de un ordenador como si fuera un nmero; pero en realidad es ms
correcto decir que un nmero se representa dentro de una computadora como una secuencia
de smbolos.

La palabra francesa para la informtica es Informa tique; el alemn es Inf o

matik; y en dans, la palabra es Datalogi [21]. Todos estos trminos implican que sabiamente
ofertas de informtica con muchas cosas adems de la solucin de ecuaciones numricas. Sin
embargo, estos nombres hacen hincapi en las "cosas" que manipulan algoritmos (la
informacin o datos), en lugar de los propios algoritmos. Los noruegos de la Universidad de
Oslo han elegido una denominacin algo ms apropiado para la informtica, a saber Software
informtico; su equivalente Ingls, "Procesamiento de Datos" desgraciadamente se ha
utilizado en los Estados Unidos slo en relacin con Busi ness aplicaciones, mientras que
"Tratamiento de la informacin" tiende a connotar solicitu des de la biblioteca. Varias
personas han sugerido el trmino "Ciencia de la Computacin" como superior a "Computer
Science".

Por supuesto, la bsqueda de un nombre perfecto es algo sin sentido, ya que los conceptos
mentir bajo son mucho ms importante que el nombre. Tal vez sea significativo, sin embargo,
que estos otros nombres para toda la informtica de hacer hincapi en el papel de mquinas
de computacin a s mismos, al parecer con el fin de hacer que el campo ms "legtimo" y
respetable. opinin de una mquina de computacin de muchas de las personas es, a lo sumo,
que es un mal necesario: una herramienta difcil de utilizar si fallan otros mtodos. Por qu
debemos dar tanto nfasis a la enseanza de cmo utilizar los ordenadores, si son meras
herramientas valiosas como (por ejemplo) los microscopios electrnicos?

Cientficos de la computacin, a sabiendas de que los ordenadores son ms que esto, por
instinto

restar importancia al aspecto de la mquina cuando estn defendiendo su nueva disciplina.


Cmo siempre, no es necesario ser tan consciente de las mquinas; esto se ha sealado
acertadamente por Newell, Perlis, y Simon [22], que definen la informtica simplemente como
el estudio de las computadoras, al igual que la botnica es el estudio de las plantas,
astronoma el estudio de las estrellas, y as sucesivamente. Los fenmenos que rodean las
computadoras son inmensamente variadas y complejas, que requieren descripcin y
explicacin; y, como la electricidad, estos fenmenos pertenecen tanto a la ingeniera y la
ciencia.

Cuando 1 dicen que la informtica es el estudio de algoritmos, 01 a.m. sealar a uno solo de
los "fenmenos que rodean las computadoras", as que la informtica en realidad incluye ms.
1 han hecho hincapi en los algoritmos, ya que son realmente el ncleo central del tema, el
denominador comn que subyace y unifica las diferentes ramas. Puede ocurrir que la
tecnologa se instala algn da abajo, de modo que en, digamos

2) aos mquinas computadoras se van a cambiar muy poco. No hay indicios

de una tecnologa tan estable en un futuro prximo, sino todo lo contrario, pero 1 creen que el
estudio de algoritmos seguir siendo difcil e importante, incluso si los otros fenmenos de
ordenadores algn da podran explorarse a fondo.

El lector interesado en ms discusiones sobre la naturaleza de la informtica se conoce [17] y


[29], adems de las referencias citadas anteriormente.
2. Componente de ordenador, ciencia de las matemticas? Es cierto que hay fenmenos

sobre las computadoras que ahora se estn estudiando activamente por los cientficos de la
computacin, y que son casi matemtica. Pero si limitamos nuestra atencin al estudio de
algoritmos, no es ms que una rama de las matemticas? Despus de todo, los algoritmos se
estudiaron principalmente por los matemticos, si por cualquier persona, antes de los das de
la informtica. Por lo tanto, se podra argumentar que este aspecto central de la informtica es
realmente parte de la matemtica.

Sin embargo, creo que un argumento similar puede hacerse para la tesis de que las
matemticas son una parte de la informtica Por lo tanto, por la definicin de igualdad
conjunto, los sujetos se mostraron igual!; o al menos, por el teorema de Schroder-Bernstein,
seran equipotentes.

Mi opinin es que ninguna de estas inclusiones que se ha ajustado. Es alwasy difi

culto a establecer lneas de lmite preciso entre disciplinas (vase, por ejemplo, los temas de
"qumica fsica" y "Qumica Fsica"); pero es posible distinguir esencialmente diferentes puntos
de vista entre las matemticas y la informtica.

La siguiente historia verdadera es tal vez la mejor manera de explicar la distincin que tengo

en mente. Hace aos SORNE que haba aprendido solo un teorema matemtico que implicaba
que cualquier dos matrices nxn A y B de enteros tienen una "mayor divisor comn derecha" D.
Esto significa que D es un divisor derecha de A y de B, es decir, A = A'D y B = B 'D para las
matrices de enteros SORNE a' y B '; y que cada r vuelo comn divisor de Bis A y un divisor
derecha de D. Por lo tanto, se pregunt cmo calcular el mayor com

mon divisor derecha de dos matrices dadas. Unos das ms tarde me pas a ser asistir a una
conferencia donde me encontr con el matemtico H. B. Mann, y sent que iba a saber cmo
resolver este problema. Le pregunt, y l saba efectivamente la respuesta correcta; pero fue
la respuesta de un matemtico, no la respuesta de un informtico! l dijo: "Que sea f7l el anillo
de n x n matrices de enteros;! En este anillo, la suma de los dos principales ideales de izquierda
es principal, por lo et d ser tal que

: 7LA +: 7 libras =: 7LD.

Entonces D es el mximo comn divisor derecha de A y B. "Esta frmula es sin duda la ms


sencilla posible, necesitamos slo ocho smbolos que anotarla, y que se basa en los teoremas
probados rigurosamente-matemtico del lgebra Pero desde el punto de vista. un cientfico de
la computacin, es intil, ya que implica la construccin de los conjuntos infinitos: 7LA y f1ltB,
teniendo su suma, a continuacin, buscar a travs de una infinidad de matrices D de tal
manera que esta suma coincide con el conjunto infinito:. 7LD no poda determinar el mayor

comn divisor de (; ) y (i i) haciendo estas operaciones infinitas. (De paso,

La respuesta de un informtico a esta pregunta se suministr despus por mi hijo Michael


Fredman; ver [15, p. 380].)
Uno de mis amigos me dijo matemtico que estara dispuesto a reconocer

la informtica como un campo de mrito de estudio, tan pronto como se contiene 1000
teoremas de profundidad. Este criterio, obviamente, debe ser cambiado para incluir algoritmos
como

as como teoremas, digamos 500 teoremas de profundidad y 500 algoritmos de profundidad.


Pero an as, es evidente que la informtica hoy en da <loes no a la altura de una prueba de
este tipo, si "profunda" significa que una persona brillante necesitara muchos meses para
descubrir el teorema o el algoritmo. La informtica es todava demasiado joven para esto;
Puedo reclamar la juventud como una desventaja. Todava no se sabe la mejor manera de
describir los algoritmos, a menos de estar de pie o para demostrar que estn correctos, que
inventarlos, o para analizar su comportamiento, aunque se est haciendo un progreso
considerable en todos estos frentes. El potencial de "1000 resultados profundos" est ah, pero
tal vez slo 50 han sido descubiertos hasta ahora.

Con el fin de describir el impacto mutuo de la informtica y las matemticas en s, y sus


funciones respectivas, por lo tanto, estoy buscando algo para el futuro, al tiempo en que la
informtica es un poco ms madura y segura de s misma. Las tendencias recientes han hecho
posible imaginar un <yaca en la informtica y la mathe matics sern tanto existir como
disciplinas respetadas, que sirven funciones anlogas, pero diferentes en la educacin de una
persona. Para citar a George Forsythe otra vez, "Las adquisiciones ms valiosas en una
educacin cientfica o tcnica son los de uso general las herramientas mentales que siguen
siendo til para toda la vida. I tarifa lenguaje natural y mathe matics como la ms importante
de estas herramientas, y la informtica como tercera "[9].

Como las matemticas, la informtica ser un tema que se considera bsica para una
educacin general. Al igual que las matemticas y otras ciencias, ciencias de la computacin
continuar siendo vagamente dividido en dos reas, que podran llamarse "terico" y "aplicar".
Como las matemticas, la informtica ser un poco diferente de las otras ciencias, en el que se
trata de leyes hechas por el hombre que pueden ser probadas, en lugar de las leyes naturales,
que nunca se sabe con certeza. Por lo tanto, los dos sujetos sern como entre s de muchas
maneras. La diferencia est en la materia y las matemticas enfoques para tratar ms o menos
con los teoremas, procesos infinitos, relaciones estticas, y la informtica se trata ms o
menos con los algoritmos, construcciones, finitistas relaciones dinmicas.

Muchos cientficos de la computacin han estado haciendo las matemticas, pero muchos ms
matemticas

ematicians han estado haciendo la informtica en el encubrimiento. He quedado impresionado


por los numerosos casos de teoras matemticas que son realmente acerca de determinados
ritmos del algo; estas teoras se formulan tpicamente en trminos matemticos que son
mucho ms engorroso y menos natural que la formulacin algortmica equivalente Informtico
de hoy usara. Por ejemplo, la mayor parte del contenido de un documento de 35 pginas por
Abraham Wald se puede presentar en cerca de dos pginas cuando se Refundicin en trminos
algortmicos [15, pp 142-144.]; y numerosos otros ejemplos se pueden dar. EUT que es un
tema para otro artculo.
3. educativos efectos secundarios. Una persona bien entrenada en informtica sabe cmo
hacer frente a los algoritmos: cmo construir ellos, manipularlos, entenderlos, analizarlos. Este
conocimiento lo prepara para mucho ms que escribir buenos programas de ordenador; se
trata de una herramienta mental de propsito general que ser una ayuda definitiva para la
comprensin de otras materias, ya se trate de la qumica, la lingstica,

o la msica, etc. La razn de esto puede entenderse de la siguiente manera: lt menudo se ha


dicho que una persona <loes en realidad no entiende algo hasta que ensea a otra persona. En
realidad una persona <loes en realidad no entiende algo hasta que se puede ensear a un
ordenador, es decir, expresar como un algoritmo. "El ordenador com automtica realmente
obliga a que la precisin del pensamiento que se alega que es un producto de cualquier
estudio de las matemticas '' [7]. El intento de formalizar las cosas como algoritmos lleva a una
comprensin mucho ms profunda que si nos limitamos a tratar de comprender las cosas en la
forma tradicional.

Los lingistas crean conocer idiomas, hasta que intentaron explicar los idiomas a los
ordenadores; pronto descubrieron lo mucho que an queda por aprender. Muchas personas
han creado modelos informticos de las cosas, y han descubierto que aprendieron ms
mientras se configura el modelo de realidad, mientras que mirando a la salida del programa
final.

Durante tres aos di un curso de segundo ao en lgebra abstracta, para las matemticas

mayores en Caltech, y el tema ms difcil siempre fue el estudio de la "forma cannica de


Jordan" para matrices. El tercer ao me intent un nuevo enfoque, mirando el objeto de
algoritmos, y de pronto se hizo evidente. Lo mismo ocurri con la discusin de los grupos
finitos definidos por generadores y relaciones; y en otro supuesto, con la teora de la reduccin
de las formas cuadrticas binarias. Al presentar el tema en trminos de algoritmos, el
propsito y el significado de los teoremas matemticos se convirti en transparente.

Ms tarde, al escribir un libro sobre la aritmtica computacional [15], 1 encontraron que


virtualmente cada teorema en la teora de nmeros elemental surge de una manera natural,
motivado en relacin con el problema de hacer que las computadoras hacen clculos
numricos de alta velocidad. Por lo tanto 1 creen que los cursos tradicionales de la teora de
nmeros elemental bien podran ser cambiados para adoptar este punto de vista, la adicin de
una practica! vacin moti a la ya hermosa teora.

Estos ejemplos y muchos ms me han convencido del valor pedaggico de

un enfoque algortmico; que ayuda en la comprensin de los conceptos de todo tipo. 1 creen
que un estudiante que est debidamente capacitado en informtica est aprendiendo algo que
implcitamente ayudar a hacer frente a muchos otros temas; y por lo tanto pronto habr una
buena razn para decir que las grandes productoras de informtica de grado han recibido una
buena educacin general, al igual que ahora creemos que esta debajo de las carreras de
Matemticas graduados. Por otro lado, los cursos de graduacin de hoy en da en la
informtica no cumplen todava con este objetivo; al menos, 1find que muchos estudiantes
graduados que comienza con una licenciatura en ciencias de la computacin han sido
educados manera ms estrecha que 1would similares. los informticos son de ING trabajo del
curso para corregir esta carencia actual, que creen 1 es probablemente debido a un exceso
nfasis en los lenguajes de programacin en lugar de algoritmos.
4. Interacciones SORNE. La informtica ha estado afectando a las matemticas de muchas
maneras, y 1shall tratar de enumerar los buenos aqu. En primer lugar, por supuesto, los
ordenadores

328 D. E. KNUTH [Abril

generar datos que sugiere o destruye conjeturas. Por ejemplo, dijo Gauss [10] que primero
pens en el teorema del nmero primo al ver una tabla de los nmeros primos menos de un
milln. En mi propia Ph.D. tesis, 1 fue capaz de resolver una conjetura relativa infinitamente
muchos casos mirando de cerca clculos por ordenador del caso ms pequea [13]. Un
ejemplo de otro tipo es el progreso reciente Marshall Hall 's en la determinacin de ali grupos
simples rdenes de hasta un milln.

En segundo lugar, hay conexiones evidentes entre la informtica y la mathe mtica en las reas
de anlisis numrico [30], la lgica y la teora de nmeros; 1 No es necesario insistir en estos
aqu, ya que estn tan ampliamente conocidos. Sin embargo, hay que mencionar 1
especialmente el trabajo de D. H. Lehmer, que ha combinado con la computacin matemtica
clsica en Severa! de una manera notable; por ejemplo, se ha demostrado que cada conjunto.
de seis nmeros enteros consecutivos> 285 contiene un mltiplo de un primer 43.

Otro impacto de la informtica ha habido un creciente nfasis en la construc

ciones en todas las ramas de las matemticas. Sustitucin de las pruebas de existencia de
algoritmos que construyen objetos matemticos a menudo ha llevado a mejoras en una teora
abstracta. Por ejemplo, EC Dade y H. Zassenhaus coment, al final de un artculo escrito en
1963, "Este concepto de gnero ya ha demostrado ser de importancia en la teora de los
mdulos ms rdenes. As que una idea matemtica introduce exclusivamente con el fin de
computabilidad ha resultado tener un valor terico intrnseco de su propia ". Adems, como se
mencion anteriormente, el enfoque algortmico constructiva a menudo tiene un valor
pedaggico.

Otra forma en la que el enfoque algortmico afecta teoras matemticas

es en la construccin de las correspondencias uno-a-uno. Muy a menudo ha habido pruebas


indirectas de que ciertos tipos de objetos matemticos son equinumerous; a continuacin, una
construccin directa de una correspondencia uno-a-uno muestra que, de hecho, an ms es
cierto.

matemtica discreta, especialmente Combinatoria! teora, se ha dado un impulso adicional por


el aumento de la informtica, adems de ali los otros campos en los que actualmente se est
aplicando ampliamente las matemticas discretas.

Para referencias a estas influencias de la informtica en las matemticas, y para muchos ms


ejemplos, se remite al lector a la siguiente seleccin de libros, cada uno de los cuales contiene
un buen nmero de documentos relevantes: [1], [2], [4], [ 5], [20], [24], [27]. El artculo de
Peter Lax [19] discute el efecto de la informtica ha tenido en la fsica matemtica.
Pero en realidad el impacto ms importante de la informtica en las matemticas, en mi
opinin, es algo diferente de ali de los anteriores. Para m, lo ms significativo es significa- que
el estudio de algoritmos propios ha abierto una vena frtil de interesantes nuevos problemas
matemticos; que proporciona un soplo de vida para muchas reas de las matemticas que
haba estado sufriendo de una falta de nuevas ideas. Charles Babbage, uno de los "padres" de
mquinas de computacin, predijo esto ya en

1864:. "Tan pronto como una mquina analtica [es decir, un ordenador de propsito general]
existe, se le guiar necesariamente el curso futuro de la ciencia Siempre que cualquier
resultado es buscado por su ayuda, entonces la pregunta surgir-Por qu curso de clculo se
puede llegar a estos resultados por la mquina en el menor tiempo? " [3]. Y de nuevo, George
Forsythe en 1958: "El uso de prcticamente cualquier tcnica de computacin en s plantea
una serie de problemas matemticos lo tanto, existe un impacto muy considerable de la
computacin en la matemtica misma, y esto se puede esperar de influir mathe investigacin
matem- a una creciente. grado "[26]. Garrett Birkhoff [4, p. 2] tiene ob sirvi que tales
influencias son nota fenmeno nuevo, ya eran significativas en el desarrollo temprano de la
matemtica griega.

He encontrado que surgen una gran cantidad de problemas matemticos interesantes cuando
se trata de analizar un algoritmo cuantitativamente, para ver qu tan rpido se va a ejecutar
en un equipo;

un ejemplo tpico de un problema de este tipo se trabaj a continuacin. Otra clase 0:


problemas

de gran inters se refiere a la bsqueda de mejores algoritmos posibles en una clase dada;
vase, por ejemplo, la reciente encuesta realizada por Reingold [25]. Y una de las primeras
teoras mathe matem- inspirar por la informtica es la teora de las lenguas, que por ahora
incluye muchos resultados hermosas; ver [11] y [12]. La emocin de estas nuevas teoras es la
razn por la que se convirti en un cientfico de la computacin.

Por el contrario, las matemticas, por supuesto, tiene una profunda influencia en la
informtica;

casi todas las ramas del conocimiento matemtico ha sido usada para perseguir algn lugar.
lrecently trabaj en un problema de tratar con objetos discretos llamados "rboles binarios",
que surgen con frecuencia en las representaciones informticas de las cosas, y la solucin al
problema realmente involucrado las complejas funciones multiplicada por el cuadrado de
gamma

Riemann 's funcin zeta L6]. As, los resultados de la matemtica clsica a menudo recurren

ser til en lugares ms bien sorprendentes.

Lo ms sorprendente para m, en mis propias experiencias con las aplicaciones de las


matemticas a la informtica, ha sido el hecho de que gran parte de la mathe matics ha sido de
un tipo discreto en particular, ejemplos de los cuales se comentan a continuacin. Tales
matemticas era casi totalmente ausente de mi propia formacin, a pesar de que tena una
razonablemente buena pre y post grado de educacin en matemticas. Casi todos mis
encuentros con estas tcnicas durante mis das de estudiante producido cuando los problemas
de este MNTHLY de trabajo. Yo, naturalmente, he estado wonclering si o no el plan de
estudios tradicional (los cursos de clculo, etc.) debe ser revisada con el fin de incluir ms de
estas manipulaciones matemticas discretas, o si el ordenador

la ciencia es excepcional en su aplicacin frecuente de ellos.

'

5. Un ejemplo detallado. Con el fin de aclarar sorne de las vagas generalizaciones y


afirmaciones hechas anteriormente, creo que lo mejor es discutir un problema tpico-
informtica en profundidad sorne. El ejemplo particular que he elegido es el que me llev
primero personalmente a darse cuenta de que los algoritmos de computadora sugieren
interesantes problemas de cal Mathemati. Esto sucedi en 1962, cuando era un estudiante
graduado en matemticas; la programacin de computadoras era un pasatiempo para m,
Anda trabajo a tiempo parcial, pero nunca tuvo

330 D. E. KNUTH [Abril

Realmente vez ha usado mi capa matemtico 's y mi gorra de computacin al mismo tiempo.
Un amigo mo coment que "los buenos matemticos SORNE en IBM" haban sido incapaces
de determinar qu tan rpido funciona un determinado mtodo informtico conocido, y pens
que podra ser un problema interesante a la vista.

Aqu est el problema: Muchas aplicaciones informticas incluyen la recuperacin de la


formacin por su "nombre"; por ejemplo, podramos imaginar un cionario DIC Ruso-Ingls, en
el que queremos buscar una palabra rusa con el fin de encontrar su equivalente Ingls. Un
mtodo estndar de computadora, llamado hash, recupera la informacin por su nombre de la
siguiente manera. Un nmero bastante grande, m, de las posiciones de memoria dentro del
ordenador com se utiliza para contener los nombres; Jet nosotros llamamos a estas posiciones
T1, T2, , Tm. Cada una de estas posiciones es lo suficientemente grande como para
contener un nombre. El nmero m es siempre mayor que el nmero total de nombres
presentes, por lo que al menos una de la T; esta vacio. Los nombres se distribuyen entre el T; 's
de una manera determinada se describe a continuacin, diseada para facilitar la
recuperacin. Otro conjunto de posiciones de memoria E, E 2, , Em se utiliza para la
informacin correspondiente a los nombres; As, si T; no est vaco, Ei contiene la informacin
correspondiente al nombre almacenado en T ;.

La forma ideal para recuperar informacin utilizando una tabla de este tipo sera tomar un
nombre dado x, y para calcular sorne funcin f (x), que se encuentra entre 1 y m; entonces el
nombre x podra ser colocado en la posicin T (x), y la informacin correspondiente en E (x).
Tal funcin f (x) hara que el problema de la recuperacin trivial, si f (x) eran fciles de calcular
y si f (x) = f. f (y) para todos distintos nombres x = f. y. En la prctica, sin embargo, estos dos
ltimos requisitos son casi nunca se cubren simultneamente; si f (x) es fcil de calcular,
tenemos f (x) = f (y) para algunos nombres distintos. Ms an, que no suelen saber de
antemano lo que acaba de nombres que ocurrir en la tabla,

y la funcin f debe ser elegido para trabajar en todos los nombres en un conjunto muy grande
de U

nombres posibles, donde U tiene muchos ms de m elementos. Por ejemplo, si T contiene


todas las secuencias de siete cartas, hay 26 7 = 8031810176 nombres potenciales; es inevitable
que f (x) = ocurrir f (y).

Por lo tanto tratamos de elegir una funcin f (x), de U en {1, 2, , m}, por lo que f (x) = f (y) se
producir con la probabilidad aproximada l / m, cuando x e y son nombres distintos. Tal
funcin f se llama una funcin de hash. En la prctica, f (x) es a menudo calcula con respecto a
x como un nmero y tomando su resto mdulo m, ms uno; el nmero m en este caso, por lo
general se elige para que sea mejor momento, ya que esto puede demostrarse tC! dar mejores
resultados para los conjuntos de nombres que generalmente surgen en la prctica. Cuando

f (x) = f (y) para x e y distinta, una "colisin" se dice que se produce; colisiones se resuelven

buscando a travs de las posiciones numeradas f (x) + 1, f (x) + 2, etc.

El siguiente algoritmo expresa exactamente cmo una funcin hash f (x) se puede utilizar para
recuperar la informacin correspondiente a un nombre dado x en U. El algoritmo hace uso de
una variable i que toma valores enteros.

PASO l. Establecer el valor de i igual a f (x).

1974) INFORMTICA Y SU RELACIN CON LAS MATEMTICAS 331

PASO 2. Si la posicin de memoria T contiene el nombre dado x, parada; la informacin


derivada se encuentra en la posicin de memoria E ;.

PASO 3. Si la posicin de memoria T est vaco, parada; el nombre dado x no est presente.

PASO 4. Aumentar el valor de i en una unidad. (O, i si es igual am, configure i igual a uno.)
Volver al paso 2.

Todava no hemos dicho cmo los nombres se meten en T1, , Tm, en primer lugar; pero eso
no es realmente difcil. Comenzamos con toda la T vaca. Luego, para INSERTA nuevo nombre
x, "andar buscando" x usando el algoritmo anterior; se detendr en el paso 3, ya que x no est
all. Entonces nos propusimos T igual a x, y ponemos la informacin correspondiente en E ;. De
ahora en adelante, ser posible recuperar esta informacin, cada vez que se le da el nombre
de x, ya que el por encima de un goritmo encontrar posicin T!; mediante la repeticin de las
acciones que lo llevaron a ese lugar cuando se insert x.
El problema matemtico es determinar la cantidad de bsquedas que debemos esperar para
que, en promedio; Cuntas veces debe repetirse el paso 2 antes de encontrar x?

Este mismo problema puede plantearse en otras formas, por ejemplo en trminos de un
modificado

juego de "sillas musicales". Consideremos un conjunto de m vaca sillas dispuestas en un


crculo. Una persona que aparezca lugar al azar ata justo fuera del crculo y guiones (en sentido
horario) a la primera silla disponible. Esto se repite m veces, hasta que todas las sillas estn
llenas. A qu distancia, en promedio, no la persona ensima tiene que correr antes de que
encuentre un asiento?

Por ejemplo, sea m = 10 y supongamos que hay diez jugadores: A, B, C, D, E, F,

G, H, I, J. Para obtener una secuencia aleatoria, supongamos que los jugadores sucesivamente
empezar a buscar sus asientos a partir de las sillas numeradas de acuerdo con las primeras
cifras de re, es decir, 3, 1, 4, 1 5, 9, 2, 6, 5, 3. la figura 1 muestra la situacin despus de la
primera seis han sido sentado.

10 () 0 0

9 {!) 03

s 4

F10. l.

Un juego de "sillas musicales", que corresponde a un mtodo de equipo importante.

(As, el jugador A toma la silla 3, entonces el jugador B toma la silla 1, ..., F jugador toma la silla
9). Ahora el jugador G se inicia en la silla nmero 2, y, finalmente, se sienta en el nmero 6. Por
ltimo, los jugadores H, I y J entrar en sillas 7, 8, y 10. En este ejemplo, las distancias
recorridas por los diez jugadores son, respectivamente, O, O, O, 1, O, O, 4, 1, 3, 7.

No es trivial para analizar este problema, porque la congestin tiende a ocurrir; una o ms
carreras largas de sillas ocupadas consecutivos suelen estar presentes. Con el fin de ver por
qu esto es cierto, podemos considerar la figura 1otra vez, en el supuesto de que el siguiente
jugador H comienza en un lugar al azar; entonces l va a aterrizar en silla nmero 6 con una
probabilidad de 0,6, pero va a terminar en la silla nmero 7 con una probabilidad de slo el
0,1. Los tramos largos tienden a ser incluso ms tiempo. Por lo tanto no podemos asumir
simplemente que la configuracin de ocupado vs. sillas vacas es al azar en cada etapa; el
fenmeno de apilamiento en marcha debe tener en cuenta.

Deje que los puntos de partida de los jugadores M una 1a 2 am ...; vamos a llamar a esta una
secuencia de hash. Por ejemplo, la secuencia de hash de arriba es 3 1 4 1 5 9 2 5 6 3.
Suponiendo que cada una de las posibles secuencias MN hash es igualmente probable, nuestro
problema es determinar la distancia media recorrida por el jugador n-simo, para cada n, en
unidades de "sillas pasaron." Llamemos a esta distancia d (m, n). Obviamente D (m, 1) = O, ya
que el primer jugador siempre encuentra un lugar desocupado; Por otra parte d (m, 2) = 1 / m,
ya que el segundo jugador tiene que ir a lo ms un espacio, y que slo es necesario si empieza

en el mismo lugar que el primer jugador. lt tambin es fcil ver que d (m, m) = (O + ... + 1+

(M-1)) / m = t (m-1), ya que todas las sillas, pero uno ser ocupado cuando el ltimo jugador
empieza a cabo. Desafortunadamente el entre valores de d (m, n) son ms complicados.

Deje Reino Unido (m, n) es el nmero de secuencias de hash parciales a 1 a 2 ... de tal manera
que una silla k estar desocupado despus de los primeros n jugadores estn sentados. Esto es
fcil de determinar, por simetra cclica, ya que la silla k es justas que puedan ocupar como
cualquier otra silla en particular; en otras palabras, u 1 (m, n) = u 2 (m, n) = ... = um (m, n). Sea
u (m, n) estar presente

valor comn. Adems, mu (m, n) = u 1 (m, n) + u2 (m, n) + ... + um (m, n) =

(M - n) mn, ya que cada uno de los PARTIA mn! hash de secuencias de un 1 a2 ... un hojas m - n
sillas de vaco, por lo que contribuye a una exactamente m - n de los nmeros uk (m, n). Por lo
tanto

Sea v (m, n, k) es el nmero de PARTIA! hash de secuencias de 1a 2 ... Un tal que, despus de
que los jugadores se sientan n, preside 1 a k estarn ocupados, mientras que las sillas m

y k + 1 no lo har. Este nmero es un poco ms difcil de determinar, pero en realidad no difi

culto. Si nos mira los nmeros a; que son k + 1 pulg una secuencia de hash tal parcial,

y si cruzamos los otros nmeros, los valores de k que se dejan forr una de las secuencias
enumeradas por u (k + 1, k). Por otra parte los valores de n -k tachados forr uno de los
sequenees enumerados por u (m-1-k, n-k), si restamos k + 1

de cada ofthem. Por el contrario, ifwe tomar cualquier PARTIA! secuencia de hash de un 1 ... ak
empadronadores ted por u (k + 1, k), y otro b1 ... bn k-enumerado por u (m-1-k, n-k),

1974] INFORMTICA ANO SU RELACIN a las matemticas 333

y si Intermix un ak 1 con (b1 + k + 1) (bn-k + k + 1) en cualquiera de las formas


posibles, se obtiene una de las secuencias enumeradas por v (m, n , k). aqu

n) n!

k = k! (n-k)!
es el nmero de formas de elegir posiciones k de n. Por ejemplo, sea m = 10,

n = 6, k = 3; una de las secuencias de hash parciales enumeradas por v (lO, 6, 3) es 2 7 18 2 8.

Esta secuencia se divide en un 1a2 un 3 = 2 1 2 y (b1 + 4) (b2 + 4) (b3 + 4) = 8 7 8,


entremezclados en la ababab patrn. De cada uno de los u (4, 3) = 16 secuencias una 1A2 a 3
que: llenar las posiciones 1, 2, 3, junto con cada uno de los u (6, 3) = 108 secuencias

(B1 + 4) (b2 + 4) (b3 + 4) que se llenan tres de las posiciones 5, 6, 7, 8, 9, obtenemos () = 20

secuencias que llenan las posiciones 1, 2, 3, y que salen de las posiciones 4 y 10 no ocupado,
entremezclando el A y B en todas las formas posibles. Esta correspondencia muestra que

v (m, n, k) = () u (k + 1, k) u (m-k-1, n-k),

y nuestra frmula para u (m, n) nos dice que

v (m, n, k) = (:) ck l +) k- 1 (m-n-l) (m-k-1R-k-l.

Esto no es una frmula simple; pero ya que es correcta, no podemos hacer nada mejor. Si k = n
= m -1, los dos ltimos factores en la frmula dar O / O, que debe ser interpretarse como 1 en
este caso.

Ahora estamos listos para calcular la distancia promedio deseada d (m, n). El ensimo jugador
debe mover k pasos si y slo si la secuencia de hash parcial anterior a1 n-l ha dejado sillas
de una a travs de un + k-1 y ocup la silla an + k vaca. El nmero de tales secuencias de hash
parcial se

v (m, n-1, k) + v (m, n-1, k + 1) + v (m, n-1, k + 2) + ,

desde simetra circular muestra que v (m, n-1, k + r) es el nmero de de hash parcial secuencias
de un 1 n-l dejando sillas an + k y un-r-1 vaco mientras las sillas k + r entre ellos estn
llenos. Por lo tanto la probabilidad de pim, n) que el jugador va ensima exactamente k pasos
es

Pk (m, n) = (I: v (m, n-1, r)) mn-l;!

r;? k

y la distancia media es
d (m, n) = I: kpk (m, n) = (m-n) m1-n I: k (n - 1) (r + 1) '- 1 (m-r-l) n-r- 2

k? ;; O r? ;; k? ;; O r

= I: R - (r + l) (m-r-LT - 2

2 r? ;; O r

En este punto, una persona con una educacin matemtica tpica probablemente detener; la
respuesta es una sumatoria de aspecto horrible. Sin embargo, si se prestara ms atencin
durante nuestra formacin matemtica de sumas finitas, en lugar de concentrarse en gran
medida en las integrales, nos instintivamente reconocer que una suma como esto se puede
simplificar considerablemente. Cuando vi por primera vez esta suma, nunca haba sr.en uno
como antes; pero sospechaba que algo se podra hacer para l, ya que por ejemplo, la suma
sobre k de Pk (m, n) debe ser 1. Ms tarde me enter de la extensa literatura de dichas sumas.
No quiero entrar en los detalles, pero s quiero sealar que surgen tales sumas "en repetidas
ocasiones en el estudio de algoritmos. Por ahora he visto literalmente cientos de ejemplos en
los que involucran sumas finitas coeffi.cients binomiales y funciones relacionadas aparecen en
conexin con estudios de informtica; por lo que he introducido un curso llamado
"Matemticas hormign" en la Universidad de Stanford, en el que se imparte este tipo de
Mathe mtica.

Sea O (m, n) el nmero medio de sillas saltado pasado por los primeros jugadores n:

o (m, n) = (d (m, 1) + d (m, 2) + ... + d (m, n)) / n.

Esto corresponde a la cantidad promedio de tiempo necesario para que el algoritmo de hash
para encontrar un artculo cuando se han almacenado n elementos. El valor de d (m, n) que se
derivan de arriba se puede simplificar para obtener las siguientes frmulas:

d (mn)

l (n-1 n-ln-2 n-ln-2n-3)

= - 2 - 3 + 4 + ---- ------ + ...


'2 m mm mm m'

o (Mn)

1 (n-1

=-

n - 1 n-

2 + n-

1 N -2 -3 n

..) ..

'2 m mm mm m

Estas frmulas se pueden utilizar para ver el comportamiento de gran m y n: por ejemplo, si oc
= n / m es la relacin de puestos ocupados y el nmero total de posiciones, y si tenemos O
(fijos, mientras que m tiende a infinito, entonces o (m, OCM) aumenta con el valor de 1 C /
(1-oc) limitante.

La frmula para la o (m, n) tambin nos dice otra cosa sorprendente:

o (m n) = n-1 n-1 m n-1).

-+-O(

'M 2m'
LF alguien podra descubrir un truco sencillo por el cual esta sencilla relacin se pudo probar
directamente, que dara lugar a un anlisis mucho ms elegante del hash al gerithm y podra
proporcionar ms conocimientos. Por desgracia, no he sido capaz de pensar de manera directa
para demostrar esta relacin.

Cuando n = m (es decir, cuando todos los jugadores estn sentados y todas las sillas estn
ocupadas), la

la distancia media recorrida por jugador es

o (m, m) = 2 ----, ;; - + ----, ;; - --- ,; - + ----; n --- ,; - - -; n + .. .

1974] LA INFORMTICA Y SU RELACIN CON LAS MATEMTICAS 335

Es interesante estudiar esta funcin, que puede ser demostrado tener el valor aproximado

O (m, m)

Jrcm - 2

para grandes m. Por lo tanto, el nmero de re, que entr en la figura 1, de forma artificial, est
realmente presente de forma natural en el problema, as! Tales clculos asintticos,
combinadas con sumas discretas como anteriormente, son tpicos de lo que surge cuando
estudiamos col gorithms; anlisis matemtico clsico y matemtica discreta ambos papeles im
portantes de juego.

6. Extensiones. Ahora hemos resuelto el problema de las sillas musicales, por lo que el anlisis
de hash es completa. Pero muchos ms problemas son sugeridos por ste. Por ejemplo, qu
ocurre si cada uno de la tabla hash posiciones T; es capaz de mantener dos nombres en lugar
de uno, es decir, si permitimos que dos personas por la silla en el juego musical sillas? sin
embargo, nadie ha encontrado las frmulas exactas para este caso, aunque se conocen
frmulas aproximadas SORNE.

Tambin podramos preguntar qu ocurre si cada jugador en el juego de las sillas musicales se
inicia al mismo tiempo a buscar una silla libre (siendo siempre movindose hacia la derecha), a
partir de puntos de forma independiente al azar. La respuesta es que cada jugador se mover
pasados (m, n) sillas en el medio, donde O (m, n) es el mismo que el anterior. Esto se deduce
de un teorema interesante de W. W. Peterson [23], que fue el primero en estudiar las
propiedades de hash el problema descrito anteriormente. Peterson demostr que el
desplazamiento total de los jugadores n, para cualquier secuencia de hash parcial a 1a 2 ... un,
es independiente del orden de las a / s; por lo tanto, 3 1 4 1 5 9 2 lleva a la misma dis totales

colocacin como 1 1 2 3 4 5 9 y 2 9 5 1 4 1 3. Su teorema muestra que el promedio

tiempo O (m, n) por jugador es el mismo para todos los arreglos de la , y por lo tanto es
tambin sin cambios cuando todos los jugadores comienzan simultneamente.

Por otro lado, la cantidad promedio de tiempo necesario hasta que todos los jugadores estn
sentados n no se ha determinado, que yo sepa, para el caso simultnea. De hecho, me acaba
de ocurrir este problema al escribir este documento. Nuevos problemas de flujo de estudios de
informtica a gran velocidad!

Tambin podramos preguntar qu ocurre si los jugadores pueden optar por ir en sentido
horario

o en sentido contrario, lo que sea ms corto. En el caso no simultnea, el anlisis anterior se


puede ampliar sin dificultad para demostrar que cada jugador tendr entonces ir sobre la
mitad de distancia. (Se requiere a todos a ir todo el camino alrededor del crculo ms prximo
al asiento, no tomar un atajo por el centro.)

Otra variante del problema de hash surge cuando cambiamos el orden cclico

de sondeo, a fin de contrarrestar el fenmeno de "apilamiento". Esta variacin interesante es


de practica! importancia, ya que la congestin debido a las largas extensiones de posiciones
ocupadas ralentiza las cosas considerablemente cuando la memoria se llena. Dado que el
anlisis de esta practica! problema es en gran parte sin resolver, y ya que tiene

Severa! aspectos matemticos interesantes, que lo discutir en detalle en el resto de este


artculo.

Una tcnica de hash generalizada que por razones tcnicas se llama sola

hash se define por cualquier m x m matriz Q de los nmeros enteros para los cuales

(I) Cada fila contiene todos los nmeros del 1 al m con el fin sorne; (Ii) La primera columna
contiene los nmeros del 1 al m en orden.

Las otras columnas son sin restricciones. Por ejemplo, uno de tales matriz para m = 4,

seleccionado ms o menos al azar, es

I1 2 3 4

134

Q1

412

321
La idea es utilizar una funcin hash f (x) para seleccionar una fila de Q y luego para investigar
las posiciones de memoria en el orden dictado por esa fila. El mismo algoritmo para mirar a
travs de la memoria se utiliza como antes, excepto que el paso 4 se hace

ETAPA 4'. I avance al siguiente valor de la fila f (x) Ofthe matriz, y volver al paso 2. Por lo tanto,
el esquema de dispersin cclica descrita anteriormente es un caso especial de hash nico

ing, utilizando una matriz como cclica

En la silla analoga musical, los jugadores ya no son necesarios para mover las agujas del reloj;
diferentes jugadores en general, visite las sillas en diferentes secuencias. Cmo siempre, si dos
jugadores empiezan en el mismo lugar, ambos deben seguir la secuencia visitar misma silla.
Esta ltima condicin producir una ligera congestin, que es notable, pero no es tan
significativo como en el caso cclico.

Al igual que antes, podemos definir las medidas d '(m, n) y (j' (m, n), que corresponde a

se lleva a cabo el nmero de veces el paso 4 '. El problema central es encontrar matrices Q que
son mejor posible, en el sentido de que (j '(m, m) se reduce al mnimo. Este problema no es
realmente una practica! Uno, ya que la matriz con ms pequeo (j' (m, m) podra requerir un
gran

<Leal de clculo por cada ejecucin de la etapa 4 '. Sin embargo, es muy interesante para
establecer

lmites absolutos a lo bien que un solo mtodo de hash podra ser, como un punto de
referencia con el cual medir los casos particulares.

Uno de los problemas ms difciles en el anlisis algortmico que he tenido la

1974] LA INFORMTICA Y SU RELACIN CON LAS MATEMTICAS 337

placer de la solucin es la determinacin de d '(m, n) para un solo hashing cuando la matriz

Q se elige al azar, es decir, para encontrar el valor de d '(m, n), como media de todas () n (m-1

posibles matrices de P. La frmula resultante es

, M-n + l
l (n l 1 - 1 / (m + 2 j))

d (m, n) = m. -

m-n + 2 (

+ M + i = l m ITL 1 (1 - lj (m (m + 2-i)))

X I1 1- -----

j = l m (m + 2-j)

ste no s cmo simplificar en la actualidad. Sin embargo, es posible estudiar el


comportamiento asinttico de a; (m, n), y para demostrar que

b; (m, m) ':: En m + y - 1,5

para m grande, ms un trmino de correccin de orden (log m) / m. (Aqu y es la constante de


Euler.) Este orden de crecimiento es sustancialmente mejor que el mtodo cclico, donde b (m,
m) crece como la raz cuadrada de m; y sabemos que las matrices de una sola hash SORNE
deben havean valor an ms bajo para (i '(m, m) que este valor promedio de ;. (m, m) La
Tabla 1 muestra los valores exactos de B (m, m) y (); (m, m) para valores relativamente
pequeos de m; en cuenta que hash cclica es superior para m ;; ; 11, pero con el tiempo se
vuelve mucho peor.

Las pruebas de las afirmaciones anteriores, junto con datos adicionales acerca de hash,
aparecen en [18].

No hay lmites inferiores satisfactorios para el valor de (i '(m, m) en el mejor single-hash

esquema son conocidos, aunque yo creo que ninguno tendr (i '(m, m) inferior a

(1 + m1) 1

+ 21 + ... + m1) - 2;
este es el valor que se produzca en el juego de las sillas musicales, si cada jugador sigue un
camino aleatorio, independientemente de todos los dems. J. D. Ullman [28] ha dado una
conjetura ms general de la que seguira esta declaracin. Si la conjetura de Ullman es cierto,
entonces un Q aleatoria viene dentro -! - Del mejor valor posible, y un gran nmero de
matrices, por lo tanto producir valores cercanos al ptimo. Por lo tanto, es una practica
interesante! problema de construir una familia de matrices para varios m, que tiene un buen
comportamiento provably cerca de la ptima, y tambin con la propiedad de que son fciles
de calcular en el paso 4 '.

Es <loes no parece ser fcil de calcular (i '(m, m) de una determinada matriz M. El mejor
mtodo que conozco requiere del orden de 2 m m pasos, por lo que he podido experimentar
en este problema slo para valores pequeos de m. (por cierto, este tipo de tos expe
representan una aplicacin de la informtica para resolver un problema matemtico
propuesto por la informtica.) Aqu es una forma de calcular () '(m, m) de una determinada
matriz Q = (%): Si A es cualquier subconjunto de {1, 2, , m}, que permiten 11 A 11 ser el
nmero de elemento

mentos en A, y sea p (A) la probabilidad de que los primeros 11 A / I jugadores ocupan las sillas
designadas por A. Entonces no es difcil demostrar que

p (A) = - L p (A - {qij})

m (i, j) e s (A)

cuando A es no vaco, donde s (A) es el conjunto de todos los pares (i, j) de manera que qik E A
para

1 k j; por consiguiente

d '(m, n) = - L 11s (A) 11 p (A),

m llAll = n-1

() '(M, m) = 2 11s L (A) 11 p (A).

Una m
Por ejemplo, en la Q1 4 x 4 matriz considerada anteriormente, tenemos

UN

Pensilvania)

1 \ ls <A) ll

UN

{4}

Pensilvania)

1/4 LLS <A) ll

{1} 1/4 1 {1, 4} 2/16 2

{2} 1/4 {2,4} 2/16 2

{1, 2} 3/16 3 {1, 2, 4} 9/64 4

{3} 1/4 {3,4} 4/16 4

{1, 3} 3/16 3 {1, 3, 4} 20/64 7

{2,3} 2/16 2 {2,} 3,4 16/64 6

{1, 2, 3} 19/64 7 {l, 2,3,4} 16

Las tres primeras sillas ocupadas muy probable que haya {1, 3, 4}; el conjunto de sillas de {1, 2,
4} es mucho menos probable. La "puntuacin" (j '(m, m) de esta matriz viene a 653/1024, que
en este caso es peor que la puntuacin 624/1024 para hash cclico. De hecho, hash cclico
resulta ser la mejor hash nico esquema cuando m = 4.

Cuando m = 5, el mejor esquema de hashing solo resulta ser obtenido a partir de la matriz

(1 2

5
3

23451

Qs = 3 4 1 2 5

45231

5 1 3 4 2j

cuya puntuacin es de 0,7440, comparado con 0,7552 para hash cclico. Tenga en cuenta que
Q5 es muy parecido a hash cclica, ya que la simetra cclica est presente: se obtiene cada fila

1974] LA INFORMTICA Y SU RELACIN CON LAS MATEMTICAS 339

de la fila precedente mediante la adicin de 1 de mdulo 5, por lo que el patrn de


movimiento de palpacin es essen cialmente el mismo para todas las filas. Podemos llamar a
esto hash cclico generalizado; se trata de un caso especial de la practica! importancia, ya que
requiere el conocimiento de una sola fila de Q en lugar de todas las entradas m2.

Cuando m> 5, una bsqueda exhaustiva de la mejor esquema de dispersin sola sera
demasiado difcil hacer TCI por la mquina, a menos nuevo avance sorne se hace en la teora.
Por tanto, he recurrido a procedimientos heursticos de bsqueda "". 11 de todas las fusiones,
las mejores matrices de hash nico que he podido encontrar en realidad han resultado ser
generalizada esquemas de hash cclicos, y me siento tentado a conjeturar que esto ser cierto
en general. Sera muy bueno si esta conjetura fuera cierto, ya que se seguira que la
generalidad potencialmente costosa de un esquema no cclico no sera til. Sin embargo, la
evidencia de mi conjetura es comparativamente dbil;

TABLA l. hash cclica frente nico hash aleatoria

metro

1 O (m, m)

0.0000 O (m, m)

0.0000

2 0,2500 0,2500

3 0,4444 0,4630
4 0,6094 0,6426

5 0.7552 0.7973

6 0.8874 0.9330

7 1,0091 1,0538

8 1.1225 1.1626

9 1,2292 1,2616

10 1.3301 1.3523

11 1.4262 1.4360

12 1.5180 1.5138

15 1.7729 1.7183

20 2.1468 1.9911

30 2.7747 2.3888

40 3.3046 2.6774

50 3.7716 2.9037

75 4.7662 3.3181

100 5.6050 3.6135

se trata simplemente de que (i) la conjetura se cumple para m 5; (Ii) no he visto en


experimentos contraejemplos para m 11; (Iii) los mejores esquemas de hashing cclicos
generalizadas para m 9 son esquemas de hashing individuales "localmente ptimas", en el
sentido de que todos los posibles intercambios de dos elementos en cualquier fila de la matriz
de plomo a una matriz que no es mejor; (Iv) la ltima afirmacin no es cierto para el estndar
esquema de hashing cclico (no generalizada), por lo que el hecho de que se mantiene para los
mejores pueden ser significativas.

Incluso si esta conjetura es falsa, la practica! importancia de hash cclica generalizada hace ita
objeto adecuado para estudios posteriores, especialmente en vista de sus adicionales

estructura matemtica. Una consecuencia inmediata de la propiedad cclica es que P (A) = P (A


+ k) para todos los conjuntos A, en las frmulas anteriores para calcular d '(m, n), donde "A +
K" significa el conjunto obtenido a partir de una mediante la adicin de K para cada elemento,
mdulo

metro. Esta observacin hace que el clculo de los seores casi m veces ms rpido. Otra, no la
propiedad tan obvio, es el hecho de que el esquema de dispersin generalizada cclica
generada por la permutacin q 1 q 2 ... qm tiene la misma puntuacin que ese

generada por el '' refleja '' permutacin q q q donde qj = m + 1 - qi. (Eso


Es conveniente decir que un esquema de dispersin cclica generalizada es "generado" por
cualquiera de sus filas.) Esta equivalencia con arreglo a la reflexin puede ser probado por lo
que demuestra que

p (A) es igual a p '(m + 1 - A).

Program una computadora para encontrar los seores para todos los esquemas de hash
cclicos generalizadas cuando m = 6, y los resultados de este clculo sugirieron que otros dos
simplificaciones podran ser vlida:

(I) q 1q2q3 ... qm y q2q1q3 ... qm genero igualmente buenos esquemas de hash cclicos
generalizadas.

(Ii) q 1 ... qm_2qm-LQM y q ... 1 qm_2qmqm-l generan igualmente buenos esquemas de hash
cclicos generalizadas.

De hecho, estas dos afirmaciones son ciertas; aqu es un ejemplo tpico en el que com Puting
en un caso particular, ha dado lugar a nuevos teoremas matemticos.

De hecho, los resultados anteriores me hicieron sospechar que q 1 qm y

siempre generar igualmente buenos esquemas, siempre que ambas de estas secuencias son
permutaciones. Si esta afirmacin fuera cierta, sera incluir los tres resultados anteriores como
casos especiales, para k = 2, m - 2 y m. Por desgracia, no pude probarlo; y al final encontr un
contraejemplo (con la mano), es decir, q = 1 qm 1 3 8 6 2 7 5 4 y k = 4. plomo Sin embargo,
esta conjetura errnea hizo con una interesante puramente

cuestin matemtica, es decir, para determinar cuntos no equivalentes permutaciones de m


objetos hay, cuando q 1 qm se postula que es equivalente a

(Eq 1 + j) ... (eqk + j) qk + l ... metro cuadrado, para e = 1and1 j, k m (siempre que stos sean

ambas permutaciones, mdulo M). Podramos llamar a estos "permutaciones collar", por
analoga con otros combinatoria conocidos! problema, ya que representan el nmero de
rdenes diferentes en las que una persona puede cambiar las cuentas de un collar de todo el
blanco a todo negro, haciendo caso omiso de la operacin de rotacin y / o dar la vuelta al
ovet collar cada vez que una operacin de este tipo conserva la corriente negro / blanco
patrn. los

nmero total de permutaciones diferentes collar para m = 1, 2, 3, 4, 5, 6, 7 es

1, 1, 1, 2, 4, 14, 62, respectivamente, y me pregunto qu se puede decir de m general.

Volviendo al problema de hash, los teoremas mencionados anteriormente hacen que sea
posible por medios para estudiar todos los esquemas de hash cclicos generalizadas para m 9,
por la computadora; y la siguiente llegar a ser el mejor:

La columna derecha da la media c5 '(m, m) sobre toda m! esquemas. Para m = 10 y 11 de los


mejores permutaciones 1 han encontrado hasta ahora son 1 2 4 6 8 9 10 7 3 5 y
1 3 4 8 9 7 11 2 10 6 5, con respectivos seores de 1.2362 y 1.3103. Lo peor

estos sistemas de incentivos son 9 m

peor de permutacin

1 2 3 4 o: UAX (m, m)

0.6250

1 2 3 4 5 0,7552

1 3 5 2 4 6 0.9132

1 2 3 4 5 6 7 1,0091

1 5 3 7 4 8 2 6 1.1719

1 4 7 2 5 8 3 6 9 1.2638

(Esta tabla sugiere que la forma del esquema cclico peor podra ser obtenible de una manera
sencilla a partir de los factores primos de m.)

Finalmente 1 han tratado de encontrar los peores matrices Q posibles, sin la cclica

restriccin. Tales matrices pueden ser muy mal hecho; el peor 1 conocimientos, para cualquier
m,

ocurrir cuando q1j <Q1U + l) para todo j;?; 2, por ejemplo,

(1 2 3 4 5

21345

31245

41235

51234

cuando m = 5. Usando tcnicas matemticas discretas como los ilustrados anteriormente,

1 han demostrado que la puntuacin para este tipo de matrices es

c5 '(m, m) = (m + 3 +) (1 + f-2.sm-1-5,

que es aproximadamente (e - 2,5) m + 3e - 8 cuando m es grande. Sin duda no queremos


recuperar informacin de esta manera, y tal vez es la nica posible esquema de dispersin
peor.
Por lo tanto, el ejemplo de hash ilustra la interaccin tpica entre la informtica y las
matemticas.

1 agradecen a Garrett Birkhoff por sus comentarios sobre el primer borrador de este
documento.

Das könnte Ihnen auch gefallen