موضوع مقاله: مسئله کوچک‌ترین دایره | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # مسئله کوچک‌ترین دایره | مقدمه: انگشتی|چپ|300px مسئلهٔ کوچکترین دایره یا کمینه دایره پوششی نقاط، یک مسئله ریاضی است که کوچکترین دایره پوششی شامل همه نقاط صفحه اقلیدسی را محاسبه می‌کند. | ## بخش 1: مسئله کوچک‌ترین دایره | مسئله کوچکترین دایره پوششی در فضای n بعدی، مسئله ای است که کوچکترین کره که همه مجموعه نقاط را شامل می‌شود، محاسبه می‌کند. مسئله کوچک‌ترین دایره در صفحه یک مثال از مسئله تحلیل تعیین محل است به طوری که محل یک امکان جدید باید به گونه‌ای انتخاب شود که دورترین فاصله‌ای که هر مشتری باید طی کند تا به این امکان برسد کمینه شود.. مسئله پیدا کردن کوچک‌ترین دایره در صفحه در ابعاد بالاتر هم در زمان خطی قابل حل است. مشخصات اغلب روش‌های هندسی برای حل این مسئله، نقاطی را در نظر می‌گیرند که روی مرز کوچک‌ترین دایره واقع شده‌اند و برپایهٔ دو اصل سادهٔ زیر می‌باشند: ۱) کوچک‌ترین دایرهٔ پوششی نقاط یکتاست. ۲) کوچک‌ترین دایرهٔ پوششی برای مجموعهٔ نقاط S، حداکثر با ۳ نقطه از S روی مرز دایره مشخص می‌شود. اگر این دایره با دو نقطه مشخص شود، در این صورت خط متصل کنندهٔ این دو نقطه باید قطر کوچک‌ترین دایرهٔ پوششی نقاط باشد و اگر با سه نقطه مشخص گردد آنگاه مثلث شامل این سه نقطه منفرجه نخواهد بود. مسئلهٔ کوچک‌ترین دایره پوششی نقاط می‌تواند در زمان خطی حل شود و برای این مسئله در فضای اقلیدسی در هر بعد ثابتی همین زمان اجرا وجود دارد. این الگوریتم بازگشتی، مجموعه نقاط Q و S را به عنوان آرگومان دریافت می‌کند و کوچک‌ترین دایرهٔ پوششی از اجتماع Q و S را تا زمانی که هر نقطه از Q نقطه‌ای از نقاط مرزی کوچک‌ترین دایره نهایی شود محاسبه می‌کند. بنابراین، برای حل مسئله اصلی می‌توانیم الگوریتم فوق را برای مجموعه S که شامل نقاطی که قرار است پوشش داده شوند و Q که یک مجموعه تهی است فراخوانی کرد. همان‌طور که الگوریتم به صورت بازگشتی فراخوانی می‌شود، مجموعه Q تا زمانی که مساوی همه نقاط مرزی دایره نشده‌است بزرگ می‌شود. | ## بخش 2: مسئله کوچک‌ترین دایره | این الگوریتم نقاط درون مجموعه S و P را به صورت رندوم بررسی می‌کند و همچنین کوچک‌ترین دایره شامل اجتماع P و Q را نیزمورد بررسی قرار می‌دهد. در هر مرحله، الگوریتم بررسی می‌کند که آیا نقطه بعدی r به این دایره تعلق دارد یا نه و اگر نداشت دایره را با دایرهٔ دیگری که از فراخوانی الگوریتم با آرگومان‌های P و Q+r به دست می‌آید جایگزین می‌کند. چه دایره توسط دایره دیگری جایگزین شود و چه نشود، r جز مجموعه نقاط P محسوب می‌شود. در بررسی هر یک از نقاط، باید آزمایش‌های مداومی انجام شود که مشخص کند آیا هر نقطه به یک دایره مستقل تعلق دارد و همچنین امکان اجرای یک الگوریتم بازگشتی را دارد یا نه. می‌توان نشان داد که احتمال این که نقطه iام، یک الگوریتم بازگشتی تولید کند برابر با (O(۱/i است. متعاقباً، مسئله کوچک‌ترین دایره جز کلاس عمومی مسئله‌های نوع LP است که می‌تواند با استفاده از الگوریتم‌هایی چون ولز که مبتنی بر برنامه‌نویسی خطی هستند حل شود. در نتیجهٔ عضویت در این کلاس، نشان داده شد که اتکا به بُعد فاکتورهای ثابت در زمان محدود (O(n، که یک فاکتور برای تابع‌های Seidel's است، می‌تواند به زیر مجموعه‌های نمایی که اتکا روی N را حفظ می‌کنند کاهش پیدا کند.. سایر الگوریتم‌ها با توجه به بررسی‌های مگیدو(Megiddo) و اینکه کوچک‌ترین دایرهٔ پوششی می‌تواند با زمان اجرای خطی پیدا شود، تعداد زیادی از الگوریتم‌ها با پیچیدگی بالاتر ظاهر شدند. ساده‌ترین الگوریتم برای حل این مسئله از مرتبهٔ n۴ است به این ترتیب که تمام دایره‌های متشکل از دو نقطه و سه نقطه ممکن را در نظر گرفته و سپس بین تمام آن‌ها کمینه می‌گیرد. کریستال و پیرس(Chrystal and Peirce) الگوریتمی ارائه دادند که از استراتژی بهینه‌سازی محلی استفاده می‌کند به این ترتیب که دو نقطه روی مرز دایره در نظر می‌گیرد و با جایگزین کردن پی در پی جفت نقاط روی مرز، دایره را کوچک می‌کند تا به کمینهٔ خود برسد. | ## بخش 3: مسئله کوچک‌ترین دایره | یک روش خطی برای انتخاب دایرهٔ اولیهٔ مناسب و جفت نقاط روی مرز دایره ارائه کرده‌اند. با هر گام از این الگوریتم یکی از جفت نقاط روی مرز به عنوان یک راس جدید در پوش محدب قرار می‌گیرد؛ بنابراین اگر پوش حاوی h راس باشد، این الگوریتم می‌تواند در مرتبهٔ زمانی n*h پاسخ دهد. الگوریتمی را پیشنهاد دادند که یک دایرهٔ پوششی را برای زیر مجموعه‌ای از نقاط نگه می‌دارد. در هر گام الگوریتم، از نقطه‌ای که توسط حوزهٔ پوششی هنوز پوشش داده نشده‌است، برای پیدا کردن یک فضای پوششی بزرگ تر که زیر مجموعهٔ جدیدی از نقاط و البته شامل همین نقطه است، استفاده می‌شود. با اینکه این الگوریتم در بدترین حالت زمان اجرایی از مرتبهٔ h۳*n دارد، طراحان الگوریتم معتقدند که در آزمایش‌هایشان این الگوریتم در زمان خطی پاسخ می‌داده است. مسئلهٔ کوچک‌ترین حوزه می‌تواند به عنوان یک برنامه از درجهٔ دو فرموله شود که با استفاده از یک سیستم محدودیت خطی و تابع‌های محدب درجهٔ دو تعریف می‌شود. یک الگوریتم با زمان اجرای n*log n ارائه کردند بر این مبنا که مرکز کوچک‌ترین دایرهٔ پوششی باید یک راس از دورترین نقطهٔ دیاگرام ورونوی از مجموعه نقاط ورودی باشد. گونهٔ وزن دار مسئله نسخهٔ وزن دار مسئلهٔ کوچک‌ترین دایرهٔ پوششی، ورودی‌ها را به عنوان مجموعه‌ای از نقاط در فضای اقلیدسی در نظر می‌گیرد که هر کدام وزنی دارند. هدف این مسئله پیدا کردن نقطه ایست که بیشینه فاصلهٔ وزن دار با هر نقطهٔ دیگری را کمینه کند. مسئلهٔ اصلیِ کوچک‌ترین دایرهٔ پوششی می‌تواند با اختصاص دادن همهٔ وزن‌ها به همان اعداد بهبود پیدا کند. | ## جمع‌بندی | همانند نسخهٔ بدون وزن، حالت وزن دار مسئله می‌تواند در زمان خطی حل شود، بدیهی است که راه حل‌هایی با زمان اجرای کندتر نیز موجودند...