Table of Contents
درک مدارهای اوی در نظریه نمودار
مدار اوی یک پیاده روی بسته است که هر لبه از یک نمودار را دقیقاً یک بار عبور می کند و به استکس شروع می رسد.این مفهوم از هفت پل معروف Königsberg مشکل که توسط لئون سخت اویلر در سال 1736 مطرح شده است، ثابت کرد که چنین مدار تنها وجود دارد اگر هر یک از اندکس ها در گراف دارای درجه و گراف متصل (و یا تحلیل های اصلی برای این نظریه طراحی، و پایه ای که در این نظریه طراحی سایت جدا شده است).
در این باره به طور رسمی بیان می شود: [[۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱] [۱] [۱۰]] [۱] [۱] [۱]] [۳] [و [بر [۳]] [و [بر [بر [و]]]] [بر [و [بر [و [و [بر [بر [بر [بر [بر [بر [بر [بر]]]]]]]]]]]]]]] [و [و [بر [و [بر [بر [بر [و [و [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر [و [و]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] [بر [بر [بر [و [و [و [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر [بر
الگوریتم Hierholzer چیست؟
الگوریتم Hierholzer، منتشر شده توسط ریاضیدان آلمانی کارل هیدرولزر در سال 1873، یک روش کارآمد برای ساخت مدار اولری است که شرایط لازم رضایت دارند.این مدار را با پیدا کردن مجموعه ای از چرخه ها و ادغام آنها ایجاد می کند. الگوریتم در زمان خطی اجرا می شود (FLT:1 ([F:2] گرافت به طور یکسان با لبه های بهینه سازی و تعداد آن.
مفاهیم کلیدی
- تشخیص دایره: شروع از یک استکس، دنبال لبه های استفاده نشده تا بازگشت به اندکس شروع کنید، این یک چرخه ساده است.
- چرخه های متحرک: هنگامی که یک اندکس در مدار فعلی هنوز لبه های استفاده نشده است، یک چرخه جدید از آن اندکس تشکیل شده و وارد مدار می شود.
- (به جز این که از آن استفاده می شود، از آن استفاده می شود و یا از آن استفاده می شود.
توضیحات مرحله به مرحله الگوریتم Hierholzer
الگوریتم را می توان به صورت بازگشتی یا آنی اجرا کرد.ایده اصلی این است که یک مدار را با گسترش مکرر مدارهای فرعی ایجاد کنید.
مرحله 1: یک شروع وانکس را انتخاب کنید
هر یک از این ویژگی ها را با حداقل یک لبه انتخاب کنید، زیرا نمودار متصل است و تمام درجه ها حتی هر گونه اندکس کار می کند، به طور معمول الگوریتم در vertex شروع می شود (FLT:0v .
مرحله دوم: یک چرخه را معکوس کنید
از اندکس فعلی، هر لبه استفاده نشده را به همسایه دنبال کنید، به حرکت در امتداد لبه های استفاده نشده ادامه دهید، هر لبه را به عنوان استفاده می کنید، تا زمانی که به اندکس شروع کنید، این یک چرخه (FLT:0C ایجاد می کند.اگر چرخه شامل تمام لبه های نمودار باشد، الگوریتم خاتمه می یابد - ما یک مدار اولری داریم.
مرحله 3: پیدا کردن Vertics با لبه های غیر کاربردی
در این صورت، در هر نقطه از این مرحله، به صورت زیر به صورت زیر به صورت زیر به صورت زیر به صورت زیر به صورت زیر به صورت زیر به صورت زیر مشاهده می شود.
مرحله 4: یک چرخه جدید از ایجاد کنید.
در آغاز |[[ویرایش] ، روند پیدا کردن چرخه را در میان لبه های استفاده نشده تکرار کنید، این یک چرخه جدید ایجاد می کند C] [FLT3] که شروع و به پایان می رسد u .
مرحله پنجم: چرخه جدید را به مدار اصلی برسانید
در این مرحله، به سمت چپ و راست و راست و راست و راست و بی تردید در این مسیر قرار می گیرد.
از آنجا که هر اندکس دارای مدرک است، فرایند هرگز گیر نمی افتد: هر زمان که وارد یک اندکس می شوید، همیشه لبه ای استفاده نشده برای ترک وجود دارد، تا زمانی که درجه اندکس صفر شود، الگوریتم تضمین می کند که پیاده روی نهایی شامل هر لبه ای است که دقیقاً یک بار است.
مثال: ساخت یک مدار اوییان
یک نمودار بدون هدایت با سرگیجه A، B، C، D و E. Edges: AB، AC، BC، BD، CE، DE (این یک نمودار کوچک است که در آن هر یک از آنها حتی درجه 1 - 1 - اجازه دهید = 3، D = 3، D = 3، D = 2، D = D2، که در واقع استفاده نمی کند؟
اجرای الگوریتم Hierholzer
- شروع در vertex 1. دنبال کردن لبه ها: 1-2 (use)، 2-3 (use)، در حال حاضر در 3. انتخاب لبه استفاده نشده 3-4 (use)، 4-5 (use)، 5-3 (استفاده) بازگشت به 3، اما نقطه شروع اولیه 1، 1، 1، اما در واقع الگوریتم نیاز به تشکیل یک چرخه است که به درستی شروع می کند (در حال حاضر می تواند از 1، 1، 1،1،1،1،1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، در واقع، 1، 1، 1، در واقع، 1، 1، 1، 1، 1، 1، اما الگوریتم ردیابی.1، 1، در واقع الگوریتم به یک دوره.1
- اسکن C1: سرگیجه 3 دارای لبه های استفاده نشده است. شروع چرخه جدید در 3-3، 4-5، چرخه 5-3 = 3-4-5-3.
- C2 را در C1 در vertex 3: در نتیجه مدار: 1-2-3-4-3-1. همه لبه های استفاده شده، مدار اوییان است.
این مثال نشان دهنده ظرافت الگوریتم است: چرخه ها به صورت یکپارچه کشف و ترکیب می شوند.
پیچیدگی و تفسیر پیاده سازی
[[[ویرایش] [[[[ویرایش]] [[[[[ویرایش]]]] [[[[[[ویرایش]]]] ] [و ]]] [FLT: [و]]] هنگامی که از یک صفحه نمایش و ساختارهای داده کارآمد برای حذف لبه (e.
برای نمودار های کارگردانی شده، همان روش کار می کند که نمودار اوییان (در درجه برابر با درجه در هر یک از اندکس) نیاز الگوریتم حتی درجه ترجمه به پرونده کارگردانی شده نیز.
مقایسه با الگوریتم Fleury
یک الگوریتم شناخته شده دیگر برای پیدا کردن مدارهای اولری (FLT:0O) است، در حالی که اطمینان حاصل می کند که لبه های خطی باقی مانده متصل است (به عنوان مثال، از گراف های ثابت اجتناب می کند) و الگوریتم تولید کننده (FLT:0O [FLT1] ([۳]) به طور کلی نیاز به زمان اتصال نیمه (۵) دارد.
برنامه های الگوریتم Hierholzer
توانایی پیدا کردن یک مدار اویایی به طور موثر کاربردهای دنیای واقعی زیادی دارد.
مشکل چینی پست
در مسئله پست چینی (بررسی روتر)، هدف این است که کوتاه ترین پیاده روی بسته را پیدا کنید که حداقل یک بار تمام لبه ها را پوشش می دهد.برای نمودارهایی که در حال حاضر اویرین هستند، راه حل به سادگی مدار اولروالزر است که الگوریتم Hierholzer را فراهم می کند.
Network Routing و Circuit Design
مدارهای اوی در طراحی مسیرهای کارآمد برای مسافران خیابانی، جمع آوری زباله و انتقال بسته شبکه استفاده می شوند که در آن هر لینک باید دقیقاً یک بار عبور کند.این الگوریتم به حداقل رساندن سفر اضافی کمک می کند.
آرشیو برچسب ها : DNA
در زیست شناسی محاسباتی، رویکرد گراف د برج به مونتاژ ژنوم متکی بر پیدا کردن مسیرهای اولریان یا مدارهای از طریق گراف های kmer است. Hierholzer یک جزء اصلی از بسیاری از جمع آوری کنندگان است که بازسازی توالی های پیوسته از متن های کوتاه را امکان می دهد.
گرافیک کامپیوتر و نسل ماس
پیاده روی های اوی در تولید پیچ و خم و در الگوریتم های ترسیم گراف خاص استفاده می شود که در آن لبه ها باید بدون بلند کردن قلم کشیده شوند. الگوریتم یک ساخت و ساز بهینه را فراهم می کند.
تست مدار یکپارچه
در طراحی ادغام بسیار بزرگ (VLSI) ، تست تمام اتصالات را می توان به عنوان یک مشکل مدار اویایی مدل سازی کرد و به حداقل رساندن حرکت آزمایشی.
خواندن و منابع خارجی
برای عمیق تر کردن درک شما از مدارهای اوی و الگوریتم Hierholzer، منابع زیر توصیه می شود:
- مسیر اِلیان — ویکی پدیا [FLT 1] — خلاصه جامع از تعاریف، تاریخ و الگوریتم ها.
- مسیر اِلیان (CP Algorithms - توضیح دقیق با پیاده سازی C++ و تجزیه و تحلیل پیچیدگی.
- [FLT:] الگوریتم هالهزر (Wolholzer) - ولفرام MathWorld - دیدگاه ریاضی.
- مثال مسیر اولریان [FLT 1] - نمایش عملی با استفاده از کتابخانه تجزیه و تحلیل شبکه پایتون.
- [bLT:] الگوریتم Hierholzerholzer برای نمودار هدایت یافته - GeeksforGeeks - پیاده سازی در زبان های مختلف.
نتیجه گیری
الگوریتم Hierholzer یک سنگ بنای گراف برای ظرافت، سرعت و کاربرد گسترده آن باقی می ماند.با حذف مشکل در یافتن و ادغام چرخه ها، یک راه حل ساده و بهینه برای ساخت مدارهای اویاریان ارائه می دهد که آیا شما در حال طراحی مسیر شبکه، ژنوم ها یا حل پازل ها هستید، درک این الگوریتم شما را با یک ابزار قدرتمند برای مدیریت شبیه سازی الگوریتم حتی ساده و ساختار خطی آن مجهز می کند.