moaminsharifi/fa-wiki-spell-checker huggingface dataset:
اندازهٔ run با اندازهٔ کوچکترین run مقایسه می‌شود. اندازهٔ کوچکترین run که «minrun» نامیده می‌شود که به اندازهٔ آرایه بستگی دارد. برای آرایه‌هایی که اندازهٔ آن از ۶۴ کمتر باشد، اندازهٔ minrun به اندازهٔ خود آرایه می‌باشد و اساساً به مرتب‌سازی درجی تبدیل می‌گردد. برای آرایه‌های بزرگتر اندازهٔ minrun بین بازهٔ ۳۲ تا ۶۵ انتخاب می‌شود. الگوریتم نهایی برای انتخاب minrun، شش بیت قابل توجه اندازهٔ آرایه را در نظر می‌گیرد. اگر هر کدام از بیت‌های باقی‌مانده یک بودند، یک اضافه می‌کند و از آن به‌عنوان minrun استفاده می‌کند. این روش برای همهٔ آرایه‌هایی که سایز آن‌ها از ۶۴ کمتر است و شامل یک هستند، درست عمل می‌کند.
هنگامی که یک آرایه به صورت رندم باشد، با احتمال زیادی یک run طبیعی تعداد عناصر کمتری از minrun دارد. در این موارد تعداد مناسبی از عناصر در نظر گرفته می‌شوند و از مرتب‌سازی درجی برای مرتب کردن آن‌ها استفاده می‌شود. سپس اندازهٔ آن افزایش می‌یابد تا به اندازهٔ minrun بشود.
عملیات ادغام معمولاً روی دو run پیاپی انجام می‌شود. برای این کار سه run بالای پشته را که مرتب نشده‌اند را در نظر می‌گیرد. اگر طول این سه run را x، y، z در نظر بگیریم، الگوریتم طوری آن‌ها را ادغام می‌کند که دو شرط زیر برقرار شود.
این دو قانون باعث می‌شود که طول runها نزدیک به هم نگه داشته شوند و بازدهی الگوریتم بالاتر باشد.
ادغام کردن دو run همسایه به کمک یک حافظهٔ کمکی انجام می‌شود. اندازهٔ این حافظه به اندازهٔ run کوچکتر می‌باشد. الگوریتم آرایهٔ کوچکتر را در حافظه کپی می‌کند و سپس برای ذخیرهٔ run نهایی از حافظهٔ اصلی و حافظهٔ run بزرگتر استفاده می‌کند.
طبق نظریه اطلاعات هیچ الگوریتم مرتب‌سازی مقایسه‌ای نمی‌تواند کارایی بهتر از formula_1 در حالت میانگین داشته باشد. در داده‌های واقعی الگوریتم تیم معمولاً با تعداد مقایسه‌های کمتر از formula_1 مرتب‌سازی را انجام می‌دهد زیرا از این مزیت که زیر مجموعه‌ای از داده‌ها مرتب هستند.
در مواردی که هیچ زیر مجموعه‌ای از داده‌ها مرتب‌شده نیستند الگوریتم نمی‌تواند از این مزیت استفاده کند و با کارایی formula_1 کار می‌کند.
در جدول زیر کارایی الگوریتم با دیگر الگوریتم‌های مقایسه‌ای مقایسه شده‌است.
در جدول زیر انواع مختلف الگوریتم‌ها بر اساس پیچیدگی مقایسه شده‌اند.
حبابچه‌دارن (همراه با حفره) (Alveolate) فرمانرو بزرگی از جانداران هستند که در گذشته در دسته آغازیان طبقه بندی می‌شدند. اما اکنون که مشخص شده است آغازیان دارای منشاء مشترکی نبودند، حبابچه‌داران خود فرمانرویی جداگانه شمرده می‌شوند.
این گروه پنج شاخه دارد:
Wikipedia contributors, "Alveolate," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Alveolate&oldid=679155201 (accessed September 6, 2015).
در نظریه گراف، شاخه‌ای از ریاضیات، الگوریتم ادمون برای پیدا کردن انشعاب بهینهٔ بیشینه یا کمینه به کار می‌رود. زمانی که راس‌ها با یال‌های وزن دار و جهت دار به یکدیگر متصل شده باشند، دیگر نمی‌توانیم از الگوریتم درخت پوشای کمینه استفاده کنیم. بنابراین از الگوریتم انشعاب بهینه استفاده می‌کنیم که در سال ۱۹۶۷ توسط ادمون ارائه شد. برای یافتن مسیر با طول بیشینه، ابتدا یال‌ها بر اساس وزن شان مرتب می‌شوند. از بزرگترین یال شروع کرده و آن یال بین دو راس قرار می‌گیرد. بعد از آن به سراغ یال بزرگتر بعدی رفته و همین کار برای باقی یال‌ها نیز انجام می‌شود. اگر یالی باعث ایجاد دور در گراف شود، آن یال حذف می‌شود. برای پیدا کردن مسیر با طول کمینه نیز، یال‌ها از کوچک به بزرگ مرتب می‌شوند و کار با یال کوچکتر شروع می‌شود.
زمان اجرای این الگوریتم برابر با formula_1 است. پیاده‌سازی سریعتری از این الگوریتم، توسط روبرت تارجان ارائه شد که زمان اجرای آن برای یک گراف نا متراکم formula_2 و برای گراف متراکم برابر با formula_3 است. زمان اجرای آن به تندی الگوریتم پریم، برای یافتن درخت پوشای کمینهٔ بدون جهت است. بعدها در سال ۱۹۸۶، گابو، گلیل، اسپنسر، و تارجان پیاده‌سازی سریعتری را ارائه کردند که زمان اجرای آن برابر است با formula_4.
تابعی مانند formula_5 را در نظر می‌گیریم که به عنوان ورودی، یک گراف وزن دار و جهت دار formula_6 و یک راس formula_7 به عنوان ریشه می‌گیرد و به عنوان خروجی، یک درخت فراگیر ریشه دار، با ریشهٔ formula_7، به ما می‌دهد.
توصیف دقیق الگوریتم در ادامه آمده‌است. با گرفتن یک گراف وزن دار و جهت دار مانند formula_6، با ریشهٔ formula_7، به این صورت عمل می‌کنیم که در ابتدا، مجموعهٔ یال‌های موازی(یال‌هایی که بین دو راس یکسان قرار دارند و دارای یک جهت می‌باشند) را با یک یال که وزن آن برابر با مینیمم مقدار وزن آن یال‌های موازی است، جایگزین می‌کنیم.
این الگوریتم یک توصیف شهودی بازگشتی دارد. تابعی مانند formula_5 را در نظر می‌گیریم. این تابع به عنوان ورودی، گراف وزن دار و جهت دار formula_6، با یک راس formula_7 به عنوان "ریشه" را می‌گیرد و به عنوان خروجی، یک درخت فراگیر ریشه دار، با کمترین هزینه، می‌دهد.
توصیف دقیق الگوریتم در ادامه آمده‌است. با گرفتن یک گراف وزن دار و جهت دار formula_6 با ریشهٔ formula_7، در ابتدا به این صورت عمل می‌کنیم که مجموعه‌ای از یال‌های موازی (یال‌های بین دو راس یکسان که دارای یک جهت هستند)را با یک یال که وزن آن برابر با مینیمم مقدار وزن آن یال‌های موازی است، جایگزین می‌کنیم.
حالا برای هر راس formula_16 به جز ریشه، یال ورودی به آن راس که دارای کمترین هزینه‌است را علامت(به‌طور قراردادی) می‌زنیم. راسی که در سر دیگر این یال قرار دارد را با formula_17 مشخص می‌کنیم. اگر یال‌های علامت زده شده، تشکیل یک SRT(درخت فراگیر ریشه دار) را می‌دادند، یعنی تابع formula_18 این SRT را مشخص کرده‌است. در غیر این صورت، مجموعه یال‌های علامت زده شده، تشکیل حداقل یک دور را می‌دهند. یکی از دورها را (به صورت دلخواه) formula_19 بنامید. حالا ما یک گراف وزن دار و جهت دار formula_20 که دارای ریشه formula_21 است را تعریف می‌کنیم. به این صورت که، راس‌های formula_20 مانند راس‌های formula_6 هستند نه formula_19، به اضافه یک راس "جدید" که با formula_25 مشخص می‌شود.
اگر formula_26 یالی در formula_6 باشد، با این شرط که formula_28، یال formula_29 را به صورت شرح داده شده در زیر به formula_20 اضافه می‌کنیم.
اگر formula_31، formula_32 و formula_33
در غیر این صورت، اگر formula_34، formula_35 و and formula_36.
ما هیچ یال دیگری را به formula_20 اضافه نمی‌کنیم.
ریشهٔ formula_21 در formula_20، همان ریشهٔ formula_7 در formula_6. است.
با صدا کردن تابع formula_42، یک SRT در formula_20 می‌یابیم. در نظر داشته باشید که در این SRT، یال ورودی (یکتا) به formula_25، یال formula_45 است. این یال می‌تواند از زوج مرتب‌هایی مانند formula_26 با شرط formula_28 و formula_31 باشد. علامت formula_49 را بردارید و formula_26 را علامت بزنید. حالا مجموعه یال‌های علامت زده شده، یک SRT می‌سازند که ما می‌توانیم آن را مقدار تابع formula_18 در نظر بگیریم.
دقت کنید که تابع formula_18 به وسیله تابع formula_42 تعریف شده‌است. و تابع formula_20 که یک گراف وزن دار، جهت دار و ریشه دار است، نسبت به گراف formula_6 به شدت تعداد راس‌هایش کمتر است و استفاده از formula_18 برای یک گراف تک راس، کاری بیهوده‌است.
BV را یک مجموعه‌ای برای رئوس و BE را مجموعه‌ای برای یال‌ها در نظر بگیرید. اگر "V" را یک راس در نظر بگیرید و "e" هم یالی با بیشترین وزن مثبت و متصل به "V" باشد، C یک دور خواهد بود. G = (V,E) گراف اصلی است و "u" یک راس جانشین برای C است.
حمام توقف، محلولی شیمیایی است که معمولاً در ظهور فیلم و کاغذ عکاسی، پس از اتمام مرحله ظهور مورد استفاده قرار می‌گیرد. هدف از حمام توقف، توقف عمل ظهور با خنثی کردن باقی مانده داروی ظهور، بر روی فیلم یا کاغذ است. این عمل سابقاً با آب ساده صورت می‌گرفت، اما روند ظهور همچنان تا خنثی شدن داروی ظهور در طی لحظاتی (هر چند در سطح بسیار پایین) ادامه می‌یافت. بدین منظور برای توقف سریع عمل ظهور از حمام اسیدی با اسیدیته پائین (محلول ۳۰% اسید استیک) استفاده می‌کنند.
در هندسۀ محاسباتی، الگوریتم چان که به افتخار Timothy M. Chan و پس از او نامگذاری شد، الگوریتمی بهینه و حساس به خروجی است که پوش محدب در مجموعه ای از n نقطه که در فضای دو یا سه بعدی قرار دارند را محاسبه می‌کند.
این الگوریتم از مرتبهٔ (O(n log h زمان می‌گیرد که در آن h، تعداد راس‌های خروجی (پوش محدب) است. در حالت مسطح، این الگوریتم، الگوریتمی از مرتبۀ پیچیدگی (O(n log n (مانند جستجوی گراهام) را با الگوریتم بسته‌بندی هدیه هدیه ترکیب می‌کند تا در زمان بهینۀ اجرا شود.این الگوریتم از آن جهت که بسیار ساده‌تر از الگوریتم نهایی پوش محدب برای سطح است و به‌طور طبیعی هم قابلیت تعمیم به فضای 3 بعدی را دارد، مورد توجه قرار گرفته‌است.
در ابتدا فرض می کنیم که عدد h را داریم و بنابراین پارامتر m را برابر h تعریف می کنیم. این فرض شاید به نظر واقعی نرسد، اما بعداً این فرض را از الگوریتم حذف خواهیم کرد.این الگوریتم در ابتدا با تقسیم دلخواه مجموعۀ نقاط(P) به حداکثر 1+n/m زیر مجموعه که در هر یک از آن‌ها حداکثر m نقطه وجود دارد، شروع می‌شود. سپس با استفاده از الگوریتم پوش محدب، می‌توان در هر یک از این زیر مجموعه‌ها با زمان (O(n log n، پوش محدب را محاسبه کرد.توجه کنید که از آنجا که (O(n/m زیر مجموعه که هر یک شامل(O(m نقطه است وجود دارد، این مرحله حداکثر (O(n/m)O(m log m) = O(n log m زمان می‌گیرد.
در مرحلۀ دوم از مسئلۀ بسته‌بندی کادو استفاده می‌شود. همچنین برای افزایش سرعت اجرا، در این مرحله از مقادیر از پیش محاسبه شدۀ پوش‌های محدب استفاده می‌شود. در هر گام از اجرای الگوریتم بسته بندی، نقطه‌ای مانند "p" در پوش محدب فرض می‌شود و الگوریتم به دنبال این است که نقطه ای مانند (p = "f(p,P" پیدا کند با این ویژگی که بقیۀ نقاط در P، در سمت راست خط گذرنده از "p" و"p" قرار گیرند. اگر پوش محدب را برای m نقطه که در مجموعۀ Q قرار دارند مشخص باشد، می‌توان "(f(p,Q" را با استفاده از جستجوی دودویی، در زمان (O(log m محاسبه کرد.همچنین می‌توان (f(pi,Q را برای هر یک از (O(n/m زیر مجموعۀ P حساب کرد. این کار از مرتبۀ زمانی (O(n/m log m طول می کشد. سپس با استفاده از همین تکنیک، "(f(p,P"' محاسبه می‌شود. اما این کار فقط نقاطی را در نطر می گیرد که زیر مجموعه‌ای مانند Qاز P وجود داشته باشد که برای آن نقطه "(f(p,Q" را حساب کرده باشد. همان گونه که الگوریتم بسته بندی هدیه این فرایند را (O(h بار تکرار می‌کند، مرحلۀ دوم این الگوریتم هم به اندازۀ (O(n log m زمان می برد و چنانچه m=h باشد، (O(n log h زمان می برد.
با اجرای دو مرحلۀ اول الگوریتم مطابق آنچه در بالا توصیف شد، می توان پوش محدب را برای n نقطه، با این فرض که مقدار h از قبل مشخص است، در زمان (O(n logh محاسبه کرد. با فرض اینکه m<h باشد، آنگاه می توان اجرای الگوریتم را پس از m+1 گام متوقف کرد. بنابراین اجرای آن تنها به اندازۀ (O(nlog m، البته بدون محاسبۀ پوش محدب، زمان می گیرد. می توانیم در ابتدا، m را ثابت کوچکی در نطر بگیریم و سپس مقدار آنرا افزایش دهیم تا زمانی که m>h شود.در این حالت، پوش محدب به عنوان خروجی بدست می آید.ثابت اولیۀ m را نیز در فرض های خود 2 در نظر می گیریم اما در عمل عددی حدود 5 بهتر عمل می کند.
اگر مقدار m خیلی آرام افزایش یابد، ممکن است الگوریتم مراحل بالا را دفعات زیادی تکرار کند و این باعث می‌شود زمان اجرا بسیار زیاد شود. از طرف دیگر، اگر مقدار m به سرعت افزایش یابد، ممکن است m ناگهان از h خیلی بیشتر شود و این امر خود باعث افزایش زمان اجرا می شود. الگوریتم چان، مقدار m را در هر تکرار مربع می کند و هر بار اطمینان حاصل می کند که مقدار m هیچگاه از n بیشتر نشود.به عبارت دیگر در تکرار tام(که t از صفر شروع می شود)،
زمان اجرای کل الگوریتم برابر است با:
برای تعمیم این روش به فضای 3 بعدی، باید به جای الگوریتم جستجوی گراهام، از الگوریتم با زمان اجرای (O(n log n برای محاسبۀ پوش محدب در فضای 3 بعدی استفاده شود. همچنین به جای الگوریتم مارش برای بسته بندی هدیه، باید از نسخۀ 3بعدی آن استفاده کنیم. با این تغییرات، پیچیدگی اجرای الگوریتم همچنان (O(n log h باقی می ماند.
در مقالۀ چان، روش‌های پیشنهادی زیادی برای بهبود عملی کارایی الگوریتمش آمده است که بعضی از آنها عبارتند از:
واکنش اشمیت-کولب که در شیمی آلی مورد بحث قرار می‌گیرد عبارت است از یک واکنش شیمیایی که طی آن نمک یک فنول با کربن دی اکسید واکنش داده و گروه کربوکسیل جانشین هیدروژن می‌شود. این فرایند معمولاً در فشار ۱۰۰ اتمسفر و دمای ۱۲۵ درجه سانتی گراد انجام می‌پذیرد و حاصل این واکنش پس از قرار گرفتن در معرض سولفوریک اسید یک هیدروکسی اسید آروماتیک خواهد بود. مهمترین کاربرد این واکنش تبدیل فنول به سالیسیلیک اسید است. (Review)موریسون، رابرت تورنتون، رابرت نیلسون بوید. شیمی آلی ۲. تهران:نشر علوم دانشگاهی
Trivial File Transfer Protocol) TFTP) یک پروتکل انتقال فایل است که به دلیل سادگی در به‌کارگیری، پرکاربرد شده‌است. این پروتکل به کاربران دسترسی برای قرار دادن یا دریافت فایل از ریموت هاست را می‌دهد . از عمده‌ترین کاربرد آن می‌توان به انتقال خودکار فایل‌های مربوط به تنظیمات یک دستگاه یا فایل‌های مورد نیاز یک دستگاه برای بوت شدن در یک شبکه محلی اشاره کرد. این پروتکل اولین بار در سال 1998 استانداردسازی شد که مشخصات فعلی این پروتکل را می‌توان در RFC 1350 یافت.
TFTP دارای طراحی ساده ایست که به‌کارگیری آن را آسان کرده‌است. این پروتکل برای انتقال اطلاعات در مراحل اولیه ی بوت کردن از طریق شبکه مانند BOOTP , PXE , PSDP و... استفاده می‌شود. در واقع TFTP یکی از عناصر PXE یا پروتکل بوت شدن دستگاه‌ها از محیط شبکه است که در واقع درون بایوس کارت شبکه رایانه‌های میزبان، الگوریتمی برای استفاده از آن پیش‌بینی و نهادینه شده‌است.
از TFTP برای انتقال دیسک ایمیج‌های سیستم عامل‌ها و پرونده‌های پیکربندی به روتر ، آی پی‌های تلفن و فایروال‌ها نیز استفاده می‌شود.
طراحی این پروتکل از پروتکل EFTP که بخشی از مجموعه پروتکل‌های PUP است تأثیر گرفته‌است . امروزه به دلیل امنیت پایین این پروتکل از آن در انتقالات فایل در اینترنت استفاده نمیشود و تقریباً تنها استفاده ی آن در شبکه ی محلی (LAN) می‌باشد.
TFTP اولین بار در سال 1980 توسط IEN 133 تعریف شد. پس از آن در سال بعد در ماه June تجدید نظر دوم این پروتکل به عنوان RFC 783 منتشر شد. بعد از آن آپدیت‌های مختلفی برای این پروتکل ارائه شد که آپدیت‌های کلی آن به ترتیب عبارتند از :
پروتکل TFTP که یکی از ساده‌ترین پروتکل انتقال است با استفاده از پروتکل UDP از پورت شماره ی 69 استفاده میکند. کار با این پروتکل بسیار آسان است و از بسیاری از تنظیمات و امکانات پیشرفته‌ای که بسیاری از پروتکل‌های انتقال داده پیشنهاد می‌کنند مستثنا است. این پروتکل تنها برای خواندن و نوشتن اطلاعات به ریموت سرور یا از ریموت سرور طراحی شده‌است و نمی‌تواند اطلاعات را تغییر نام دهد ، حذف یا لیست کند.
در مقایسه با پروتکل انتقال داده TFTP، FTP بسیار ساده‌تر عمل می‌کند. به عنوان مثال در TFTP خبری از احراز هویت استفاده‌کننده نیست و هر کسی که دسترسی شبکه به آن داشته باشد می‌تواند از آن استفاده کند در حالی که برای استفاده از FTP احراز هویت اهمیت بالایی دارد. البته این موضوع امنیت TFTP را کاهش می‌دهد.
TFTP در مقایسه با FTP از سرعت بالاتری نیز برخوردار است. دلیل این موضوع این است که FTP در هنگام انتقال اطلاعات نیاز به تصدیق کردن بسته ی فرستاده شده(Packet) دارد ولی TFTP منتظر تصدیق بسته ی فرستاده شده نمیماند و فایل بعدی را ارسال میکند. در نتیجه سرعت آن بسیار بالاتر از اف تی پی است و می‌تواند فایل‌های با حجم بالایی را انتقال دهد.
سایت‌های زیر نمونه‌هایی از TFTP سرورهستند:
مرتب‌سازی ادغامی دسته‌ای فرد–زوج
مرتب‌سازی ادغامی دسته‌ای فرد–زوج یک ساز و کار عمومی برای مرتب‌سازی شبکه‌هاست. این روش توسط کِن بچر ابداع شده است.
اگر تعداد عناصری که می خواهیم مرتب کنیم n باشد اندازه (تعداد مقایسه کننده‌های استفاده شده) این الگوریتم nlog۲n و عمق (حداکثر تعداد مقایسه کننده‌هایی که در مسیر یک ورودی به خروجی قرار دارند) آن log۲n است.
هرچند که مقایسه خوبی نیست اما دانلد_کنوت در سال ۱۹۹۸ به این نتیجه رسید که روش دسته‌ای نسبت به روش شبکه AKS بهتر است مگر اینکه n بیش از کل ظرفیت حافظه رایانه‌های روی زمین باشد.
این الگوریتم به عنوان یکی از ساده‌ترین راه‌ها برای انجام مرتب‌سازی‌های منطقی بهینه بر روی انواع سخت‌افزارهای پردازش گرافیکی انجام پذیر است.
یک نمونه پیاده‌سازی از این الگوریتم به زبان پایتون در زیر آمده است. ورودی آن یک لیست x به طول توانی از ۲ است.
def compare_and_swap(x، a، b):
def oddeven_merge(x، lo، hi، r):
def oddeven_merge_sort_range(x، lo، hi):
def oddeven_merge_sort(x):
»> data = [۴، ۳، ۵، ۶، ۱، ۷، ۸]
»> oddeven_merge_sort(data)
»> data
[۱، ۲، ۳، ۴، ۵، ۶، ۷، ۸]
قضیه پنج رنگ نتیجه‌ای است از نظریه گراف که صفحه‌ای به چند منطقه تقسیم شده داده می‌شود. مناطق به گونه‌ای به پنج رنگ مختلف رنگ آمیزی می‌شوند که هیچ دو منطقه مجاوری رنگ یکسان نداشته باشند.
قضیه پنج رنگ از قضیه چهار رنگ می‌رسد اما به طور قابل توجهی اثباتش از آن ساده‌تر است. اثبات این قضیه بر مبنای تلاش شکست خورده‌ای برای اثبات قضیه چهار رنگ توسط آلفرد کمپ در سال ۱۸۷۹ می‌باشد. یازده سال بعد پرسی جان هیوود یک خطا از آن پیدا کرد و بر مبنای کار کمپ قضیه پنج رنگ را اثبات نمود.
در ابتدا یک گراف مسطح G را به نقشه داده شده نسبت می‌دهیم به این صورت که هر منطقه را متناظر با یک رأس در نظر می‌گیریم و بین دو رأس یال وجود دارد اگر و تنها اگر بین دو منطقه متناظر مرز مشترکی باشد؛ بنابراین حالا مسئله به مسئله رنگ آمیزی گراف تبدیل شده است: رنگ کردن رئوس گراف به طوری که هیچ یالی دو سر همرنگ نداشته باشد.
اثبات بر مشخصه اویلر استوار است تا نشان دهد حتماً باید یک رأس V وجود داشته باشد که بین حداکثر پنج یال مشترک است و با توجه به این که G مسطح است مثلاً می‌تواند در یک صفحه بدون یال‌های متقاطع تعبیه شود.
حال V را از G حذف می‌کنیم. گراف از این کار حاصل می‌شود که یک رأس کمتر از G دارد. پس ما می‌توانیم با استقرا فرض کنیم که این را می‌توان با پنج رنگ، رنگ آمیزی کرد. V حتماً باید به پنج رأس دیگر متصل شود؛ چون در غیر این صورت می‌تواند در گراف G با رنگی که در آن‌ها استفاده نشده است، رنگ آمیزی شود. پس حالا به پنج رأس formula_1، formula_2، formula_3، formula_4، formula_5 نگاه می‌کنیم که در ترتیب دایره‌ای مجاور V هستند (که بستگی به این دارد که چگونه G را نوشته‌ایم). اگر ما همه پنج رنگ را استفاده نکرده باشیم، مسلماً می‌توانیم رأس V را به رنگی متفاوت از آن‌ها رنگ آمیزی کنیم و گرافی پنج رنگ را تحویل دهیم.
پس ما می‌توانیم فرض کنیم که رئوس به ترتیب رنگ‌های ۱ تا ۵ را گرفته‌اند.
حال زیر گراف formula_6 از formula_7 را در نظر می‌گیریم که تنها از رئوسی تشکیل شده که رنگ‌های ۱ و ۳ را دارند و یال‌هایی که دو تا از این رئوس را به هم متصل می‌کند. اگر formula_1 و formula_3 در مؤلفه‌های همبندی متفاوتی از formula_6 باشند، می‌توانیم رنگ آمیزی مؤلفه همبندی شامل formula_1 را معکوس کنیم که بنابراین رأس V رنگ ۱ را می‌گیرد و کار تمام است.
اما اگر formula_1 و formula_3 در مؤلفه‌های همبندی یکسانی از formula_6 بودند، می‌توانیم مسیری در formula_6 که آن دو را به هم متصل می‌نماید پیدا نماییم که ترتیبی از یال‌ها و رئوس فقط رنگ شده با ۱ و ۳ باشد.
حال زیر گراف formula_16 از formula_7 را که در بر گیرنده رئوس رنگ شده با ۲ و ۴ و یال‌های متصل کننده این رئوس به هم است را در نظر می‌گیریم و روندی مشابه قبلی برای آن اجرا می‌کنیم. پس یا می‌توانیم رنگ آمیزی زیر گراف formula_16 را برعکس نموده و رأس V را به رنگ ۲ بزنیم یا از مسیری متشکل از رئوس تنها رنگ شده با ۲ و ۴، formula_2 و formula_4 را به هم متصل نماییم. احتمال بعدی به روشنی نامعقول است که مسیری با مسیر ساخته شده در formula_6 تقاطع داشته باشد؛ بنابراین مخالف با استنباط اولیه G در واقع می‌تواند با پنج رنگ، رنگ آمیزی شود.
در سال ۱۹۹۶، رابرتسون، ساندرز، سیمور و توماس یک الگوریتم چهار رنگ کردن از درجه دوم در «گراف مسطح کارآمد چهار رنگ کردن» خود تعریف کردند. در همان‌جا، آن‌ها مختصراً یک الگوریتم پنج رنگ کردن در زمان خطی تعریف کردند که به طور مجانبی بهینه بود. الگوریتمی که در این جا توصیف شده بر روی چند گراف عمل می‌کند و بر قابلیت داشتن چندین نسخه از یال‌ها بین یک جفت رأس تکیه دارد. این قضیه بر اساس قضیه ورنیک می‌باشد که در پایین آمده است:
قضیه ورنیک: فرض می‌کنیم G یک گراف مسطح غیر خالی است که هیچ منطقه‌ای ندارد که با دو یال محدود شده باشد و حداقل درجه پنج دارد. پس G حتماً یک رأس از درجه پنج دارد که مجاور رأسی با درجه حداکثر شش است.
ما نمایشی از این گراف را به کار می‌بریم که در آن هر رأس یک لیست پیوندی دایره‌ای از رئوس مجاور را در جهت ساعتگرد گراف مسطح نگه می‌دارد.
در مفهوم، الگوریتم بازگشتی است؛ در هر مرحله گراف را به یک گراف با یک رأس کمتر کاهش می‌دهد؛ آن را پنج رنگ می‌کند و سپس از آن رنگ کردن استفاده می‌کند تا معین کند رنگ کردن گراف بزرگتر در زمان ثابتی انجام می‌شود. در عمل بیش از این که برای هر گراف کوچک شده، نمایش یک گراف صریح را نگه داریم، ما رئوس را از گراف حذف می‌کنیم و آن‌ها را به یک پشته اضافه می‌کنیم. سپس در آخر هنگامی که آن‌ها را از پشته خارج می‌کنیم، رنگشان می‌کنیم. ما سه تا پشته را نگه خواهیم داشت:
الگوریتم به نحوه زیر کار می‌کند:
تحلیل سر‌شکن:
در این نوع آنالیز، n عمل انجام می‌شود و هزینه زمانی آن روی n عمل سرشکن می‌شود. در واقع ممکن است عملیات انجام شده هزینه‌های مختلفی داشته باشند و برخی هزینه زیادی داشته باشند ولی هزینه متوسط هر عمل کوچک باشد. لازم به ذکر است که آنالیز استهلاکی با آنالیز در حالت میانگین متفاوت است و روش‌های آماری را شامل نمی‌شود. در واقع آنالیز استهلاکی زمان اجرای متوسط هر عمل در بدترین حالت را نشان می دهد.
برای این نوع آنالیز 3 روش مطرح است:
آنالیز تجمعی
در این روش هزینه n عمل را به دست می آوریم سپس به n تقسیم می کنیم . مثلاً n عمل formula_1 روی پشته s که در ابتدا خالی است انجام داده ایم formula_2 (عنصر از پشته pop می کند، البته اگر کمتر از k عنصر در پشته باشند، همه عناصر pop می شوند) درست است که هزینه formula_2 ممکن است formula_4 باشد ولی n عمل از عملیات فوق روی هم هزینه formula_5 باشد ولی N عمل از عملیات فوق روی هم هزینه formula_5 دارند پس هزینه هر عمل به صورت سرشکن شده برابر formula_7 است.
روش حسابرسی
در این روش به عملیات مختلف، شارژهای مختلفی نسبت می دهیم که ممکن است شارژی که نسبت می دهیم، از هزینه واقعی عمل کمتر یا بیشتر باشد . مقداری که یک عمل شارژ می‌شود را «هزینه استهلاک » آن عمل گویند.
اگر « هزینه استهلاک » یک عمل از «هزینه واقعی » آن عمل بیشتر باشد، تفاوت این دو به عنوان «اعتبار» به عناصر خاصی از ساختمان داده تخصیص می یابد. این اعتبار را می توان بعداً برای عملیاتی که هزینه استهلاکشان کمتر از هزینه واقعی شان است، صرف کرد.
به عنوان مثال عملیات پشته را در نظر بگیرید . می دانیم هزینه واقعی عملیات عبارت است از :
که s تعداد عناصر موجود در پشته هنگام فراخوانی Multipop است.
ولی ما هزینه استهلاکی زیر را به عملیات نسبت می دهیم :
formula_9 با این مقادیر، می توان هر دنباله از عملیات را پشتیبانی کرد. هر push که انجام می شود، هزینه واقعی اش 1 است، پس از شارژ 2 مقداری آن ، 1 مقدار برای هزینه اش صرف می‌شود و 1 مقدار در عنصر push شده به عنوان اعتبار ذخیره می شود، پس تمام عناصری که در پشته هستند، اعتبار 1 مقداری دارند. حال اگر pop انجام شود، چون هزینه واقعی pop ، 1 است، این 1 را از اعتبار عنصری که pop می شود، دریافت می کند . پس از آنجایی که هزینه استهلاکی push ، pop و Multipop ثابت formula_10 است پس هزینه Nعمل ، formula_5 است.
روش پتانسیل
روش قبلی، اعتبار را به عنصر تخصیص می داد ولی این روش، اعتبار را به صورت پتانسیل به کل ساختمان داده تخصیص می دهد.
فرض کنیدformula_12 وضعیت اولیه ساختمان داده ای است که می خواهیم formula_13 عمل روی آن انجام دهیم. formula_14 هزینه واقعی عمل i ام ، formula_15 وضعیت ساختمان داده است پس از انجام عمل i ام روی formula_16 تابع پتانسیلی تعریف می کنیم به اسمformula_17 که به هر وضعیت ساختمان داده، یک عدد حقیقی نسبت می دهد: یک عدد حقیقی=formula_18
بنابراین هزینه استهلاکی formula_19 عمل i ام برابر است با :
پس کل هزینه استهلاکی برابر است با :
مثلاً فرض کنید در عملیات پشته formula_1، تابع پتانسیل formula_17 را برابر عناصر موجود در پشته فرض کنیم . در حالت پشته خالی formula_12، که حالت شروع استformula_25. از آنجایی که تعداد عناصر موجود در پشته عددی نامنفی است پس همیشه formula_26 . پس هزینه کل مستهلک شده برای formula_13 عمل با توجه به تابع formula_17، یک کران بالا برای هزینه واقعی است. حال هزینه مستهلک شده را برای formula_1 به دست می آوریم .
اگر عمل formula_30ام روی پشته formula_31 باشد و در حال حاضر تعداد formula_32 عنصر در پشته باشد آنگاه:
بنابراین هزینه مستهلک شده formula_31 برابر است با :
به همین ترتیب نشان دهید که هزینه مستهلک شده formula_36 برابر صفر است. پس هزینه مستهلک شده هر عمل formula_7 است. بنابراین از آنجایی که هزینه مستهلک شده کران بالای هزینه واقعی است پس هزینه واقعی formula_13 عمل برابر formula_5 است.
کتاب طراحی الگوریتم- هادی یوسفی
درنظریه گراف، به مجموعه‌ای از یال‌های گراف که با هم گره‌ای هموند ندارند، تطابق یا مجموعه‌ی ناوابسته‌ی یال‌ها گفته می‌شود. تطابق دوبخشی حالتی ویژه از پرسمان شبکه شاره است.
در گراف داده‌شدهٔ G با مجموعهٔ یال‌ها و گره‌ها مشخص که می‌توان آن را به صورت (G(V,E نشان داد، به مجموعه‌ای از یال‌های ناهمسایه که هیج یک از دو یال آن گره هموند نداشته باشند، یک تطابق در G می‌گویند و آن را با M نشان می‌دهند.
در صورتی که گرهی در یکی از دو انتهای یکی از یال‌ها در تطابق گراف G واقع شده باشد، به آن گره منطبق شده (یا اشباع) می‌گویند. در غیر این صورت، آن گره منطبق نشده است.
تطابق ماکسیمال یکی از تطابق‌های بدست آمده برای گراف G است، با این ویژگی که اگر به آن، هر یک از یال‌هایی که در گراف G وجود دارد اما در تطابق M نیامده است را اضافه کنیم، گراف به وجود آمده خاصیت تطابق بودن خود را از دست می‌دهد؛ بنابراین چنانچه تطابق M یک زیرمجموعهٔ محض از تطابق دیگری برای گراف G نباشد، آنگاه M یک گراف تطابق ماکسیمال است. به عبارت دیگر در صورتی M می‌تواند یک تطابق ماکسیمال برای گراف G باشد که هر یال از گراف G، حداقل با یکی از یال‌های M، تقاطع ناتهی داشته باشد (منظور از تقاطع، تنها در دو سر یک یال است)
تصاویر زیر، تطابق ماکسیمال را برای ۳ گراف نشان می‌دهد (گراف تطابق بیشینه با رنگ قرمز نشان داده شده‌است).
تطابق بیشینه تطابقی است که دربردارنده‌ی بیشترین تعداد ممکن از یال‌هاست؛ بنابراین ممکن است تعداد تطابقهای بیشینه برای یک گراف، بیشتر از یکی باشد. عدد تطابق گراف G، اندازهٔ تطابق بیشینه آن گراف است که با (ν(G نشان داده می‌شود.
با توجه به تعاریف بالا برای تطابق بیشینه و ماکسیمال، می‌توان نتیجه گرفت که هر تطابق بیشینه، یک تطابق ماکسیمال نیز هست، اما همهٔ تطابق‌های ماکسیمال لزوماً تطابق بیشینه نیستند.
تصاویر زیر تطابق بیشینه را برای سه گراف نشان می‌دهد:
تطابق کامل تطابقی است که همهٔ گره‌های یک گراف را تطبیق می‌دهد. یعنی هر یک از گره‌ها گراف، دقیقاً با یکی از یال‌های تطابق برخورد می‌کند. در شکل‌های بالا، شکل (ب) یک تطابق کامل را نشان می‌دهد. هر تطابق کاملی، یک تطابق بیشینه و در نتیجه تطابق ماکسیمال است.
همچنین تطابق کامل، همان کوچکترین مجموعهٔ پوشش یال است. پس (ν(G) ≤ ρ(G که در آن، (ν(G سایز تطابق بیشینه است که هیچ‌گاه بیشتر از کمترین سایز برای گراف پوشش یال‌ها نیز نمی‌شود.
تطابق نزدیک به کامل به تطابقی گفته می‌شود که در آن دقیقاً یک گره، مطابقت داده نشده‌است و این تنها زمانی اتفاق می‌افتد که تعداد گره‌ها گراف فرد باشد و تطابقی که به دنبال آن هستیم، تطابق بیشینه باشد. در شکل‌های بالا، شکل (ج) یک تطابق نزدیک به کامل را نشان می‌دهد. اگر برای همهٔ گره‌ها یک گراف، یک تطابق نزدیک به کامل وجود داشته باشد که تنها همان گره را در نظر نمی‌گیرد، به آن گراف factor-critical هم گفته می‌شود.
در یک گراف تطابقی M:
می‌توان ثابت کرد که یک تطابق بیشینه است اگر و تنها اگر در آن مسیر افزایشی وجود نداشته باشد (این نتیجه‌گیری به قضیه برژ) هم مشهور است).
در هر گرافی که در آن گره ناهمبند وجود نداشته باشد، مجموع عدد تطابق و عدد پوشای یال، برابر تعداد گره‌ها است. چنانچه یک تطابق کامل وجود داشته باشد، عدد تطابق و عدد پوشش یال، برابر یکیدیگر و هر دو برابر V|/2| است.
اگر A و B هر دو تطابق ماکسیمال باشد همواره داریم: |A| ≤ 2|B| و |B| ≤ 2|A.
برای اثبات، توجه کنید که چون B تطابق است، هر یال در A می‌تواند حداکثر با دو یال در B همسایه باشد. همچنین با توجه به بیشینه بودن تطابق، هر یال در B همسایه یک یال در A است.(این استدلال را می‌توان برای گراف Aهم به کار برد و به نتایج مشابه رسید). بنابراین خواهیم داشت:
به‌طور خاص، نامساوی بالا نشان می‌دهد که هر تطابق ماکسیمال، ۲ برابر تقریبی از تطابق بیشینه و همچنین ۲ برابر تقریبی از کوچکترین تطابق ماکسیمال است. به عنوان مثال، اگر G یک مسیر با ۳ یال و۴ گره باشد، اندازهٔ کوچکترین گراف تطابق ماکسیمال ۱ است و سایز تظابق بیشینه ۲ است.
تابع مولد تعداد تطابق‌های k یالی در یک گراف، چندجمله‌ای تطابق نامیده می‌شود.
فرض کنید G گرافی است که برای آن می‌خواهیم تعداد تطابق‌ها را پیدا کنیم و "m"، تعداد تطابق‌های k-یالی برای آن باشد. یکی از چندجمله‌ای‌های تطابق برای G، تابع مولد زیر است.
تعریف دیگری، چندجمله‌ای تطابق دیگری را به صورت زیر می‌دهد:
که در آن، n تعداد گره‌ها گراف است. هر یک از انواع چندجمله‌ای بالا، کاربردهای مخصوص به خود را دارد. برای کسب اطلاعات بیشتر در این مورد، می‌توانید مقالات مربوط به چندجمله‌ای‌های تطابق را مطالعه کنید.
اغلب اوقات مسئلهٔ تطابق برای گراف دوبخشی مطرح می‌شود. شاید پیدا کردن یک تطابق دو بخشی بیشینه (که اغلب به آن تطابق دو بخشی با سایز بیشینه گفته می‌شود) در یک گراف دو بخشی(G = (V = (X,Y),E، ساده‌ترین مسئله در قسمت تطابق باشد. الگوریتم مسیر افزایشی، در صورتی که بین هر گره مانند x ∈ X به هر گره مانند y مسیر اقزایشی وجود داشته باشد، آن را پیدا می‌کند و به تطابق اضافه می‌کند. از آنجا که هر یک از این مسیرهای افزایش می‌تواند در زمان (O(E پیدا شود، زمان اجرا برای کل این الگوریتم از مرتبهٔ (O(VE می‌شود. این راه حل معادل این است که یک منبع مانند s که به همهٔ گره‌ها در X یال دارد و همچنین یک گودال مانند t که از همهٔ گره‌ها در Y به آن یال وجود دارد، به گراف اضافه کنیم و سپس شار بیشینه را از s به t حساب کنیم. با این کار، همهٔ یال‌هایی که از X به Y جریان دارند، تطابق بیشینه را تشکیل می‌دهند.
این الگوریتم، در الگوریتم هاپ کرافت-کارپ )، بهبود داده شده‌است و می‌تواند در زمان
اجرا شود.
راه حل دیگر برای پیدا کردن تطابق بیشینه در گراف دو بخشی، بر پایهٔ الگوریتم ضرب سریع ماتریس هاست و دارای پیچیدگی زمانی formula_6 است که از نطر تئوری برای گراف‌هایی که تا حد امکان فشرده هستند، کارآمد تر است. اما در عمل این الگوریتم کندتر است.
در گراف دوبخشی وزن‌دار، هر یال دارای یک وزنی است که به آن نسبت داده شده‌است. تطابق بیشینهٔ وزن‌دار برای گراف‌های دو بخشی، تطابق کاملی است که در آن مجموع مقادیر (وزن‌ها) روی یال‌های تطابق، بیشترین مقدار را داشته باشد. اگر گراف دو بخشی کامل نباشد، یال‌هایی که برای دوبخشی کامل شدن لازم است را با وزن ۰ به گراف اضافه می‌کنیم. پیدا کردن این تطابق به پرسمان انتساب مشهور است. این مسئله را می‌توان با استفاده از روش اصلاح شدهٔ یافتن کوتاه‌ترین مسیر در الگوریتم مسیر افزایشی، حل کرد. اگر از الگوریتم بلمن فورد استفاده کنیم، زمان اجرا، formula_7 می‌شود. اما چنانچه از الگوریتم دیکسترا و هیپ فیبوناتچی استفاده کنیم، زمان اجرا به formula_8 کاهش می‌یابد.
یک الگوریتم قابل توجه بلغاری، برای حل پرسمان انتساب ارائه شده‌است که از نخستین الگوریتم‌های بهینه‌سازی ترکیبی بود. راه حل اصلی این الگوریتم، نیاز به زمان اجرای formula_9 دارد اما با استفاده از صف اولویت، می‌توان زمان اجرای آن را به formula_8 بهبود بخشید.
یک راه حل چندجمله‌ای برای پیدا کردن تطابق بیشینه یا تطابق با وزن بیشینه در یک گراف غیر دوبخشی وجود دارد. این روش با توجه به jack Edmonds که بنیانگذار آن بود، روش راهها، درخت‌ها و گل‌ها یا به‌طور مختصر الگوریتم Edmonds نامگذاری شد. این الگوریتم از یال‌های دو سویه استفاده می‌کند. این الگوریتم متعاقباً بهبود بخشیده شد تا در زمان اجرا شود که از مرتبهٔ زمان لازم برای پیدا کردن تطابق بیشینه در گراف‌های دو بخشی است. همچنین الگوریتم دیگری برای پیدا کردن تطابق ماکسیمال وجود دارد که بر پایهٔ ضرب سریع ماتریس‌هاست و به الگوریتم Mucha و Sankowski مشهور است. اجرای این الگوریتم از مرتبهٔ formula_6 زمان می‌برد.
تطابق ماکسیمال را می‌توان به سادگی و با استفاده از یک الگوریتم حریصانه بدست آورد. یک تطابق بیشینه، تطابقی ماکسیمال نیز هست؛ بنابراین می‌توان بزرگ‌ترین تطابق ماکسیمال را نیز در زمان چندجمله‌ای پیدا کرد.
با این وجود هنوز هیچ الگوریتم چندجمله‌ای برای پیدا کردن کوچکترین گراف تطابق ماکسیمال که بزرگ‌ترین تطابق بیشینه با کمترین تعداد یال ممکن است، وجود ندارد.
توجه کنید که تطابق ماکسیمال با kیال، یک مجموعهٔ غالب یال‌ها) با k یال است. در مقابل، اگر کوچک‌ترین مجموعهٔ غالب یال‌ها با k یال را در اختیار داشته باشیم، می‌توان در زمان چندجمله‌ای تطابق ماکسیمال با k یال را ساخت؛ بنابراین پرسمان یافتن کوچکترین گراف تطابق ماکسیمال، معادل پرسمان یافتن کوچکترین مجموعهٔ غالب یال‌هاست. هر دوی این مسائل بهینه‌سازی ان‌پی-سخت است. نسخه‌های تصمیم گیری از این مسائل، از جمله مثال‌های کلاسیک مسائل ان پی (کامل) هستند. هر دوی این مسائل را می‌توان تا جملهٔ دوم در زمان چندجمله‌ای تقریب زد: پیدا کردن تطابق بیشینه دلخواه به سادگی.
پرسمان پیدا کردن تعداد تطابق‌های کامل برای بک گراف مسئله‌ای #پی-کامل است. هر چند که نظریهٔ قابل توجه Kasteleyn نشان می‌دهد که تعداد تطابق‌های بیشینه در یک گراف مسطح را می‌توان با استفاده از الگوریتم FKT دقیقاً در زمان چندجمله‌ای محاسبه کرد. همچنین یک تقریب تصادفی اما چندجمله‌ای برای شمارش تعداد تطابق‌های دوبخشی وجود دارد.
نطریهٔ کونیگ نشان می‌دهد که در گراف‌های دو بخشی، تطابق بیشینه از نطر اندازه برابر با کوچکترین پوشش گره است. با توجه به نتایج این نطریه، مسئلههٔ بزرگ‌ترین مجموعهٔ ناوابسته و بزرگترین پوشش گره‌ها ممکن است در زمان چندجمله‌ای برای گراف‌های دو بخشی حل شود.
قضیه هال، توصیفی از گراف‌های دو بخشی که تطابق کامل دارد را فراهم می‌کند و همچنین قضیهٔ tutte این خصوصیات را برای گراف دلخواه بیان می‌کند.
الگوریتم مقیاس دهی گبو برای کوتاهترین مسیرها از یک مبدأ واحد
الگوریتم مقیاس دهی ابتدا با در نظر گرفتن فقط بالاترین بیت یک مقدار ورودی مناسب (مانند وزن یال‌ها)، مسئله را حل می‌کند. سپس جواب اولیه را با نگاه کردن به دو بیت اول پالایش می‌کند. به همین ترتیب بیت‌های بیشتر و بیشتری را در نظر می‌گیرد و در هر بار جواب را پالایش می‌کند تا این که همه بیت‌ها در نظر گرفته شوند و جواب صحیح محاسبه شود.
دراین مسئله، الگوریتم محاسبه کوتاهترین مسیرها از یک مبدأ واحد را به وسیله مقیاس دهی وزن یال‌ها بررسی می‌کنیم. گراف جهت دار formula_1 با وزن‌های صحیح غیر منفی formula_2 داده شده‌است. فرض کنید formula_3 هدف، ایجاد الگوریتمی است که در زمان formula_4 اجرا می‌شود. فرض می‌کنیم که همه راس‌ها از مبدأ قابل دستیابی‌اند. الگوریتم در نمایش دودویی وزن‌های یال‌ها، هربار یک بیت را به ترتیب با ارزش‌ترین بیت، وارد حل مسئله می‌کند. به ویژه فرض کنید formula_5، تعداد بیت‌ها در نمایش دودویی formula_6 باشد و برای formula_7 formula_8. به عبارت دیگر، formula_9 شکل "کوچک شده " formula_10است که به وسیله با ارزش‌ترین formula_11 بیت، formula_10 تولید می‌شود. (بنابراین برای همهformula_13 داریم، formula_14.
بعنوان مثال اگر formula_15 وformula_16باشد آنگاه formula_17 است.
formula_18 را به عنوان وزن کوتاهترین مسیر از راس formula_19 به راس formula_20 با استفاده از تابع وزن formula_21 تعریف می‌کنیم؛ بنابراین برای همه formula_22 داریم formula_23. برای مبدأ formula_24الگوریتم مقیاس دهی ابتدا وزنهای کوتاهترین مسیر formula_25 را برای همه formula_26. محاسبه می‌کند، سپس برای همه formula_26 وformula_28. را محاسبه می‌کند و به همین ترتیب ادامه می‌دهد تا این که برای همه δ_k (u_,v)v∈V محاسبه شود. فرض می‌کنیم formula_29 است و خواهیم دید که محاسبه formula_30 به اندازه formula_31، و لذا کل الگوریتم به اندازه formula_32 زمان می‌برد.
اکنون به محاسبه formula_30 از formula_41 می‌پردازیم.
سپس ثابت کنید که برای همه formula_26 داریم formula_46
ثابت کنید برای formula_47 و همهformula_22, formula_52 یال formula_53 یعنی مقدار وزن جدید آن یال، یک عدد صحیح غیر منفی است.
در ریاضیات و علوم رایانه و علم اقتصاد یک مسئله بهینه‌سازی، مسئله یافتن بهترین راه حل از میان همه راه حل‌های عملی می‌باشد. مسئله‌های بهینه‌سازی می‌تواند به دو دسته تقسیم شود که متغیرها پیوسته یا گسسته باشند. یک مسئله بهینه‌سازی با متغیرهای گسسته به عنوان یک مسئله بهینه‌سازی ترکیبی یا ترکیبیاتی شناخته می‌شوند. در یک مسئله بهینه‌سازی ترکیبی، ما به دنبال مجموعه‌ای از اشیاء از قبیل عدد صحیح، جایگشت یا گرافی می‌گردیم که تعداد اعضایش محدود (و یا به‌طور قابل شمارش نامحدود) باشند.
شکل استاندارد مسئله بهینه‌سازی (پیوسته) به صورت زیر است:
به طوری که:
طبق قرارداد، شکل استاندارد، یک مسئله به حداقل رساندن را توصیف می‌کند. یک مسئله به حداکثر رساندن می‌تواند با منفی کردن تابع هدف به دست آید.
به‌طور رسمی یک بهینه‌سازی ترکیبی A یک چهارتایی formula_6 است به طوری که:
هدف این است که برای یک نمونه formula_3، یک راه حل بهینه پیدا کنیم که یک راه حل ممکن formula_11 است با این شرط که
برای هر مسئله بهینه‌سازی ترکیبی، یک مسئله تصمیم متناظر وجود دارد که می‌پرسد ببیند آیا یک راه حل ممکن برای مقدار خاص formula_18 وجود دارد یا نه. به عنوان مثال یک گراف formula_19 وجود دارد که شامل رئوس formula_20 و formula_21 یک مسئله بهینه‌سازی ممکن است «یافتن یک مسیر از formula_19 به formula_19 که از کمترین یال‌ها بگذرد» باشد. این مسئله ممکن است یک جواب مثلاً ۴ داشته باشد. یک مسئله تصمیم متناظر این خواهد بود که «آیا یک مسیر از formula_19 به formula_19 با استفاده از ۱۰ یال یا کمتر وجود دارد؟» این مسئله با یک «بله» یا «خیر» ساده جواب داده می‌شود.
در زمینه الگوریتم‌های تخمین، الگوریتم‌ها برای مسائل سخت برای یافتن راه حل‌های نزدیک بهینه طراحی می‌شوند؛ بنابراین یک نسخه معمول تصمیم، یک توصیف ناکافی از مسئله است زیرا فقط راه حل‌های قابل قبول را مشخص می‌کند. اگرچه می‌توانیم مسائل تصمیم مناسبی مطرح کنیم، این مسائل دیگر بیشتر به‌طور طبیعی، یک مسئله بهینه‌سازی می‌شوند.
یک مسئله بهینه‌سازی NP یا به‌طور مخفف NPO یک مسئله بهینه‌سازی ترکیبی است با شرایط اضافی زیر. توجه داشته باشید که چندجمله‌ای‌های اشاره شده در زیر، توابعی با سایز متناسب با ورودی‌های تابع هستند، نه مجموعه‌ای مطلق از نمونه ورودی‌ها.
این دلالت بر این دارد که مسئله تصمیم متناظر، یک NP است. در علوم کامپیوتر، معمولاً مسائل بهینه‌سازی جالب توجه، ویژگی‌های بالا را دارند و بنابراین مسائل NPO هستند. یک مسئله به علاوه یک مسئله بهینه‌سازی نوع P یا PO خوانده می‌شود اگر الگوریتمی وجود داشته باشد که در زمان چندجمله‌ای راه حل بهینه را پیدا کند. معمولاً هنگام کار کردن با دسته NPO، مسائل بهینه‌سازی جالبی وجود دارد که نسخه‌های تصمیم، NP-سخت هستند. توجه داشته باشید که روابط سختی، همواره در تناسب با ساده‌سازی هستند. به علت ارتباط بین الگوریتم‌های تخمین و مسائل محاسباتی بهینه‌سازی، مسائل بهینه‌سازی با نسخه‌های تصمیم NP-تکمیل لزوماً NPO-تکمیل نامیده نمی‌شوند.
NPOPB یک دسته دیگر است؛ NPO با تابع هزینه محدود به چندجمله‌ای. مسائلی با این شرایط، ویژگی‌های مطلوب زیادی دارند.
دانشگاه اوترخت ، (در قدیم: Rijksuniversiteit Utrecht) واقع در اوترخت هلند، یکی از قدیمی‌ترین دانشگاه‌های هلند و یکی از بزرگترین دانشگاه‌های اروپا است. این دانشگاه که در ۲۶ مارچ ۱۶۳۶ بنا نهاده شده‌است در سال ۲۰۱۲ ۳۰٬۴۴۹ دانشجو و ۵٬۲۹۵ کارمند و عضو هیئت علمی داشت. در سال ۲۰۱۳ بودجه این دانشگاه ۷۶۵ میلیون یورو بود.http://www.uu.nl/university/utrecht/EN/factsandfigures/Pages/default.aspx
در رتبه‌بندی ۲۰۱۳ شانگهای دانشگاه‌های جهان این دانشگاه حائز رتبه اول در هلند و رتبه ۱۳ام در اروپا شد.
http://en.wikipedia.org/w/index.php?title=Utrecht_University&oldid=464633162
مرتب‌سازی Flash الگوریتم مرتب‌سازی ای بر اساس توزیع احتمال است که برای داده‌های با توزیع یکنواخت، با حافظه نسبتا بیشتر، دارای پیچیدگی زمان اجرای formula_1 است. این الگوریتم اولین بار در سال ۱۹۹۸ توسط Karl-Dietrich Neubert منتشر شد.
ایده اصلی مرتب‌سازی Flash این است که برای مجموعه داده‌ای که دارای توزیع احتمال یکنواخت است، با داشتن حد بالا و پایین مجموعه، می‌توان مکان هر عضو را تخمین زد. برای مثال برای مجموعه ای که کمینه آن ۱ و بیشینه آن ۱۰۰ است و ۵۰ هم عضوی از آن مجموعه است منطقی به نظر می‌رسد که پس از مرتب‌سازی، مکان ۵۰ در وسط آرایه مرتب شده باشد. این مکان تخمین زده شده یک کلاس نامیده می‌شود. اگر اعضای مجموعه را از ۱ تا m شماره گذازی کنیم، کلاس A_i به این صورت محاسبه می‌شود:
که A مجموعه ورودی است و حاصل عبارت شماره کلاسی است که عضو i ام به آن تعلق دارد.
حد بالا و پایین پوشش داده شده برای تمام کلاس‌ها، به غیر از کلاس آخر که شامل بیشینه هاست، یکسان است. این کلاس بندی اطمینان می‌دهد که هر داده در یک کلاس از داده‌های کلاس پایین‌تر بزرگتر است. این کلاس بندی در واقع یک ترتیب جزئی است که که تعداد وارونگی‌ها را کاهش می‌دهد. سپس برای هر کلاس مرتب‌سازی درجی انجام می‌شود. تا جایی که توزیع احتمال یکنواخت باشد، اندازه کلاس‌ها ثابت می‌ماند و مرتب‌سازی درجی بهینه خواهد بود.
برای بهینه کردن حافظه، الگوریتم از ساختمان داده‌های اضافه برای ذخیره کلاس‌ها استفاده نمی‌کند، بلکه حدود بالا و پایین هر کلاس را در وکتوری ای به نام L ذخیره می‌کند. حدود بالا از شمارش تعداد اعضای کلاس و کلاس‌های قبلش حاصل می‌شود. از این حدود بالا می‌توان به عنوان اشاره گر به کلاس‌ها استفاده کرد.
کلاس بندی توسط تعدادی دور انجام می‌شود، به این صورت که یک سر دور از آرایه ورودی A گرفته می‌شود و کلاس اش محاسبه می‌شود. یک عضو سردور معتبر است اگر کلاس بندی نشده باشد. وقتی الگوریتم روی عناصر ورودی حرکت می‌کند از عناصر کلاس بندی شده پرش می‌شود و عناصر کلاس بندی نشده برای ساخت دور جدید استفاده می‌شوند.
در حالت ایده آل داده‌ها به گونه‌ای کلاس بندی می‌شوند که اندازه کلاس‌ها تقریباً مساوی باشد، از آنجا که هزینه مرتب‌سازی هر کلاس formula_3 است و با فرض این که formula_4 کلاس داشته باشیم و کلاس‌ها را با مرتب‌سازی درجی در کنار هم قرار دهیم هزینه برابر formula_5 یاformula_6 می‌شود و چون formula_4 ضریبی از formula_8 است پس هزینه نهاییformula_1 می‌شود.
در بدترین حالت کلاس بندی به گونه‌ای انجام می‌شود که تعداد کلاس‌ها زیاد و در هر کلاس تقریباً یک عنصر قرار می‌گیرد، در این حالت هزینه نهایی برابر هزینه مرحله آخر که قرار دادن کلاس‌ها در کنار هم با مرتب‌سازی درجی است، می‌شود. در نتیجه هزینه بدترین حالت formula_10 می‌شود.
انتخاب تعداد کلاس‌ها formula_11 بر هزینه الگوریتم بسیار تأثیرگذار است، طی تحقیقی که Neubert انجام داده است formula_12 مقدار بهینه برای formula_4 خواهد بود.
با توجه به فرایند کلاس بندی، مرتب‌سازی Flash پایدار نیست.
فدراسیون بسکتبال ایران نهاد حاکم در بسکتبال ایران می‌باشد که در سال ۱۳۲۴ تأسیس شده‌است و از سال ۱۹۴۷ عضو فدراسیون بین‌المللی بسکتبال نیز بوده‌است و همچنین عضو فیبا آسیا و از نهادهای مسئول سازماندهی تیم ملی بسکتبال ایران می‌باشد.
فدراسیون بسکتبال، برگزار کننده مسابقات داخلی در زمینه بسکتبال در ایران می‌باشد. مهم‌ترین مسابقات داخلی در ایران، لیگ برتر بسکتبال مردان و لیگ برتر بسکتبال زنان ایران است. همچنین مسابقات باشگاهی، در رده‌های پایین‌تر (دسته یک و دسته دو) از جمله دیگر مسابقات برگزار شده توسط فدراسیون بسکتبال ایران می‌باشد.
تیم ملی بسکتبال مردان ایران، علاوه بر مسابقات قاره‌ای (مسابقات قهرمانی آسیا و بازی‌های آسیایی)، در بازی‌های المپیک و جام جهانی نیز حضور داشته‌است. بهترین عنوان ایران در مسابقات بین‌المللی، قهرمانی در مسابقات قهرمانی بسکتبال آسیا می‌باشد.
در رده زنان، به علت ممنوعیت حجاب در مسابقات بین‌المللی، تیم ملی ایران پس از انقلاب اسلامی ایران، اجازه حضور در هیچ مسابقه بین‌المللی را نداشته‌است. پیش از انقلاب، این تیم یک بار در بازی‌های آسیایی (۱۹۷۴، پنجم) و یک بار در مسابقات قهرمانی آسیا (۱۹۷۴، چهارم) شرکت کرده‌است.
بهترین مقام‌های به دست آمده توسط تیم ملی بسکتبال ایران به شرح زیر است:
پان ترکیسم و ایران، کتابی است که کاوه بیات در سال ۱۳۷۸ درباره پان ترکیسم و بررسی تحولات آن در ایران نگاشته است.
فصل اول: موج و صخره
۱. راه توران
۲. سد ایران
فصل دوم: آتش نهفته
۱. غائلهٔ روشنی بیگ
۲. میان پردهٔ قفقازی
۳. ادامهٔ کشمکش
فصل سوم: مخاطره و مدافعه
۱. سرچشمهٔ کار
۲. ترک اجاقی
۳. خطوط دفاعی
فصل چهارم: پایان بحث
زیست‌کش یک ماده شیمیایی یا میکروارگانیسم است که می‌تواند هر گونه میکروارگانیسم زیان‌آور را با استفاده از روش‌های شیمیایی یا زیستی از میان ببرد، خنثی کند و کنترل کند. زیست‌کش می‌تواند سنتتیک یا طبیعی باشد.
زیست‌کش‌ها معمولاً در پزشکی، کشاورزی، جنگل‌داری و صنعت کاربرد دارند. مواد نگاهدارنده مانند نگهدارنده چوب، پلاستیک و فیبر، رنگ‌ها، پارچه، و نیز مواد گندزدا و ضد رسوب زیست کش هستند. زیست کش می‌تواند آفت کش باشد؛ مانند قارچ کش، علف کش، حشره کش، جلبک کش، راب کش، موش کش و جونده کش، دافع حشرات یا ضد میکروب باشد؛ مانند مواد شوینده و پاک‌کننده بدن و مو، آنتی‌بیوتیک، ضدباکتری، ضد ویروس، ضد قارچ، ضدانگل یا ضدپارازیت و نیز ضد پروتوزآ باشد.,
مواد ضدعفونی‌کننده در درمان عفونت‌ها نیز زیست کش می‌باشند.[
http://copublications.greenfacts.org/en/biocides-antibiotic-resistance/l-2/2-main-uses-biocides.htm],
زیست کش‌ها در پیشگیری بیماری‌های عفونی گوناگون بکار می‌روند.
زیست کش‌ها را می‌توان به دو گروه عامل‌های اکسیدکننده و عامل‌های غیر اکسیدکننده تقسیم کرد.
عامل‌های اکسیدکننده عبارتند از:
عامل‌های غیر اکسیدکننده عبارتند از:
در موارد بسیاری عامل‌های اکسیدکننده، کارایی لازم را نداشته و عامل‌های غیراکسیدکننده افزوده می‌شود.,
ارگانوتین‌ها ترکیباتی با خاصیت باکتری کش ی و قارچ کش ی قوی هستند، به همین دلیل بسیاری از تری ارگانوتین‌ها به عنوان زیست کش در محیط زیست کاربرد دارند. از سال ۱۹۶۰ ترکیبات تری بوتیل تین به‌طور گسترده‌ای در سراسر جهان در رنگ‌های ضد خزه برای جلوگیری از رشد ارگانیسم‌های رسوبگذار بر روی تجهیزات ثابت و متحرک مورد استفاده بوده‌اند. ورود این ترکیبات به محیط دریا برای موجودات آبزی اکوسیستم دریا پیامدهای زیست‌محیطی مهمی را به دنبال دارد، این امر منجر به ممنوعیت تولید رنگ‌های ضد خزه دارای تری بوتیل تین تا سال ۲۰۰۳ و ممنوعیت استفاده از آن‌ها تا سال ۲۰۰۸ در تمامی آب‌های دنیا شده‌است. علیرغم ممنوعیت استفاده از این ترکیبات در بسیاری کشورها، تری بوتیل تین (TBT)در آب، رسوب و نمونه‌های زیستی بسیاری از مناطق ساحلی و مناطق مصبی قابل اندازه‌گیری است.,
ترکیبات چهارتایی آمونیم به عنوان زیست کش در مواد نگهدارنده پلاستیک، در صنایع مرغداری و نیز در محیط‌های آبی، سنتزهای ارگانیک و … بکار می‌روند.،
یون‌های مس به تنهائی یا در ترکیب‌ها، قرن‌ها است که برای ضدعفونی کردن جامدات، مایعات و بافت انسانی بکار رفته‌است. امروزه نیز، مس در تصفیه آب و به عنوان جلبک کش، قارچ کش، نماتد کش، راب کش و نیز به عنوان عامل ضد باکتری و ضدرسوب بکار می‌رود.،
مس یک زیست کش است.
سطوح مس و آلیاژهای آن به عنوان اولین ماده جامد ضدمیکروبی شناخته شده‌است. ,
آژانس حفاظت محیط زیست ایالات متحده آمریکا در سال ۲۰۰۸ با معرفی ۴۷۹ آلیاژ مس، آن‌ها را به عنوان سطوح ضدمیکروب به ثبت رسانده‌است. پیش از این، تنها مواد مایع و گازی شکل مانند اسپری‌ها و پودرهای کنسانتره به عنوان استریلیزه‌کننده، ضد عفونی‌کننده و ضد میکروب شناخته می‌شدند.
سطح ضد میکروبی مس، بیش از ۹۹٫۹٪ باکتری‌ها را در مدت دو ساعت می‌کشد. حتی پس از آلودگی مجدد نیز، سطح آلیاژ مس، مانع شکل‌گیری و رشد باکتری در عرض مدت دو ساعت می‌شود. ,
میوزین‌ها خانواده‌ای از موتور پروتئین‌ها هستند که با رشته‌های اکتین در ارتباط پیوسته هستند و با به‌کاربردن آدنوزین تری‌فسفات بر روی اکتین حرکت می‌کنند. خانواده میوزین‌ها، دربرگیرنده میوزین‌های گوناگونی هستند که هر یک کارکرد ویژه‌ای دارند و در سلول‌های ویژه‌ای بیان می‌شوند. برای نمونه، میوزین ۲، میوزینی است که در ماهیچه‌ها بیان می‌شود و برای فرایند حرکت ماهیچه‌ها نیاز است. میوزین ۱، میوزینی است که در سلول‌های گوناگون برای حرکت وزیکول‌ها نیاز است. برخی از میوزین‌ها یک زیرواحد دارند و برخی دیگر از میوزین‌ها دو یا چند زیرواحدی هستند و از زنجیره‌های سبک و سنگین درست شده‌اند. هرکدام از آن‌ها می‌توانند با چسبیدن به رشته‌های اکتین با حرکت پارویی شکل، ماهیچه را منقبض کنند.
میوزین ۲، یا میوزین ماهیچه‌ای، از دو زنجیره سنگین و ۴ زنجیره سبک ساخته شده‌است. میوزین‌های ۲، بر پایه زنجیرهٔ سنگین خود نامگذاری می‌شوند.
هر مولکول میوزینی دارای چهار زنجیره سبک است دو تا از آن‌ها پایه‌ای و دوتای دیگر تنظیمی و قابل فسفریله شدن هستند و می‌توانند نقش مهمی در تنظیم برهم‌کنش‌های اکتین-میوزینی و دینامیک ضربه-نیرو داشته باشند. زنجیره‌های سبک مولکول‌های میوزین می‌توانند سرعت حرکت اکتین در سرتاسر میوزین را به صفر کاهش دهند بدون اینکه بر فعالیت ای‌تی‌پاز تأثیری داشته باشد.
ایزوفرم MLC، در حالت پایه می‌تواند سرعت بیشینه کوتاه شدن تار ماهیچه‌ای و سارکومر را کم کند.
زنجیره‌های سبک تنظیمی، در سنجش با زنجیره سبک پایه دورتر از سر میوزین قرار گرفته‌اند، ولی هنوز هم در شرایطی هستند که دینامیک اکتین و پل عرضی میوزین را کاهش می‌دهند، نقش نخستین آن‌ها تغییر عملکرد پل عرضی از راه فسفریلاسیون آن‌ها است. به نظر می‌رسد فسفریلاسیون MLC حساسیت عناصر انقباضی به کلسیم را افزایش می‌دهد به گونه‌ای که فرآوری نیرو در فرکانس‌های تحریکی پایین و اما نه در تتانی افزایش می‌یابد.
تابوئیک یا تابوت یکی از اصلی‌ترین مراسم سنتی مربوط در ماه محرم در اندونزی است.
در مناطقی چون پاری‌مان در غرب سوماترا، بنگکولو وپی‌دی در آچه، گرسیک و بانیوانگی و چند نقطهٔ دیگر در جزیرهٔ جاوه، مراسم مختلفی در طول ماه محرم وجود دارد. در جزیرهٔ سوماترا به عزای حسینی ذکر «تابوت» گفته می‌شود و محرم در جزیرهٔ جاوه ماه «سورآ» (عاشورا) و در منطقهٔ آچه در سوماترا «ماه حسن و حسین» و در غرب سوماترا مردم پادانگ در منطقهٔ ۶ سیانگ کابائو آن را ماه «تابوئیک» (تابوت) می‌نامند.
ذکر شهادت و خاطرهٔ حسین بن علی در این مناطق همراه با برپایی مراسمی در قالب نمادهایی چون «تابوت»، پختن اقسام غذا و غیر آن‌هاست. در دههٔ اول محرم مردم شهرهای مختلف جاوه و سوماترا غذای مخصوصی آماده می‌کنند که در جاوه بوبورسوآ نامیده می‌شود. این غذای مخصوص که شبیه آش ایرانی است، شامل نخود و برخی غلات همانند گندم، جو، ذرت و شیر است که با برخی ادویه‌ها تزئین می‌شود. این غذا را در روز عاشورا بین مردم فقیر، همسایگان و دوستان و اعضای خانواده به نام و یاد حسن بن علی که به گمان این‌که وی نیز در روز عاشورا در کربلا کشته شده‌است، توزیع می‌کنند. در آچه این غذا کانجی عاشورا، یعنی غذای عاشورا خوانده می‌شود، و آن را از گندم، شیر، شکر، حبوبات و برخی از میوه‌ها مانند انبه، انار و موز تهیه می‌کنند. این غذا را نیز پس از تهیه، به مساجد یا مراکز دینی و فرهنگی روستا یا شهر برده و بین مردم توزیع می‌کنند.
در جاوه در روز عاشورا «شوروا» می‌پزند و به یاد حسن بن علی و حسین بن علی آن را به دو رنگ سرخ و سفید تهیه می‌کنند، آنگاه فرزندان کوچک و اطفال را جمع کرده تا یتیمی و غم اهل بیت در روز عاشورا را تصویر کرده باشند.
در میان مردم آچه این اعتقاد وجود دارد که انجام اموری همانند ازدواج، کارهای مهم تجاری، کاشت یا درو محصول موجب هتک حرمت ماه محرم می‌شود و هر کس که در این ایام به این امور اشتغال ورزد به رویدادهای ناگواری دچار خواهد گردید.
در پی‌دی در استان آچه مردم محلی به همراه مهاجرین هندی تابوتی چوبی را که با کاغذهای رنگارنگ تزئین شده و بر روی آن نقاشی قبر حسین بن علی تصویر شده‌است بر دوش می‌کشند و این تابوت را تمام روز به حرکت درآورده و در شهر گردش می‌دهند و در عصر عاشورا آن را به دریا می‌اندازند.
در مناطقی چون بنگلولو و پاری‌مان در اندونزی نیز مراسم تابوت اهمیت خاصی دارد؛ مردم این مناطق این مراسم را از سربازان و مهاجرین جنوب هند اخذ کرده‌اند. در پاری‌مان تابوت از چوب بامبو، خیزران، پارچه، کاغذهای رنگی و ورقه‌های نقره ساخته می‌شود. در مجموع ساخت یک تابوت حدود ۳ میلیون روپیه (برابر با ۱۵۰۰ دلار آمریکا) هزینه دربر دارد. این هزینه از طریق جمع کردن هدایای مردمی تأمین می‌گردد.
اوج مراسم محرم در پاری‌مان در روز عاشوراست که در ناحیهٔ مرکزی و بازار شهر اجرا می‌شود. شروع این مراسم در این منطقه در اول ماه محرم، از طریق گرفتن مقداری گل از رودخانه در نیمه‌شب شروع می‌شود. این گل در ظرفی که با یک پارچهٔ سفید پوشیده شده‌است در تابوت که با کفن پیچیده شده و تقریباً ۹ متر مربع طول دارد، قرار می‌گیرد. این تابوت که سمبل قبر حسین بن علی است به نماد تقدس، شجاعت و شهادت وی با پارچه‌ای سفید پوشیده می‌شود. در پنجمین روز از ماه محرم ساقهٔ درخت موز از باغی بریده می‌شود، این ساقه را باید تنها با یک ضربهٔ شمشیری تیز برید و آن نشانه‌ای از شجاعت قاسم بن حسن در واقعهٔ کربلاست. در هفتمین روز محرم، در ساعت ۱۲ بعد از ظهر نمادی از دست حسین بن علی که در یک گلدان قرار داده شده در خیابان‌ها گردانده می‌شود و مردم به یاد واقعهٔ کربلا به گریه و زاری می‌پردازند. در صبح نهم محرم عمامه‌ای سفید که «توران» خوانده می‌شود به نشانهٔ عمامهٔ حسین بن علی تهیه شده و در طی این مراسم خاطراتی از فداکاری‌های حسین ذکر می‌شود.
در روز دهم محرم مراسم تابوت به اوج خود می‌رسد؛ مردم از نواحی مختلف مینانگکابائو به پاری‌مان رفته، در طی این روز تابوت، عمامه و دست حسین بن علی در یک حرکت دسته‌جمعی توسط جمعیت حاضر در خیابان‌ها گردانده می‌شود، این حرکت دسته‌جمعی از ناحیهٔ بازار و ناحیهٔ شهرک جوا آغاز می‌گردد. شرکت‌کنندگان در این مراسم به دو گروه تقسیم می‌شوند و خیابان‌های مختلف را طی می‌کنند. در غروب آن روز گروه‌های عزادار به صورت دسته‌های منظم به کنار ساحل پاری‌مان می‌روند تا پایان مراسم تابوت، یعنی انداختن تابوت به دریا را شاهد باشند. انداختن تابوت در دریا نشانهٔ پایان مراسم و مرگ ذوالجناح، که به او براق می‌گویند، در آسمان است و معتقدند که به ملاقات صاحبش حسین بن علی و به بهشت می‌رسد. با انداختن تابوت به دریا برخی از مواد با ارزش آن از جمله پارچه‌های تزئینی را از آب جمع می‌کنند تا در مراسم سال آینده از آن استفاده کنند. تابوت به‌آهستگی در آب فرو می‌رود و در امواج دریا ناپدید می‌گردد. مردم نیز با تاریکی هوا با فریادهای «یا حسین» به خانه‌های خود بازمی‌گردند.
این مراسم که محصول اختلاط فرهنگی سنت‌های بومی، هندی و ایرانی است در طول سال‌های حضور سربازان شیعی هندی، یعنی ۱۸۱۱ تا ۱۸۱۴ که از جنوب هند توسط قوای انگلیسی به این منطقه آورده شدند، رواج یافت.
آثار فرهنگی این سنت مذهبی مربوط به شیعیان هند، امروزه در جزایر کارائیب نیز مشاهده می‌شود. مردم ناحیه اوتارپرادش هند که تحت حکومت یک سلسلهٔ شیعهٔ ایرانی اداره می‌شد، مراسم محرم را همراه با سنتهای محلی خویش بر پا می‌داشتند، اما در حقیقت با مهاجرت کارگران هندی، طی سال‌های ۱۸۴۵ تا ۱۹۱۷ به این جزائر، مراسم محرم در بین ساکنین آن منطقه رواج یافت و امروزه حتی غیرمسلمانان نیز هر ساله در ایام ماه محرم مراسمی به نام حسی (حسین) را — که عمده‌ترین آن مراسم تابوت است — بر پا می‌دارند.