stringtranslate.com

Clasificación de panqueques

Demostración de la operación principal. La espátula da vuelta los tres panqueques superiores, con el resultado que se ve a continuación. En el problema de los panqueques quemados, ahora se quemarían los lados superiores en lugar de los inferiores.

La clasificación de panqueques es el problema matemático de ordenar una pila desordenada de panqueques por orden de tamaño cuando se puede insertar una espátula en cualquier punto de la pila y usarla para voltear todos los panqueques que están encima. Un número de panqueques es el número mínimo de volteos necesarios para una cantidad dada de panqueques. En esta forma, el problema fue discutido por primera vez por el geómetra estadounidense Jacob E. Goodman . [1] Una variante del problema se relaciona con los panqueques quemados , donde cada panqueque tiene un lado quemado y todos los panqueques deben, además, terminar con el lado quemado hacia abajo.

Todos los métodos de ordenación requieren que se comparen pares de elementos. En el caso del problema de ordenación tradicional , el problema que se estudia habitualmente es minimizar el número de comparaciones necesarias para ordenar una lista . El número de operaciones reales, como intercambiar dos elementos, es entonces irrelevante. En cambio, en los problemas de ordenación pancake, el objetivo es minimizar el número de operaciones, donde las únicas operaciones permitidas son las inversiones de los elementos de algún prefijo de la secuencia. Ahora bien, el número de comparaciones es irrelevante.

Los problemas de los panqueques

El problema original de los panqueques

Se ha demostrado que el número mínimo de vueltas necesarias para ordenar cualquier pila de n panqueques se encuentra entre 15/14n y18/11n (aproximadamente 1,07 n y 1,64 n ), pero no se conoce el valor exacto. [2]

El algoritmo de ordenación de panqueques más simple realiza como máximo 2 n − 3 giros. En este algoritmo, una especie de ordenación por selección , llevamos el panqueque más grande que aún no se ha ordenado a la parte superior con un giro; lo bajamos a su posición final con un giro más; y repetimos este proceso para los panqueques restantes.

En 1979, Bill Gates y Christos Papadimitriou [3] dieron un límite inferior de 17/16n (aproximadamente 1,06 n ) volteretas y un límite superior de(5 y +5)/3 . El límite superior fue mejorado, treinta años después, para 18/11n por un equipo de investigadores de la Universidad de Texas en Dallas , dirigido por el profesor fundador Hal Sudborough. [4] [5]

En 2011, Laurent Bulteau, Guillaume Fertin e Irena Rusu [6] demostraron que el problema de encontrar la secuencia más corta de giros para una pila dada de panqueques es NP-difícil , respondiendo así una pregunta que había estado abierta durante más de tres décadas.

El problema del panqueque quemado

En una variación llamada el problema del panqueque quemado , se quema la parte inferior de cada panqueque en la pila, y la clasificación debe completarse con el lado quemado de cada panqueque hacia abajo. Es una permutación con signo , y si un panqueque i está "quemado hacia arriba", se coloca un elemento negativo i` en lugar de i en la permutación. En 2008, un grupo de estudiantes universitarios construyó una computadora bacteriana que puede resolver un ejemplo simple del problema del panqueque quemado programando E. coli para que invierta segmentos de ADN que son análogos a los panqueques quemados. El ADN tiene una orientación (5' y 3') y un orden (promotor antes de codificación). Aunque la potencia de procesamiento expresada por las inversiones de ADN es baja, la gran cantidad de bacterias en un cultivo proporciona una gran plataforma de computación paralela . Las bacterias informan cuando han resuelto el problema volviéndose resistentes a los antibióticos. [7]

El problema de los panqueques en las cuerdas

La discusión anterior presupone que cada panqueque es único, es decir, la secuencia en la que se realizan las inversiones de prefijo es una permutación . Sin embargo, las "cadenas" son secuencias en las que un símbolo puede repetirse, y esta repetición puede reducir el número de inversiones de prefijo necesarias para ordenar. Chitturi y Sudborough (2010) y Hurkens et al. (2007) demostraron de forma independiente que la complejidad de transformar una cadena compatible en otra con el número mínimo de inversiones de prefijo es NP-completa . También dieron límites para el mismo. Hurkens et al. dieron un algoritmo exacto para ordenar cadenas binarias y ternarias. Chitturi [8] (2011) demostró que la complejidad de transformar una cadena con signo compatible en otra con el número mínimo de inversiones de prefijo con signo (el problema del panqueque quemado en cadenas) es NP-completa.

Historia

El problema de la clasificación de panqueques fue planteado por primera vez por Jacob E. Goodman , escribiendo bajo el seudónimo de "Harry Dweighter" ("camarero agobiado"). [9]

Aunque se considera más a menudo como un dispositivo educativo, la clasificación de panqueques también aparece en aplicaciones en redes de procesadores paralelos, en las que puede proporcionar un algoritmo de enrutamiento eficaz entre procesadores. [10] [11]

El problema es notable por ser el tema del único artículo matemático conocido del fundador de Microsoft, Bill Gates (como William Gates), titulado "Límites para la ordenación por inversión de prefijo" y escrito en coautoría con Christos Papadimitriou . Publicado en 1979, describe un algoritmo eficiente para la ordenación de panqueques. [3] Además, el artículo más notable publicado por el cocreador de Futurama, David X. Cohen (como David S. Cohen), escrito en coautoría con Manuel Blum , se refería al problema del panqueque quemado. [12]

Más recientemente, también se han estudiado los problemas relacionados de ordenamiento con signo por reversiones y ordenamiento por reversiones. Mientras que se han encontrado algoritmos exactos y eficientes para el ordenamiento con signo por reversiones, [13] se ha demostrado que el problema del ordenamiento por reversiones es difícil incluso de aproximar dentro de un cierto factor constante, [14] y también se ha demostrado que es aproximable en tiempo polinómico dentro del factor de aproximación 1,375. [15]

Gráficos de panqueques

El gráfico de panqueques P 3
El gráfico de panqueque P 4 se puede construir recursivamente a partir de 4 copias de P 3 asignando un elemento diferente del conjunto {1, 2, 3, 4} como sufijo a cada copia.

Un grafo de n -panqueques es un grafo cuyos vértices son las permutaciones de n símbolos desde 1 hasta n y sus aristas están dadas entre permutaciones transitivas por inversiones de prefijo. Es un grafo regular con n! vértices, su grado es n−1. El problema de ordenamiento de panqueques y el problema para obtener el diámetro del grafo de panqueques son equivalentes. [16]

El gráfico de panqueque de dimensión n , P n, se puede construir recursivamente a partir de n copias de P n−1 , asignando un elemento diferente del conjunto {1, 2, …, n} como sufijo a cada copia.

Su circunferencia :

.

El género γ(P n ) de P n es: [17]

Dado que los gráficos de panqueque tienen muchas propiedades interesantes, como estructuras simétricas y recursivas, grados y diámetros pequeños en comparación con el tamaño del gráfico, se les presta mucha atención como modelo de redes de interconexión para computadoras paralelas. [18] [19] [20] Cuando consideramos los gráficos de panqueque como el modelo de las redes de interconexión, el diámetro del gráfico es una medida que representa el retraso de la comunicación. [21] [22]

Los gráficos de panqueque son gráficos de Cayley (por lo tanto, son transitivos en vértices ) y son especialmente atractivos para el procesamiento paralelo. Tienen grado y diámetro sublogarítmicos y son relativamente dispersos (en comparación con, por ejemplo, los hipercubos ). [17]

Algoritmo

A continuación se muestra un ejemplo del algoritmo de ordenamiento de panqueques en Python . El código es similar al ordenamiento de burbuja o al ordenamiento por selección .

def  flip ( arr ,  k :  int )  ->  Ninguno : izquierda  =  0 mientras que  izquierda  <  k : arr [ izquierda ],  arr [ k ]  =  arr [ k ],  arr [ izquierda ] k-  =  1 izquierda  +=  1def  max_index ( arr ,  k :  int )  ->  int : índice  =  0 para  i  en  el rango ( k ): si  arr [ i ]  >  arr [ índice ]: índice  =  i  índice de retornodef  pancake_sort ( arr )  ->  Ninguno : n  =  len ( arr ) mientras  n  >  1 : maxidx  =  índice máximo ( arr ,  n ) si  maxidx  !=  n  -  1 : si  maxidx  !=  0 : voltear ( arr ,  maxidx ) voltear ( arr ,  n  -  1 ) n-  =  1arreglo  =  [ 15 ,  8 ,  9 ,  1 ,  78 ,  30 ,  69 ,  4 ,  10 ]ordenamiento_panqueque ( arr )imprimir ( arr )

Secuencias de números enteros relacionados

Secuencias de la Enciclopedia en línea de secuencias de números enteros :

Referencias

  1. ^ Singh, Simon (14 de noviembre de 2013). "Cómo hacer panqueques con matemáticas". The Guardian . Consultado el 25 de marzo de 2014 .
  2. ^ Fertín, G.; Labarre, A.; Rusu, I.; Tannier, E.; Vialette, S. (2009). Combinatoria de reordenamientos del genoma . La prensa del MIT. ISBN 9780262062824.
  3. ^ ab Gates, W. ; Papadimitriou, C. (1979). "Límites para la ordenación por inversión de prefijo". Matemáticas discretas . 27 : 47–57. doi : 10.1016/0012-365X(79)90068-2 .
  4. ^ "Team Beats Young Bill Gates With Improved Answer to So-Called Pancake Problem in Mathematics" (Un equipo supera al joven Bill Gates con una respuesta mejorada al llamado problema del panqueque en matemáticas). Centro de noticias de la Universidad de Texas en Dallas. 17 de septiembre de 2008. Archivado desde el original el 14 de febrero de 2012. Consultado el 10 de noviembre de 2008. Un equipo de estudiantes de informática de la UT Dallas y su asesor académico han mejorado una solución de larga data para un enigma matemático conocido como el problema del panqueque. La mejor solución anterior, que se mantuvo durante casi 30 años, fue ideada por Bill Gates y uno de sus instructores de Harvard, Christos Papadimitriou, varios años antes de que se estableciera Microsoft.
  5. ^ Chitturi, B.; Fahle, W.; Meng, Z.; Morales, L.; Shields, CO; Sudborough, IH; Voit, W. (31 de agosto de 2009). "Un límite superior de (18/11)n para la ordenación por inversiones de prefijo". Ciencias de la Computación Teórica . Gráficos, Juegos y Computación: Dedicado al Profesor Burkhard Monien con motivo de su 65º Cumpleaños. 410 (36): 3372–3390. doi : 10.1016/j.tcs.2008.04.045 .
  6. ^ Bulteau, Laurent; Fertin, Guillaume; Rusu, Irena (2015). "Dar la vuelta a los panqueques es difícil". Revista de Ciencias de la Computación y de Sistemas . 81 (8): 1556–1574. arXiv : 1111.0434 . doi :10.1016/j.jcss.2015.02.003.
  7. ^ Haynes, Karmella A; Broderick, Marian L; Brown, Adam D; Butner, Trevor L; Dickson, James O; Harden, W Lance; Heard, Lane H; Jessen, Eric L; Malloy, Kelly J; Ogden, Brad J; Rosemond, Sabriya; Simpson, Samantha; Zwack, Erin; Campbell, A Malcolm; Eckdahl, Todd T; Heyer, Laurie J ; Poet, Jeffrey L (2008). "Ingeniería de bacterias para resolver el problema de los panqueques quemados". Revista de ingeniería biológica . 2 : 8. doi : 10.1186/1754-1611-2-8 . PMC 2427008 . PMID  18492232. 
  8. ^ Chitturi, Bhadrachalam (2011). "Una nota sobre la complejidad de las mutaciones genéticas". Matemáticas discretas, algoritmos y aplicaciones . 03 (3): 269–286. doi :10.1142/S1793830911001206.
  9. ^ Dweighter, Harry (1975), "Problema elemental E2569", Amer. Math. Monthly , 82 (10): 1009–1010, doi :10.2307/2318260, JSTOR  2318260
  10. ^ Gargano, L.; Vaccaro, U.; Vozella, A. (1993). "Enrutamiento tolerante a fallos en las redes de interconexión en estrella y panqueque". Information Processing Letters . 45 (6): 315–320. CiteSeerX 10.1.1.35.9056 . doi :10.1016/0020-0190(93)90043-9. MR  1216942. .
  11. ^ Kaneko, K.; Peng, S. (2006). "Enrutamiento de caminos disjuntos en gráficos panqueque". Actas de la Séptima Conferencia Internacional sobre Computación Paralela y Distribuida, Aplicaciones y Tecnologías, 2006 (PDCAT '06) . págs. 254–259. doi :10.1109/PDCAT.2006.56. ISBN 978-0-7695-2736-9. Número de identificación del sujeto  18777751..
  12. ^ Cohen, DS ; Blum, M. (1995). "Sobre el problema de clasificar panqueques quemados". Matemáticas Aplicadas Discretas . 61 (2): 105. doi : 10.1016/0166-218X(94)00009-3 .
  13. ^ Kaplan, H.; Shamir, R.; Tarjan, RE (1997). "Algoritmo más rápido y simple para ordenar permutaciones con signo por reversiones". Proc. 8th ACM-SIAM SODA : 178–87.
  14. ^ Berman, P.; Karpinski, M. (1999). "Sobre algunos resultados de inaproximabilidad más estrictos". Proc. 26th ICALP (1999) . Apuntes de clase en informática. 1644 : 200–09.
  15. ^ Berman, P.; Karpinski, M .; Hannenhalli, S. (2002). "Algoritmos de aproximación 1.375 para ordenar por reversiones". Proc. 10th ESA (2002) . Apuntes de clase en informática. 2461 : 200–10.
  16. ^ Asai, Shogo; Kounoike, Yuusuke; Shinano, Yuji; Kaneko, Keiichi (2006). "Cálculo del diámetro de un grafo de 17 panqueques utilizando un clúster de PC". En Nagel, Wolfgang E.; Walter, Wolfgang V.; Lehner, Wolfgang (eds.). Euro-Par 2006, Procesamiento paralelo, 12.ª Conferencia internacional Euro-Par, Dresde, Alemania, 28 de agosto – 1 de septiembre de 2006, Actas . Apuntes de clase en informática. Vol. 4128. Springer. págs. 1114–1124. doi :10.1007/11823285_117. ISBN . 978-3-540-37783-2.
  17. ^ ab Nguyen, Quan; Bettayeb, Said (5 de noviembre de 2009). "Sobre el género de la red Pancake" (PDF) . The International Arab Journal of Information Technology . 8 (3): 289–292.
  18. ^ Akl, SG; Qiu, K.; Stojmenović, I. (1993). "Algoritmos fundamentales para las redes de interconexión en estrella y panqueque con aplicaciones a la geometría computacional". Redes . 23 (4): 215–225. CiteSeerX 10.1.1.363.4949 . doi :10.1002/net.3230230403. 
  19. ^ Bass, DW; Sudborough, IH (marzo de 2003). "Problemas de panqueques con inversiones de prefijo restringidas y algunas redes Cayley correspondientes". Journal of Parallel and Distributed Computing . 63 (3): 327–336. CiteSeerX 10.1.1.27.7009 . doi :10.1016/S0743-7315(03)00033-9. 
  20. ^ Berthomé, P.; Ferreira, A.; Perennes, S. (diciembre de 1996). "Difusión óptima de información en redes en estrella y en panqueque". IEEE Transactions on Parallel and Distributed Systems . 7 (12): 1292–1300. CiteSeerX 10.1.1.44.6681 . doi :10.1109/71.553290. 
  21. ^ Kumar, V.; Grama, A.; Gupta, A.; Karypis, G. (1994). Introducción a la computación paralela: diseño y análisis de algoritmos . Benjamin/Cummings.
  22. ^ Quinn, MJ (1994). Computación paralela: teoría y práctica (segunda edición). McGraw-Hill.

Lectura adicional

Enlaces externos