گراف (ساختار داده)

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

در علوم رایانه یک گراف، داده‌ساختاری انتزاعی است که هدفش به کارگیریِ مفهوم گراف از ریاضیات است. یک داده ساختار گراف اساساً از یک مجموعهٔ متناهیِ زوج‌های مرتب- موسوم به یال- شامل واحدهایی به نام رأس یا گره تشکیل می‌شود؛ همان‌طور که در ریاضیات به ازای یک یال (u,v) می‌گوییم که u به v می‌رود یا u و v مجاورند.

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

به طور معمول دو راه برای نمایش یک گراف (G=(V,E وجود دارد: به صورت مجموعه‌ای از لیست‌های مجاورت یا به صورت یک ماتریس مجاورت. هر دو راه قابل اجرا برای گراف‌های جهت‌دار و بدون جهت است. نمایش لیست مجاورت معمولاً ترجیح داده می‌شود چرا که یک روش فشرده برای نمایش گراف‌های کم یال فراهم می‌کند. اگر گراف متراکم یا همان پر یال باشد، نمایشِ ماتریس مجاورت مقدم است. همچنین در مواقعی که نیاز داریم سریعاً بدانیم که آیا به ازای دو رأس داده شده یال متصل کنندهٔ بینشان وجود دارد یا خیر، از لیست مجاورت استفاده می‌کنیم. طبقه‌بندی انواع دوگان گراف دوگان گراف‌هایی که تا کنون در علوم مختلف تعریف و استفاده شده‌اند، بر اساس نحوه استخراج به دو گروه بر مبنای گراف اولیه و مفهومی تقسیم‌بندی شده‌اند. در ادامه وجه تسمیه و مشخصات آنها شرح داده شده‌اند.

دوگان گراف بر مبنای گراف اولیه

این نوع دوگان گراف از گراف اولیه استخراج می‌شود. به عبارت این نوع دوگان گراف از گراف اولیه دیگر بعد از اینکه گراف اولیه بر اساس دیدگاه‌های رایج آن استخراج شد، سپس دوگان گراف آن بر اساس قوانین خاصی استخراج می‌شود. در این طبقه دو نوع دوگان یعنی دوگان گراف ورونی و دوگان گراف خطی را می‌توان گنجاند. دوگان گراف ورونی تعریف: دوگان گراف ورونی یک گراف مسطح، گرافی است که گره‌های آن نماهای گراف اولیه بوده و یالهای آن بیانگر ارتباطات همجواری در گراف اولیه باشد این نوع دوگان دارای ویژگیهای زیر است: -دوگان گراف ورونی یک گراف مسطح یک گراف مسطح است (که ممکن است یال موازی و حلقه نیز داشته باشد(. - اگر G یک گراف همبند وG‘، دوگان گراف ورونی آن باشد، آنگاه G نیز، دوگان گراف ورونیG‘ خواهد بود. -- دوگانهای گراف ورونی یک گراف منحصر به فرد نیستند ویک گراف می‌تواند چندین دوگان گراف ورونی غیر یک ریخت داشته باشد. زیرا با تغییر نمایش گراف اولیه دوگان گراف ورونی آن نیز تغییر می‌کند این نوع دوگان گراف بیشتر در مسائلی که در آنها نیاز به تقسیم‌بندی فضا است استفاده شده است. به عنوان مثال الگوریتم تولید پلیگونهای تیسن از روی تعدا نقاط یمی از موارد کاربرد این نوع دوگان است. از دوگان ورونی گراف برای تقریب الگوریتمهای کوتاه‌ترین مسی بر مبنای معیار فاصله استفاده کرده‌اند. چون تعداد گره‌ها در دوگان ورونی گراف به مراتب کمتر از گراف اولیه است، به همین دلیل آنها نشان داده‌اند که جواب تقریبی مسئله کوتاه‌ترین مسیر بر مبنای فاصله را می‌توان در دوگان ورونی گراف اولیه محاسبه کرد. Wallgrun و]2008[ نشان داده است که از دوگان ورونی گراف می‌توان در مسائل طراحی حرکت رباتها استفاده برد. طراحی حرکت یک ربات در یک محدوده بسته باید بر اساس مشاهدات لحظه‌ای ربات انجام شود به نحوی که بدون برخورد با موانع و دیوارها با پیمودن کوتاه‌ترین مسیر به مقصد مورد نظر برسد. وی نشان داده است که ربات مورد نظر باید بر روی دوگان ورونی گراف مشاهداتش حرکت کند. وی همچنین چگونگی استخراج این دوگان ورونی گراف را بر اساس مشاهدات ربات بیان کرده است. منابع: Wallgrün, J. O. (2008)”Hierarchical Voronoi Graphs- .Spatial representation and reasoning for mobile robots,” London: Springer Winter, S. (2002a) “Modeling the costs of turns in- .route planning”, GeoInformatica, 6(4), pp.345-360 Winter, S. (2002b) “Route specifications with- a linear dual graph”, Symposium on Geospatial .Theory,Processing and Ap

الگوریتم‌های گراف[ویرایش]

الگوریتم‌های گراف زمینهٔ مهم علاقه در علوم رایانه به حساب می‌آیند. برخی از عملیاتِ مربوط به گراف‌ها عبارتند از: پیدا کردن مسیری بین دو گره، مانند جستجوی عمق اول و جستجوی سطح اول و پیدا کردن کوتاهترین مسیر از یک گره به دیگری، مانند الگوریتم دیکسترا. یک روش برای پیدا کردن کوتاهترین مسیر بین هر گره و تمام گره‌های دیگر هم وجود دارد به نام الگوریتم فلوید-وارشال.

منابع[ویرایش]