افراز گراف

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در ریاضیات ، مساله افراز گراف بر روی داده هایی در قالب گراف (G=(V,E با V راس و E یال تعریف می شود به طوری که افراز گراف به مولفه های کوچکتری با ویژگی های خاص ممکن باشد.برای مثال ، یک تقسیم بندی k-بخشی مجموعه رئوس را به k مولفه کوچکتر تقسیم می کند.افراز خوب به افرازی گفته می شود که تعداد یال های بین مولفه های مجزا از هم کم باشد.افراز یکریخت به نوعی از مساله افراز گراف گفته می شود که تقسیم گراف به به مولفه ها به صورتی است که مولفه ها تقریباً هم اندازه باشند و اتصالات کمی بین مولفه های متفاوت وجود داشته باشد.مهمترین کاربردهای افراز گراف در محاسبات علمی،تقسیم بندی قسمت های مختلف طراحی مدارهای VLSI و مدیریت زمانبندی کارها در سیستم های چندپردازنده ای، می باشد.[۱] اخیراً، استفاده از افراز یکریخت، به دلیل کاربرد های آن در خوشه بندی و یافتن گروه ها در شبکه های اجتماعی ، شبکه های زیستی و شبکه های بیماری شناختی افزایش یافته است.[۲]

پیچیدگی مساله[ویرایش]

معمولا مساله افراز گراف در رده مسائل NP-سخت قرار می گیرد.راه حل این مسائل به صورت کلی از طریق روش های مکاشفه ای و تقریبی حاصل می شود.[۲][۳]اما نشان داده می شود که افراز یک ریخت گراف یا افراز متعادل گراف به صورت NP-کامل می باشدکه در ضریب متناهی از زمان قابل محاسبه است.[۱]حتی برای گراف هایی که نظیر درخت ها و شبکه ها که در رده خاصی قرار میگیرند هیچ الگوریتم تقریبی مستدلی وجود ندارد،[۴] مگر آن که P=NP باشد.شبکه ها از آنجهت که گراف هایی که از شبیه سازی روش اجزا محدود به دست می آیند را مدل می کند، می تواند یک مورد جالب در این زمینه باشد. زمانی که علاوه بر آنکه تعداد یال های بین مولفه ها تقریب زده شده است بلکه اندازه مولفه ها نیز تقریبی است ، می توان نشان داد که هیچ الگوریتم کاملاً چند جمله ای مستدلی برای این گراف ها وجود ندارد.[۴]

مساله[ویرایش]

فرض کنید گرافی به صورت (G=(V,E دارید که V، مجموعه ای با n راس و E مجموعه یال هاست. برای یک مسئله افراز متعادل با زوج مرتب (k,V)، هدف افراز G به k مولفه با حداکثر سایز (v)(n/k) با مینیمم تعداد یال های مشترک بین این مولفه هاست.[۱]یا این که برای G و K>1 داده شده V را به K بخش …,K1,k2 تقسیم کنید به طوری که بخش ها از هم مجزا باشند و دارای اندازه های مساوی بوده به علاوه این که تعداد یال هایی که نقاط انتهایی آن ها در دو بخش متفاوت قرار دارد کمینه شود. در مورد این مسائل به شکلی مشابه مساله شیوه افزایش منابع بحث می شود.توسعه ای از این مساله در مساله ابرگراف ها مطرح می شود که در آن یک یال می تواند به بیش از دو راس متصل باشد. یک ابریال قابل برش نیست، اگر همه راس ها در یک افراز باشند، در مقابل دقیقاً یک بار بریده می شود ، اگر یکی از این راس ها در یک افراز دیگر قرار بگیرد، مستقل از تعداد راس هایی که در افراز دیگر قرار گرفته اند. از ابراگراف ها در خودکارسازی طراحی های الکترونیکی استفاده می شود.

تحلیل[ویرایش]

برای یک مسئله افراز متعادل (k,1+ԑ) ، به دنبال یافتن یک افراز با کمترین هزینه هستیم که گراف G را به k مولفه که هر کدام حداکثر دارای ((1+ԑ)(n/(k) راس باشد هستیم.هزینه این الگوریتم تقریبی را با هزینه مساله برش (k,1) مقایسه می کنیم که در آن هر کدام از k مولفه باید دقیقاً تعداد راس برابر با (n/k) داشته باشند به عبارتی این مساله ، مساله محدود تری نسبت به مساله قبلی می باشد.بنابر این داریم که ،

\max_i |V_i| \le (1+\varepsilon) \left\lceil\frac{|V|}{k}\right\rceil.

در حال حاضر می داینم که برش (2,1) که کوچکترین مساله دوبخشی می باشداز نوع NP-کامل است.[۵] سپس به بررسی مساله 3-افرازی که در آن n=3k است و پیچیدگی زمانی آن چندجمله ای است، می پردازیم.[۱] حال اگر فرض کنیم یک الگوریتم تخمینی متناهی برای مساله افراز (k,1) داریم، یا نمونه 3-بخشی با استفاده از افراز (k,1) بر گراف G قابل حل است یا این مسئله قابل حل نخواهد بود. حال اگر نمونه 3-بخشی قابل حل باشد، مسئله افراز (k,1) نیز در گراف G بدون جدا کردن هیچ یالی، قابل حل است؛ در غیراینصورت اگر نمونه 3-بخشی قابل حل نباشد، بهینه ترین افراز (k,1) بر روی G حداقل یک یال را برش می دهد. یک الگوریتم تخمینی با ضریب تخمین متناهی باید قادر به تشخیص این دو مورد از یکدیگر باشد، به این ترتیب می تواند مسئله 3-بخشی که با فرض P=NP در تناقض است را حل کند. بنابراین مشهود است که مسئله افراز (k,1)، الگوریتم تخمین با زمان چندجمله ای و تخمین متناهی ندارد، مگر اینکه P=NP.[۱]تئوری جداسازی گراف مسطح تاکید می کند که هر گراف مسطح با n راس را می توان با حذف (O(√n راس به بخش های مساوی، تقسیم کرد. این نوع تقسیم بندی، با افرازی که در مورد آن توضیح داده شد، یکی نیستند، زیرا در این نوع تقسیم بندی، افرازها از راسها تشکیل شده اند نه یال ها. به هرحال نتیجه یکسان به دست آمده نشان میدهد هر گراف مسطح با درجه متناهی تعدادی برش متعادل با پیچیدگی (O(√n یال دارد.

روش های افراز گراف[ویرایش]

از آنجایی که افراز گراف جزو مسائل سخت است، راه حل های عملی آن از روش های مکاشفه ای به دست آمده اند. دو گروه گسترده از این روش ها وجود دارد: محلی و سراسری. از جمله این روش های شناخته شده محلی الگوریتم Kernighan–Lin و الگوریتم های Fiduccia-Mattheyses می باشند که از ابتدایی ترین استراتژی های موثر برای های جستجوی محلی با برش های 2-تایی بودند. عمده ترین مشکل این الگوریتم ها، مقداردهی اولیه دلخواه برای رئوس افرازها بود که بر کیفیت راه حل نهایی تاثیر می گذاشت. روشهای سراسری بر ویژگیهای کل گراف بستگی دارد و به مقداردهی دلخواه اولیه افراز ها بستگی ندارد. رایج ترین نمونه آن، افراز طیفی است که افراز در آن از طیفی از ماتریس های مجاورت به دست می آید.

روش های چندمرحله ای[ویرایش]

الگوریتم افراز چندمرحله ای در یک یا چند مرحله انجام می شود. هر مرحله اندازه گراف را با از بین بردن راس ها و یالها کاهش می دهد، گراف های کوچکتر را افراز می کند، نهایتاً به عقب برمیگردد و بخش های گراف اصلی را تصحیح و بازسازی می کند.[۶] طیف گسترده ای از روشهای تصحیح و افراز را می توان در شمای کلی روش چند مرحله ای قرار داد. در بسیاری از موارد، این روش می تواند سرعت اجرای بالا و نتایج با کیفیت بالا را همزمان به دست دهد. یکی از مثال هایی که در آن از این روش به صورت گسترده استفاده می شود ، METIS [۷] که یک افراز کننده گرافاست و hMETIS معادل آن برای ابرگراف هاست.[۸]

افراز طیفی و دو بخشی کردن طیف گونه[ویرایش]

گرافی با ماتریس مجاورت A داده شده است، که Aij نشاندهنده یال بین i و j، و ماتریس درجه D، که یک ماتریس قطری است، و در آن هر اندیس قطری در سطر i، نشان دهنده درجه راس iام است. لاپلاس ماتریس L، به صورت L=D-A تعریف می شود. حال، ضریب برش برای گراف (G=(V,E، به معنای تقسیم کردن راس ها به دو زیرگراف U و W می باشد که در آن هزینه برش (U,W)/(|U|/|W|) کمینه باشد. در این سناریو، دومین مقدار ویژه کوچک(L(λ، یک حد پایین برای هزینه(c) بهینه ضریب برش است که در آن c>λ/n. بردار ویژه (V) منتاظر با مقدار ویژه λ ،گراف را تنها به دو بخش بر اساس اندیس منتاظر در آرایه یالها، دوبخشی می کند. تقسیم به تعداد بخش های بزرگتر با استفاده از تکرار روش دوبخشی به دست می آید، اما همیشه نتایج مورد انتظار و قابل قبولی را نمی‌دهد. مثال های توضیح داده شده در شکل 1و 2 نحوه انجام روش دوبخشی طیف گونه را توضیح می دهد.

شکل ۱.گراف )G(5,4 از منظر دو بخشی شدن طیفی مورد تحلیل قرار گرفته است.ترکیب خطی دو کمترین بردار ویژه به این انجامید که بردار ترانهاده [1 1 1 1] دارای مقدار ویژه ۰ شود که بردار Fiedler که با قرمز نشان داده شده است گراف را به دو قسمت تقسیم کرده است.
شکل ۲.گراف (G=(5,5 نشان داده شده است که بردار Fiedler که به صورت قرمز نشان داده شده است گراف را به دو قسمت تقسیم می کند مجموعه یال {1,2,3} که در فضای برداری مثبت و مجموعه یال {4,5} در فضای برداری منفی

زمانی که تعداد گروه هایی که باید افراز شوند یا اندازه افرازها، معلوم نیست ،افراز با کمترین برش، ناموفق است. برای مثال بهینه سازی اندازه برش برای گروه های آزاد، همه راس ها را در یک گروه قرار میدهد. به علاوه،امکان دارد اندازه برش برای کمینه سازی اشتباه باشد، از آن جهت که برای داشتن یک افراز و تقسیم بندی مطلوب،تنها شرط کمترین یال میان گروه ها کفایت نمی‌کند. این توضیحات، انگیزه را برای استفاده از پیمانگی (Q) [۹] به منزله یک استاندارد برای بهینه سازی افراز متعادل، را ایجاد می کند. مثال های توضیح داده شده در شکل 3، 2 نمونه که یکی از آنها از ضریب برش و دیگری از پیمانگی به عنوان استاندارد استفاده می کنند، را توضیح داده است. به هر حال، اخیراً اثبات شده است که روش پیمانگی مشکل محدودیت تفکیک پذیری دارد که موجب می شود، هنگام استفاده آن در گروه های کوچک، نتایج غیرقابل اعتمادی تولید کند. در این زمینه، روش surprise،[۱۰] به عنوان روشی جدید برای ارزیابی کیفیت روش های محاسبه کننده افراز، پیشنهاد شده است.

شکل ۳.گراف وزن دار G الف)می تواند طوری افزار شود تا Q را بیشینه شود. ب)تا نرخ برش کمینه شود.در این تصویر میبینیم که الف افراز متعادل بهتری است که اهمیت پیمانگی در مسائل افراز گراف را روشن می کند

سایر روش های افراز گراف[ویرایش]

مدل های چرخشی به منظور خوشه بندی داده های چند متغیره، که در آنها همگونی ها موجب ایجاد قدرت چسبندگی بین آنها می شود، مورد استفاده قرار می گیرد.[۱۱] ویژگی های پیکربندی روش های چرخشی، به صورت مستقیم می تواند به گروه هایی که قبلاً توضیح دادیم، تعبیر شود. به این ترتیب، گراف ها افراز می شوند تا مکانیک هامیلتونی (H) را در گراف افراز شده به حداقل برسانند. مکانیک هامیلتونی با نسبت دادن جایزه و مجازات به افرازهای پیش رو به دست می آید:

- به یالهای بین راس های یک گروه جایزه می دهد.

- نبود یال بین راس ها را در یک گروه را مجازت می کند.

- یالهای بین راس های گروه های متفاوت را مجازات می کند.

- نبود یال بین راس ها در گروه های متفاوت را جایزه می دهد.

به علاوه، خوشه بندی طیفی مبتنی بر PCA هسته ای، از یک چارچوب مبتنی بر کمترین مربعات بردار، بهره می برد و به این ترتیب امکان تصویر مدخل های داده را به هسته PCA، که ویژگی هایی همچون واریانس بالا را داراست، فراهم می کند. بنابراین یک جداسازی در سطح بالا را بین گروه های تصویر شده پیاده می کند.[۱۲] برخی دیگر از روش ها، افراز گراف ها را به مانند یک بهینه سازی چندضابطه ای بیان می کنند. این دسته از مسائل بهینه سازی را می توان با استفاده از روش های محلی که در چارچوب علمی بیان می شوند، حل کرد. در این مسائل هر راس می تواند افراز خود را خود انتخاب کند.[۱۳]

ابراز های نرم‌افزاری[ویرایش]

بسته های نرم‌افزاری متنوعی وجود دارند که الگوریتم های شرح داده شده را پیاده سازی کرده اندیکی از اولین بسته های نرم‌افزاری در دسترس قرار داده شده Chaco نامیده می شود.[۱۴] می باشد که متعلق به Hendrickson و Leland می باشد.همانند بیشتر بسته های نرم‌افزاری در دسترس عموم ، Chaco تکنیک های چند متغیره که در بالا ذکر شده است الگوریتم های جستجوی محلی پایه را پیاده سازی کرده است. علاوه بر آن این بسته ها تکنیک های افراز طیفی را نیز پیاده سازی کرده اند.Metris [۷] ، نیز از خانواده ابزار های افراز گراف می باشد که توسط Karypis و Kumar توسعه داده شده است. kMetis بر روی سرعت افزار متمرکز شده است و hMetis [۸] که یک افراز گر ابرگراف می باشد بر روی تساوی افراز ها تمرکز دارد. PaToH [۱۵] نیز در افراز ابر گراف ها به صورت گسترده کاربرد دارد که افراز هایی با کیفیت بالا تولید می کند. ParMetis[۷] یک پیاده سازی موازی از الگوریتم های افراز گراف مربوط به Metis است. Scotch[۱۶] نیز یک چارچوب برای افراز گراف است که توسط Pellegrini توسعه داده شده است.این بسته از روش های دو بخشی سازی بازگشتی چند متغیره از هر دو نوع تکنیک های موازی و پشت سر هم حمایت می کند. Jostle[۱۷] نیز یک افراز گر موازی و یا پشت سر هم برای گراف فراهم می کند که توسط Chris Walshaw توسعه داده شده است.نسخه تجاری این افراز گر با نام NetWorks شناخته شده است. اگر مدلی از شبکه ارتباطی به در دسترس باشد انگاه Jostle و Scotch می توانند از این مدل را به عنوان ورودی فرایند افراز گراف مورد استفاده قرار دهند. Party[۱۸] از نیز مجموعه مفیدی از الگوریتم ها به همراه الگوریتم های Bubble/shape-optimized را پیاده سازی می کند. بسته نرم‌افزاری DibaP نیز [۱۹] and its MPI-parallel variant PDibaP[۲۰] توسط Meyerhenke چارچوب Bubble را به کمک انتشار پیاده سازی کرده است.DibaP همچنین از تکنیک های مبتنی بر AMGen حل مسائل سیستم های خطی استفاده می کند. Sanders و Schulz نیز یک بسته نرم‌افزاری افراز گراف به نام KaHIP[۲۱] را پیاده سازی کرده اند.


لیست چارچوب های رایگان متن باز:

نام گواهی توضیحات مختصر
Chaco GPL بسته نرم‌افزاری که تکنیک های طیفی و چند متغیره را پیاده سازی کرده است.
DiBaP * افراز گراف بر پایه تکنیک های چند متغیره ُجبر چند شبکه ای و انتشار مبتنی بر گراف
Jostle * تکنیک های افراز چند سطحی و انتشار مبتنی بر گراف
KaHIP GPL تکنیک های موازی و مرحله به مرجحله فرا-اکتشافی که محدودیت های متعادل بودن را تضمین می کند.
kMetis Apache 2.0 بسته افراز گراف مبتنی بر تکنیک های چند متغیره و جستجو های k تایی محلی
Mondriaan LGPL افراز کننده ماتریس برای افراز ماتریس های تنک مستطیلی
PaToH BSD افراز چند مرحله ای ابر گراف
Parkway * افراز چند مرحله ای ابرگراف به صورت موازی
Scotch CeCILL-C پیده سازی دو بخشی سازی بازگشتی چند متغیره به همراه روش های انتشاری،روش های موازی و روش های پشت سر هم
Zoltan BSD افراز ابرگراف

منابع و مآخذ[ویرایش]

  1. ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ ۱٫۴ Andreev, Konstantin and Räcke, Harald, (2004). "Balanced Graph Partitioning". Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures (Barcelona, Spain): 120–124. doi:10.1145/1007912.1007931. ISBN 1-58113-840-7. 
  2. ۲٫۰ ۲٫۱ Sachin B. Patkar and H. Narayanan (2003). "An Efficient Practical Heuristic For Good Ratio-Cut Partitioning". VLSI Design, International Conference on: 64. doi:10.1109/ICVD.2003.1183116. 
  3. Feldmann, Andreas Emil and Foschini, Luca (2012). "Balanced Partitions of Trees and Applications". Proceedings of the 29th International Symposium on Theoretical Aspects of Computer Science (Paris, France): 100–111. 
  4. ۴٫۰ ۴٫۱ Feldmann, Andreas Emil (2012). "Fast Balanced Partitioning is Hard, Even on Grids and Trees". Proceedings of the 37th International Symposium on Mathematical Foundations of Computer Science (Bratislava, Slovakia). 
  5. Garey, Michael R. and Johnson, David S. (1979). Computers and intractability: A guide to the theory of NP-completeness. W. H. Freeman & Co. ISBN 0-7167-1044-7. 
  6. Hendrickson, B. and Leland, R. (1995). "A multilevel algorithm for partitioning graphs". Proceedings of the 1995 ACM/IEEE conference on Supercomputing. ACM. p. 28. 
  7. ۷٫۰ ۷٫۱ ۷٫۲ Karypis, G. and Kumar, V. (1999). "A fast and high quality multilevel scheme for partitioning irregular graphs". SIAM Journal on Scientific Computing 20 (1): 359. doi:10.1137/S1064827595287997. 
  8. ۸٫۰ ۸٫۱ Karypis, G. and Aggarwal, R. and Kumar, V. and Shekhar, S. (1997). "Multilevel hypergraph partitioning: application in VLSI domain". Proceedings of the 34th annual Design Automation Conference. pp. 526–529. 
  9. Newman, M. E. J. (2006). "Modularity and community structure in networks". PNAS 103 (23): 8577–8696. doi:10.1073/pnas.0601602103. PMC 1482622. PMID 16723398. 
  10. Rodrigo Aldecoa and Ignacio Marín (2011). "Deciphering network community structure by Surprise". PLoS ONE 6 (9): e24195. doi:10.1371/journal.pone.0024195. PMID 21909420. 
  11. Reichardt, Jörg and Bornholdt, Stefan (Jul 2006). "Statistical mechanics of community detection". Phys. Rev. E 74 (1): 016110. doi:10.1103/PhysRevE.74.016110. 
  12. Carlos Alzate and Johan A.K. Suykens (2010). "Multiway Spectral Clustering with Out-of-Sample Extensions through Weighted Kernel PCA". IEEE Transactions on Pattern Analysis and Machine Intelligence (IEEE Computer Society) 32 (2): 335–347. doi:10.1109/TPAMI.2008.292. ISSN 0162-8828. PMID 20075462. 
  13. Kurve, Griffin, Kesidis (2011) "A graph partitioning game for distributed simulation of networks" Proceedings of the 2011 International Workshop on Modeling, Analysis, and Control of Complex Networks: 9 -16
  14. Bruce Hendrickson. Chaco: Software for Partitioning Graphs. 
  15. Ü. Catalyürek and C. Aykanat (2011). "PaToH: Partitioning Tool for Hypergraphs". 
  16. C. Chevalier and F. Pellegrini (2008). "PT-Scotch: A Tool for Efficient Parallel Graph Ordering". Parallel Computing 34 (6): 318–331. 
  17. C. Walshaw and M. Cross (2000). "Mesh Partitioning: A Multilevel Balancing and Refinement Algorithm". Journal on Scientific Computing 22 (1): 63–80. 
  18. R. Diekmann, R. Preis, F. Schlimbach and C. Walshaw (2000). "Shape-optimized Mesh Partitioning and Load Balancing for Parallel Adaptive FEM". Parallel Computing 26 (12): 1555–1581. 
  19. H. Meyerhenke and B. Monien and T. Sauerwald (2008). "A New Diffusion-Based Multilevel Algorithm for Computing Graph Partitions". Journal of Parallel Computing and Distributed Computing 69 (9): 750–761. 
  20. H. Meyerhenke (2013). "Shape Optimizing Load Balancing for MPI-Parallel Adaptive Numerical Simulations.". 10th DIMACS Implementation Challenge on Graph Partitioning and Graph Clustering. pp. 67–82. 
  21. P. Sanders and C. Schulz (2011). "Engineering Multilevel Graph Partitioning Algorithms". Proceeings of the 19th European Symposium on Algorithms (ESA) 6942. pp. 469–480. 

پیوند به بیرون[ویرایش]

کتاب شناسی[ویرایش]