Сортировка блинов - Pancake sorting
Сортировка блинов - это разговорный термин для математической задачи сортировки неупорядоченной стопки блинов по размеру, когда шпатель можно вставить в любую точку стопки и перевернуть все блины над ней. А блинчик номер - минимальное количество переворотов, необходимое для заданного количества блинов. В таком виде проблему впервые обсудили американские геометр Джейкоб Э. Гудман.[1] Один из вариантов проблемы связан с сгорел блины, у которых у каждого блина есть подгоревшая сторона, а все блины, кроме того, должны иметь подгоревшую сторону.
Все методы сортировки требуют сравнения пар элементов. Для традиционных проблема сортировки, обычная изучаемая задача - минимизировать количество сравнений, необходимых для сортировки списка. Количество фактических операций, таких как замена двух элементов, в этом случае не имеет значения. Для задач сортировки блинов, напротив, цель состоит в том, чтобы свести к минимуму количество операций, где единственными разрешенными операциями являются развороты элементов некоторых приставка последовательности. Теперь количество сравнений не имеет значения.
Блинные проблемы
Оригинальная блинная проблема
Минимальное количество переворачиваний, необходимое для сортировки любой стопки п было показано, что блины лежат между 15/14п и 18/11п (примерно 1,07п и 1,64п,), но точное значение неизвестно.[2]
Самый простой алгоритм сортировки блинов выполняет не более 2п − 3 переворачивает. В этом алгоритме своего рода сортировка выбора, одним флипом доводим до верха самый крупный еще не рассортированный блин; опустите его в конечное положение еще одним переворотом; и повторите этот процесс для оставшихся блинов.
В 1979 г. Билл Гейтс и Христос Пападимитриу[3] дал верхнюю границу (5п+5)/3. Спустя тридцать лет это было улучшено, чтобы 18/11п командой исследователей из Техасский университет в Далласе под руководством профессора-основателя Хэл Садборо.[4][5]
В 2011 году Лоран Бюльто, Гийом Фертин и Ирена Русу[6] доказал, что задача поиска кратчайшей последовательности флипов для заданной стопки блинов является NP-жесткий, тем самым отвечая на вопрос, который оставался открытым более трех десятилетий.
Проблема подгоревшего блина
В варианте, называемом проблема подгоревшего блина, дно каждого блина в стопке подгорело, и сортировка должна завершаться подгоревшей стороной каждого блина вниз. Это знаковая перестановка, а если блин я "сгоревшей стороной вверх" отрицательный элемент я ставится на место я в перестановке. В 2008 году группа студентов построила бактериальный компьютер который может решить простой пример проблемы сгоревшего блина, запрограммировав Кишечная палочка перевернуть сегменты ДНК, похожие на подгоревшие блины. ДНК имеет ориентацию (5 'и 3') и порядок (промотор перед кодированием). Несмотря на то, что вычислительная мощность, выражаемая с помощью переворотов ДНК, невелика, большое количество бактерий в культуре обеспечивает большую платформу для параллельных вычислений. Бактерии сообщают, когда они решили проблему, став устойчивыми к антибиотикам.[7]
Проблема одинаковой стопки блинов
Эта секция нужны дополнительные цитаты для проверка.Сентябрь 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Это навеяно индийским хлебом (роти или чапати ) готовится. Первоначально все роти укладываются в один столбик, и повар переворачивает роти лопаткой так, чтобы каждая сторона каждого роти в какой-то момент касалась основного огня, чтобы поджарить. Возможны несколько вариантов: гриль можно рассматривать как односторонний или двухсторонний, и может быть запрещено или не поджаривать одну и ту же сторону дважды. Эта версия проблемы была впервые исследована Аркой Ройчоудхури.[8]
Блинная задача на струнах
Приведенное выше обсуждение предполагает, что каждый блин уникален, то есть последовательность, в которой выполняются перестановки префиксов, является перестановка. Однако «строки» - это последовательности, в которых может повторяться символ, и это повторение может уменьшить количество обращений префикса, необходимых для сортировки. Читтури и Садборо (2010) и Hurkens et al. (2007) независимо показали, что сложность преобразования одной совместимой строки в другую с минимальным количеством обращений префикса равна НП-полный. Они также дали границы того же. Hurkens et al. дал точный алгоритм сортировки двоичных и троичных строк. Читтури[9] (2011) доказали, что сложность преобразования совместимой подписанной строки в другую с минимальным числом обращений подписанного префикса - проблема сгоревшего блина на строках - является NP-полной.
История
Проблема сортировки блинов была впервые поставлена Джейкоб Э. Гудман, пишущий под псевдонимом «Гарри Двайтер» («взволнованный официант»).[10]
Хотя сортировка блинчиков чаще рассматривается как обучающее устройство, она также появляется в приложениях в сетях с параллельными процессорами, в которых она может обеспечить эффективный алгоритм маршрутизации между процессорами.[11][12]
Проблема примечательна тем, что посвящена единственной известной математической статье автора Microsoft основатель Билл Гейтс (как Уильям Гейтс), озаглавленный «Границы для сортировки по изменению префикса». Опубликованный в 1979 году, он описывает эффективный алгоритм сортировки блинов.[3] Кроме того, наиболее заметная статья, опубликованная Футурама соавтор Дэвид X. Коэн (как Дэвид С. Коэн) касался проблемы сгоревших блинов.[13] Их сотрудники были Христос Пападимитриу (тогда в Гарвард, сейчас на Колумбия ) и Мануэль Блюм (тогда в Беркли, сейчас на Университет Карнеги Меллон ), соответственно.
Связанные проблемы знаковой сортировки обращениями и сортировки обращениями также изучались совсем недавно. В то время как для знаковой сортировки обращениями найдены эффективные точные алгоритмы,[14] Доказано, что проблема сортировки по разворотам трудна даже для аппроксимации с точностью до определенного постоянного множителя,[15] а также доказано, что его можно аппроксимировать за полиномиальное время с точностью до коэффициента аппроксимации 1,375.[16]
Блинные графики
An п-блинный график является графом, вершинами которого являются перестановки п символы от 1 до п а его ребра задаются между перестановками транзитивными перестановками префиксов. Это регулярный график с н! вершин, его степень n - 1. Проблема сортировки блинов и проблема получения диаметр блинного графа эквивалентен.[17]
Блинный график размерности п, Пп могут быть построены рекурсивно из n копий Pп-1, назначая другой элемент из набора {1, 2,…, n} в качестве суффикса для каждой копии.
Их обхват:
- .
Γ (Pп) род из Pп является:[18]
Поскольку графы-блины обладают множеством интересных свойств, таких как симметричные и рекурсивные структуры, малые степени и диаметры по сравнению с размером графа, им уделяется большое внимание как модели взаимосвязанных сетей для параллельных компьютеров.[19][20][21] Когда мы рассматриваем блинные графы как модель взаимосвязанных сетей, диаметр графа является мерой, которая представляет задержку связи.[22][23]
Блинные графики Графики Кэли (таким образом вершинно-транзитивный ) и особенно привлекательны для параллельной обработки. Они имеют сублогарифмическую степень и диаметр и относительно редкий (по сравнению, например, с гиперкубы ).[18]
Связанные целочисленные последовательности
Количество стопок заданной высоты п которые требуют уникальных сальто k сортировать Высота
пk 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 2 1 1 3 1 2 2 1 4 1 3 6 11 3 5 1 4 12 35 48 20 6 1 5 20 79 199 281 133 2 7 1 6 30 149 543 1357 1903 1016 35 8 1 7 42 251 1191 4281 10561 15011 8520 455 9 1 8 56 391 2278 10666 38015 93585 132697 79379 5804 10 1 9 72 575 3963 22825 106461 377863 919365 1309756 814678 73232 11 1 10 90 809 6429 43891 252737 1174766 4126515 9981073 14250471 9123648 956354 6 12 1 11 110 1099 9883 77937 533397 3064788 14141929 49337252 118420043 169332213 111050066 13032704 167 13 1 12 132 1451 14556 130096 1030505 7046318 40309555 184992275 639783475 1525125357 2183056566 1458653648 186874852 2001
Последовательности из Интернет-энциклопедия целочисленных последовательностей:
- OEIS: A058986 - максимальное количество флипов
- OEIS: A067607 - количество стопок, требующих максимального количества флипов (см. Выше)
- OEIS: A078941 - максимальное количество флипов для «сгоревшей» стопки
- OEIS: A078942 - количество переворотов для отсортированной стопки «сгоревшая сторона на вершине»
- OEIS: A092113 - указанный выше треугольник, читаемый по строкам
Рекомендации
- ^ Саймон Сингх (14 ноября 2013 г.). «Переворачивать блины с математикой». Хранитель. Получено 25 марта, 2014.
- ^ Fertin, G .; Labarre, A .; Rusu, I .; Tannier, E .; Виалетте, С. (2009). Комбинаторика перестроек генома. MIT Press. ISBN 9780262062824.
- ^ а б Гейтс, В.; Пападимитриу, К. (1979). «Границы для сортировки по изменению префикса» (PDF). Дискретная математика. 27: 47–57. Дои:10.1016 / 0012-365X (79) 90068-2. Архивировано из оригинал (PDF) 10 июня 2007 г.. Получено 31 марта, 2007.
- ^ «Команда побеждает молодого Билла Гейтса улучшенным ответом на так называемую задачу« Блин »по математике». Техасский университет в Центре новостей Далласа. 17 сентября 2008 г. Архивировано с оригинал 5 апреля 2012 г.. Получено 10 ноября, 2008.
Команда студентов Университета Калифорнии в Далласе, изучающих информатику, и их научный руководитель усовершенствовали давнее решение математической головоломки, известной как проблема блинов. Предыдущее лучшее решение, просуществовавшее почти 30 лет, было разработано Биллом Гейтсом и одним из его преподавателей в Гарварде Христосом Пападимитриу за несколько лет до основания Microsoft.
- ^ Chitturi, B .; Fahle, W .; Meng, Z .; Morales, L .; Shields, C.O .; Sudborough, I.H .; Войт, В. (31 августа 2009 г.). «Верхняя граница (18/11) n для сортировки по перестановкам префиксов». Теоретическая информатика. Графики, игры и вычисления: Посвящается профессору Буркхарду Моньену по случаю его 65-летия. 410 (36): 3372–3390. Дои:10.1016 / j.tcs.2008.04.045.
- ^ Бюльто, Лоран; Фертин, Гийом; Русу, Ирена (2015). «Блин листать сложно». Журнал компьютерных и системных наук. 81 (8): 1556–1574. arXiv:1111.0434. Дои:10.1016 / j.jcss.2015.02.003.
- ^ Хейнс, Кармелла А; Бродерик, Мэриан Л; Браун, Адам Д; Батнер, Тревор Л; Диксон, Джеймс О; Харден, У. Лэнс; Слышал, переулок H; Джессен, Эрик Л; Маллой, Келли Дж; Огден, Брэд Дж; Розмонд, Сабрия; Симпсон, Саманта; Цвак, Эрин; Кэмпбелл, Малкольм; Экдал, Тодд Т.; Хейер, Лори Дж.; Поэт, Джеффри Л. (2008). «Создание бактерий для решения проблемы сгоревших блинов». Журнал биологической инженерии. 2: 8. Дои:10.1186/1754-1611-2-8. ЧВК 2427008. PMID 18492232.
- ^ Ройчоудхури, Арка (18 марта 2015 г.). "Itunes: блины". Crazy1S.
- ^ а б Читтури, Бхадрачалам (2011). «ЗАПИСКА О СЛОЖНОСТИ ГЕНЕТИЧЕСКИХ МУТАЦИЙ». Дискретная математика, алгоритмы и приложения. 03 (3): 269–286. Дои:10.1142 / S1793830911001206.
- ^ Двайтер, Гарри (1975), «Элементарная проблема E2569», Амер. Математика. Ежемесячно, 82 (10): 1009–1010, Дои:10.2307/2318260, JSTOR 2318260
- ^ Gargano, L .; Vaccaro, U .; Возелла, А. (1993). «Отказоустойчивая маршрутизация в сетях межсоединений типа« звезда »и« блинов ». Письма об обработке информации. 45 (6): 315–320. CiteSeerX 10.1.1.35.9056. Дои:10.1016/0020-0190(93)90043-9. Г-Н 1216942..
- ^ Канеко, К .; Пэн, С. (2006). «Маршрутизация непересекающихся путей в блинных графах». Материалы седьмой Международной конференции по параллельным и распределенным вычислениям, приложениям и технологиям, 2006 г. (PDCAT '06). С. 254–259. Дои:10.1109 / PDCAT.2006.56. ISBN 978-0-7695-2736-9..
- ^ Коэн, Д.; Блюм, М. (1995). «К вопросу о сортировке подгоревших блинов». Дискретная прикладная математика. 61 (2): 105. Дои:10.1016 / 0166-218X (94) 00009-3.
- ^ Kaplan, H .; Шамир, Р .; Тарьян, Р. (1997). «Более быстрый и простой алгоритм сортировки перестановок со знаком по переворачиванию». Proc. 8-я ACM-SIAM SODA: 178–87.
- ^ Berman, P .; Карпинский, М. (1999). "О некоторых более жестких результатах несовместимости". Proc. 26-й ICALP (1999) LNCS 1644: 200–09.
- ^ Berman, P .; Карпинский, М.; Ханненхалли, С. (2002). «1.375-Аппроксимационные алгоритмы сортировки по разворотам». Proc. 10-е ESA (2002), LNCS 2461: 200–10.
- ^ Асаи, Сёго; Куноике, Юсуке; Синано, Юдзи; Канеко, Кейчи (1 сентября 2006 г.). Вычисление диаметра 17-блинного графа с использованием кластера ПК. Euro-Par 2006 Параллельная обработка: 12-я Международная конференция Euro-Par. Конспект лекций по информатике. 4128. С. 1114–1124. Дои:10.1007/11823285_117. ISBN 978-3-540-37783-2.
- ^ а б Нгуен, Куан; Беттайеб, Саид (5 ноября 2009 г.). «О роде блинной сети» (PDF). Международный арабский журнал информационных технологий. 8 (3): 289–292.
- ^ Akl, S.G .; Qiu, K .; Стойменович, И. (1993). «Фундаментальные алгоритмы для сетей межсоединений типа« звезда »и« блин »с приложениями к вычислительной геометрии». Сети. 23 (4): 215–225. CiteSeerX 10.1.1.363.4949. Дои:10.1002 / нетто.3230230403.
- ^ Bass, D.W .; Садборо, И. (Март 2003 г.). «Блин проблемы с ограниченным обращением префиксов и некоторыми соответствующими сетями Кэли». Журнал параллельных и распределенных вычислений. 63 (3): 327–336. CiteSeerX 10.1.1.27.7009. Дои:10.1016 / S0743-7315 (03) 00033-9.
- ^ Berthomé, P .; Ferreira, A .; Переннес, С. (декабрь 1996 г.). «Оптимальное распространение информации в звездных и блинных сетях». Транзакции IEEE в параллельных и распределенных системах. 7 (12): 1292–1300. CiteSeerX 10.1.1.44.6681. Дои:10.1109/71.553290.
- ^ Кумар, В .; Грама, А .; Gupta, A .; Карипис, Г. (1994). Введение в параллельные вычисления: проектирование и анализ алгоритмов. Бенджамин / Каммингс.
- ^ Куинн, М.Дж. (1994). Параллельные вычисления: теория и практика (второе изд.). Макгроу-Хилл.
дальнейшее чтение
- Chitturi, B .; Садборо, Х. (2010). «Реверс префикса в строках». Материалы Международной конференции по биоинформатике и вычислительной биологии. 2: 591–598.
- Читтури, Б. (2011). «ЗАПИСКА О СЛОЖНОСТИ ГЕНЕТИЧЕСКИХ МУТАЦИЙ». Дискретная математика. Алгоритм. Приложение. 3 (3): 269–287. Дои:10.1142 / S1793830911001206.
- Heydari, M. H .; Садборо, И. Х. (1997). «На диаметре блинной сети». Журнал алгоритмов. 25 (1): 67–94. Дои:10.1006 / jagm.1997.0874.
- Hurkens, C .; van Iersel, L .; Keijsper, J .; Kelk, S .; Stougie, L .; Тромп, Дж. (2007). «Обращение префиксов к двоичным и троичным строкам». Журнал SIAM по дискретной математике. 21 (3): 592–611. arXiv:математика / 0602456. Дои:10.1137/060664252.
- Рони-Дугал, К.; Ваттер, В. (март 2010 г.). "О блинах, мышах и людях". Plus Magazine. 54.
внешняя ссылка
- Cut-the-Knot: Пазл с блинами, включая Java-апплет для решения проблемы блинов и некоторые обсуждения.
- Дуглас Б. Уэст "Проблемы с блинами"
- Вайсштейн, Эрик В. «Сортировка блинов». MathWorld.
- Анимация, объясняющая бактериальный компьютер, который может решить проблему сгоревших блинов.
- "Tower1 / Pancake Flip" от Арки. Игра по принципу блинной задачи