煎餅排序

煎餅排序是數量問題的口語術語,當刮刀可以插入堆疊中的任何點並用於翻轉其上方的所有薄餅時,按照尺寸的順序對無序堆疊的薄煎餅進行分類。 煎餅數是給定數量的煎餅所需的最小翻轉數。 在這種形式下,問題首先由美國幾何學家Jacob E. Goodman討論過。它是排序問題的變體,其中唯一允許的操作是反轉序列的某些前綴的元素。 與傳統的排序算法不同,傳統的排序算法試圖以儘可能少的比較進行排序,目標是儘可能少地對序列進行排序。 該問題的一個變體涉及燒焦的煎餅,其中每個煎餅具有燒焦的一面,並且所有的煎餅必須另外在底部燒焦的一面。

煎餅問題

燒焦的煎餅問題

在一種稱為燒焦煎餅問題的變體中,堆中每個煎餅的底部被燒掉,並且必須在每個煎餅的燒焦面向下完成分類。它是一個有符號的排列,如果一個煎餅我被“燒焦了”,一個負面元素i`代替我的排列。 2008年,一群本科生建造了一台細菌計算機,通過編程大腸桿菌來翻轉類似燒焦煎餅的DNA片段,可以解決燒焦煎餅問題的一個簡單例子。 DNA具有取向(5'和3')和順序(編碼前的啟動子)。即使由DNA翻轉表達的處理能力低,文化中的大量細菌也提供了大型並行計算平台。當他們通過抗生素抗性解決問題時,細菌會報告。

相同的煎餅堆疊問題

這源於印度麵包(Roti或薄煎餅)的烹飪方式。最初,所有的烤肉都堆放在一列中,廚師用刮刀翻轉烤肉,這樣每個烤肉的每一面都會在某些點接觸烤火。有幾種變體是可能的:rotis可以被認為是單面或雙面的,並且可以禁止或不兩次烘烤同一面。 Arka Roychowdhury首先探討了這個問題的版本。

字元串上的煎餅問題

上面的討論假定每個煎餅是唯一的,即,執行前綴反轉的序列是置換。然而,“字元串”是符號可以重複的序列,並且這種重複可以減少排序所需的前綴反轉的數量。 Chitturi和Sudborough(2010年)和Hurkens等人。 (2007)獨立地表明,將具有最小前綴反轉次數的兼容字元串轉換為另一種字元串的複雜性是NP完全的。他們也給了同樣的限制 。 Hurkens等人。給出了一個精確的算法來排序二進制和三進制字元串。 Chitturi(2011)證明了將兼容的帶符號字元串轉換為另一個具有最小簽名前綴反轉次數的複雜性 - 字元串上燒焦的煎餅問題-是NP完全的。

歷史

煎餅分揀問題首先由雅各布·E·古德曼(Jacob E. Goodman)提出,用筆名“哈利·加勒特”(Harry Dweighter)(匆忙的服務員)撰寫。雖然經常被視為一種教育設備,但煎餅分類也出現在並行處理器網路的套用中,它可以在處理器之間提供有效的路由算法。

這個問題值得注意的是微軟創始人比爾蓋茨(作為威廉蓋茨)唯一著名的數學論文題目,題為“按前綴逆轉排序的界限”。它出版於1979年,它描述了一種有效的煎餅分選算法。此外,由Futurama聯合創始人David X. Cohen(作為David S. Cohen)發表的最著名的論文涉及燒焦的煎餅問題。他們的合作者分別是Christos Papadimitriou(當時在哈佛大學,現在在哥倫比亞大學)和Manuel Blum(當時在伯克利,現在在卡內基梅隆大學)。

最近還研究了通過逆轉進行符號排序和通過逆轉進行排序的相關問題。雖然已經通過反轉找到了有效的精確算法用於帶符號的排序,已經證明通過反轉排序的問題甚至難以逼近某個常數因子,並且也被證明在多項式時間內是近似的。在近似因子1.375內。

相關詞條

熱門詞條

聯絡我們