مرتب‌سازی کلوچه‌ای

مرتب‌سازی کلوچه‌ای(به انگلیسی: Pancake sorting) از انواع روش‌های مرتب‌سازی است که در آن معکوس کردن عضوهای بعضی از پیشوندهای یک دنباله تنها کار قابل اجرا می‌باشد. بر خلاف روش‌های سنتی که تلاش می‌کردند مرتب‌سازی را با کمترین تعداد مقایسه انجام دهند، در این رویه هدف مرتب کردن دنباله با کمترین تعداد ممکن معکوس‌سازی است.
این عمل را می‌توان همانند پشته‌ای از کلوچه‌ها در نظر گرفت؛ که می‌توانیم k کلوچهٔ اول را برداریم و به آن ضربه بزنیم. نوع دیگر مسئله با کلوچه‌های سوخته سروکار دارد؛ که یک طرف هر کلوچهٔ سوخته‌است. در نهایت با رو قرار گرفتن سرِ سوختهٔ کلوچه‌ها پایان می‌پذیرد.

مسئله اصلی

حداکثر تعداد تلنگر (واژگون سازی) مورد نیاز برای مرتب‌سازی هر پشته شامل n کلوچه مقداری بین 15/14n و 18/11n نشان داده شده‌است، اما مقدار دقیق آن به دست نیامده‌است.
ساده‌ترین الگوریتم مرتب‌سازی کلوچه‌ای حداکثر نیاز به 2n−۳ تلنگر دارد. در این الگوریتم، یک نوع مرتب‌سازی انتخابی، بزرگترین کلوچهٔ مرتب نشده را روی پشته با یک تلنگر (واژگون سازی) قرار می‌دهیم؛ و سپس با یک تلنگر (واژگون سازی) دیگر آن را به مکان نهایی منتقل می‌کنیم؛ و این فرایند را برای کلوچه‌های باقی‌مانده نیز تکرار می‌کنیم. به این نکته باید توجه کرد که زمان صرف شده برای پیدا کردن کلوچه‌ها در نظر گرفته نمی‌شود. تنها عامل مهم تعداد تلنگرها (واژگون سازی) ست. به منظور پیاده‌سازی ماشینی که بتواند این رویه را در زمان خطی انجام دهد باید واژگون‌سازی پیشوندها و پیدا کردن بیشینه محدوده ازاعداد متوالی دار دنباله در زمان ثابت اجرا شود.
در ۱۷ سمپتامبر سال ۲۰۰۸ گروهی از محققان در دانشگاه تگزاس در دالاس به رهبری بنیان‌گذار هال سودبرو پذیرفته شدن یک روش بهینه تر از آن چیزی که گیتس و پپدیمیتریو برای مراتب‌سازی کلوچه‌ای ارائه داده بودند را توسط مجلهٔ علوم کامپیوتر نظری اعلام کردند.
در ۲ نوامبر سال ۲۰۱۱ یک مقاله به ارخیو ارائه شد که اثبات می‌کرد که مسٔله ان‌پی سخت است،
در نتیجه در پاسخ به سؤال باز برای بیش از سه دهه.

مسئله کلوچه سوخته

در یک نوع پیچیده‌تر که مرتب‌سازی کلوچه سوخته نامید می‌شود که زمانی پایان می‌پذیرد که طرف سوختهٔ همهٔ کلوچه‌ها روی به پایین قرار گیرد. در سال ۲۰۰۸ گروهی از دانشجویان یک رایانه باکتریایی (bacterial computer) ساختند که می‌توانست مسئله سادهٔ مرتب‌سازی کلوچه سوخته را با استفاده از برنامه‌نویسی E. coliحل کند.
DNA دارای جهت گیرصی و نظم است. با وجود قدرت پردازشی پایین DNA فلیپ‌ها. بالا بودن تعداد باکتریها در این روش شالودهٔ گسترده‌ای از محاسبات موازی را فراهم می‌کند. این باکتری با مقاومت در برابر آنتی‌بیوتیک‌ها زمان حل مسئله را علم می‌کند. انیمتینی که این فرایند را به تصویر می‌کشد ساخته شده‌است.

مسئله کلوچه‌ای بر روی رشته‌ها

گفته‌های بالا نشان می‌دهد که هر کلوچه منحصر به فرد است. یعنی هیچ دو تایی از آن‌ها یکسان نیستند. از این روی دنباله‌ای که روی آن معکوس‌ها انجام می‌شود یک جایگشت است. به‌طور مثل یک دنباله‌ای که هر نمد تنها یک بر تکرار می‌شود. در حالی که "رشته‌هاً دنباله‌هایی هستند که نمدها می‌توانند بیش از یک بر در آن‌ها تکرار شوند. چیطوری(Chitturi) و سودبرو (۲۰۱۰) (Sudborough) و هورکنس ات ال. (۲۰۰۷) (.Hurkens et al)جداگانه نشان دادند که پیچیدگی تبدیل یک رشتهٔ سازگار را به رشته‌ای دیگر با استفاده از وژگون‌سازی پیشوندها ان‌پی کامل است.
هورکنس ات ال. (.Hurkens et al) الگوریتمی دقیق برای جستجو ددی و رشته ستایی بیان کرد.. چیتوری (۲۰۱۱) (Chitturi)اثبات کرد که پیچیدگی تبدیل یک رشتهٔ سازگار به رشته‌ای دیگر با استفاده از وژگون‌سازی پیشوندها، مانند مسئله کلوچهٔ سوخته NP_complete است.

تاریخچه

اگر چه اغلب به عنوان یک وسیله آموزشی دیده می‌شود، مرتب‌سازی کلوچه‌ای در برنامه‌های کاربردی در شبکه‌های پردازنده موازی نیز دیده می‌شود، که می‌تواند الگوریتم مؤثر مسیریابی بین پردازنده فراهم کند.
این مسئله به عنوان تنها مقالهٔ ریاضیات مشهور که تاکنون توسط بنیانگذار مایکروسافت بیل گیتس (به عنوان ویلیام گیتس)، تحت عنوان «مرزهای برای دسته‌بندی بر اساس واژگونی پیشوند» در سال ۱۹۷۹ منتشر شده‌است، قابل توجه‌است؛ که یک الگوریتم کارآمدرا برای مرتب‌سازی کلوچه‌ای توصیف می‌کند. علاوه بر این، قابل توجه‌ترین مقاله منتشر شده توسط فوتوراما فوتوراما همکار دیوید کوهن David X. Cohen (به عنوان S. دیوید کوهن) در ارتباط با مسئلهٔ کلوچهٔ سوخته‌است. همکاران آن‌ها Christos Papadimitriou (سپس در دانشگاه هاروارد، در حال حاضر در برکلی) و مانوئل بلومManuel Blum (سپس در برکلی، در حال حاضر در دانشگاه کارنگی ملون دانشگاه کارنگی ملون)، بودند.
مشکلات به هم پیوستهٔ مراتب‌سازی علامتدار با استفاده از وژگون‌سازی و مراتب‌سازی با استفاده از وژگون‌سازی اخیراً بیشتر مورد مطالعه قرار گرفته‌اند. در حالی که الگوریتم بهینه برای مراتب‌سازی با استفاده از وژگون‌سازی پیدا شده‌است. [Kaplan, Shamir, Tarjan, 1997], اثبات شده‌است که حل مسئله مرتب‌سازی با واژگون‌سازی مشکل است حتی به‌دست آوردن تقریب آن با استفاده از شاخص‌های ثابت.[Berman, Karpinski, 1999], همچنین ثابت می‌شود که قابل تخمین‌زنی در زمان چندجمله‌ای است با شاخص تقریبی ۱٫۳۷۵ [Berman, Karpinski, Hannenhalli, 2002].