فی ژوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی ژوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

مقاله الگوریتم فلوید برای یافتن کوتاه ترین مسیر

اختصاصی از فی ژوو مقاله الگوریتم فلوید برای یافتن کوتاه ترین مسیر دانلود با لینک مستقیم و پر سرعت .

مقاله الگوریتم فلوید برای یافتن کوتاه ترین مسیر


مقاله الگوریتم فلوید برای یافتن کوتاه ترین مسیر

لینک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

 

تعداد صفحه:8

فهرست و توضیحات:

مقدمه

تجزیه و تحلیل

روش تحقیق

سابقه تحقیق

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

یک مشکل متداول در سفره های هوایی هنگامی که پرواز مستقیم وجود نداشته باشد تعیین کوتاه ترین مسیر پرواز از شهری به شهر دیگر است . حال الگوریتمی طراحی می کنیم که این مسئله و مسائل مشابه را حل کند . نخست لازم است نظریه گراف ها را مرور کنیم . شکل یک گراف جهت دار و موضون را نشان می دهد به خاطر دارید که در نمایش تصویری گراف ها دایره نشان گر راس ها و خط میان دو دایره نشان دهنده یال ها هستند . اگر هر یال دارای جهت باشد گراف را گراف جهت دار یا دیاگراف می گویند . هنگام رسم یال ها در این گونه گراف ها از پیکان برای نشان دادن جهت استفاده می کنیم در یک دیاگراف بین دو راس امکان وجود دو یال است که جهت آنها مخالف هم هست. برای مثال درشکل یک یال از v1 به v2 و یکی از v2 به v1  وجود دارد.اگر این یال ها با مقادیری همراه باشند این مقادیر را وزن و گراف حاصل را موزون می خوانند.

در این جا فرض می کنیم که این مقادیر غیر منفی است.گرچه این مقادیر را معولاً وزن می نامند در بسیاری از از کابردها نشانگر فاصله است.بنابراین مسیر را به عنوان فاصله میان راسی تا راس دیگر در نظر می گیرند.در یک گراف جهت دار مسیر مجموعه ای از راس هاست به طوری که از یک راس تا راس دیگر یک یال وجود دارد. مسیری از یک راس به خود آن راس را چرخه می گویند.

 

اگر مسیری هیچگاه دوبار از یک راس نگذرد مسیر ساده نامیده می شود.توجه کنید که یک مسیر ساده هرگز حاوی زیر مسیری که چرخه ای باشد نیست.طول یک مسیر در گراف موزون حاصل جمع اوزان مسیر است. در یک گراف ناموزون طول مسیر صرفاً عبارت است از تعداد رئوس موجود در آن است.


دانلود با لینک مستقیم


مقاله الگوریتم فلوید برای یافتن کوتاه ترین مسیر

تحقیق در مورد رهبری و جوانان مسلمان

اختصاصی از فی ژوو تحقیق در مورد رهبری و جوانان مسلمان دانلود با لینک مستقیم و پر سرعت .

تحقیق در مورد رهبری و جوانان مسلمان


تحقیق در مورد رهبری و جوانان مسلمان

لینک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

 

تعداد صفحه:35

 

 

 

 

 

تعریف شما از یک جوان مسلمان و خصوصیات او چیست؟چگونه یک جوان می تواند مسیر زندگی را طی کرده و به اهدافش برسد؟ :

من اساساَ در بین این خصوصیات مهمی که جوانان دارند ، سه خصوصیت را بارز می بینم ؛ که اگر آنها مشخص بشود و اگر آنها به سمت درستی هدایت بشود به نظر می اید که می توان به این سوال پاسخ داد آن سه خصوصیت عبارتند از :انرژی ، امید ،ابتکار.اینها سه خصوصیت برجسته جوان استاگر رسانه ها بتوانند این سه خصوصیت عمده را درست هدایت کنند ، من خیال می کنم که می شود یک جوان راه اسلامی را پیدا کند چون اسلام هم چیزی که از ما م خواهد این است که ما استعدادهای خودمان را به فعلیت برسانیم. البته در قران یک نکته بسیار اساسی هست و آن توجه دادن به تقواست تقوا یعنی مراقب خود بودن.تقوا یعنی یک انسان بداند که دارد چه کار می کند و هر حرکت خودش را با اراده و فکر و تصمیم انتخاب نماید ؛مثل انسانی که بر یک اسب رهوار سوار است  دهانه اسب در دستش است و می داند کجا می خواهد برود تقوا این است،آدمی که تقوا ندارد حرکات و تصمیم ها  و آینده اش در اختیار خودش نیست ؛ بنا براین اگر بتوانیم از ان سه خصوصیت با تقوا کار بکشیم و درست هدایت بشود خیلی خوب می شود جوانان در شکلی که اسلام می پسندد ، زندگی کنند .

 


هجوم به هویت نسل جوان مسلمان ، پدیده ای استعماری واستمراری

- موضوع اصلی بحث چگونگی تولید اندیشه دینی مطابق مقتضیات زمان و بر اساس نیازهای جوانان -به ویژه دانشجویان وبه طور خاص دانشجویان ایرانی درغرب -- درآن سال های هجوم افکار سکولار و ضد دینی است . از نکات جالب توجه ، جواب هایی است که هر کدام از متفکران شناخته شده مطرح می کنند. اما به این سوال باید عنایت داشت که چهار متفکراین نشست چه کسانی اند؟ چهار صاحب رای مسلمانی که د و تن آنان به د یار باقی شتافته اند؛ یکی در مرگی مشکوک در خارج و دیگری به تیر تروریست های گروه نفاق یعنی گروهک فرقان در داخل . گرد هم آمدن این چهارنفر نیز در زیر یک سقف، در آن زمان و برای هم ا ند یشی ، ازمنظر روابط وتاثیر متقابل صاحب نظران مسلمان اهمیت ویژه دارد.

2- موضوع جلسه نیز هنوز از اهمیت وحساسیت بسزایی برخودار است به ویژه که اینک در عصر حکومت اسلامی - درقالب جمهوری اسلامی - زندگی می کنیم وبه طور طبیعی مسائل تازه وچند وجهی به اقتضای پیشرفت دانش ، گسترش اطلاع رسانی نوین وارتباطات زود هنگام و لحظه ای مطرح است و نسل جوان، تشنه ومنتظر است تا به پرسش ها و ابهام ها یش پاسخ دقیق ،عالمانه و منطقی داده شود.

3-اولین نفر از آن چهارنفرمرحوم دکتر علی شریعتی است که با همان ملاحت کلام وزبان عاطفی وگفتار دلسوزانه ، ضمن تشریح موقعیت و وضعیت اندیشه دینی ، ازاین که جوانان درتنگنای افکار غیر دینی و ضد دینی قرارگرفته اند و امکان پاسخگویی ندارند ، اظهار نگرانی می کند. ا و معتقد است در این باره باید فکرعاجل شود و تولید اندیشه دینی مناسب مقتضیات زمان ومکان، ازضرورتهای غیرقابل تاخیراست . وی می گوید که جوانان مهمترین سرمایه جامعه اند که اگر از دست بروند، هیچ چیز دیگری برای فردا باقی نمی ماند.

4-  پس ازوی، رهبر کنونی انقلاب اسلامی حضرت آیت الله خامنه ای ، ضمن تشکر از سخنان حساب شد ه و دلسوزانه  دکترشریعتی ، به نگرانی وی پیرامون ازدست رفتن جوانان درپی هجوم مکاتب فکری وارداتی اشاره وبه تفسیر راهکارهای درمان آن می پردازند.  جالب است  بدا نیم، ایشان آن روز در باب رویکرد جوانان به اندیشه های دینی  برنکاتی انگشت می گذارند و امید وارانه به نسل جوان کشورمی نگرند که  با آن چه امروز به عنوان رهبر یک حکومت توصیه می کنند ، منطبق است.  بیانات سا ل 1355 وبیانات امروزایشان درباره لزوم اعتماد به جوانان این مرز و بوم ، نشانگر شناختی عمیق از این  قشر است که باور دارد برای برون رفت آنان ازخود باختگی وبی هویتی، باید اتکا به نفس ملی را در آنها تقویت کرد . سخنان ایشان ضمن این که دغدغه هجوم افکارغیربومی وغیردینی به جوانان را باز می گوید، در عین حال به رویکرد جوانان بسیاری اشاره دارد که در آن سال ها به د ین و منابع دینی، متفکران دینی ، مراکز و اماکن د ینی رجوع دارند، به قرآن و نماز روی آورده اند و با اشتیاق و توجه در پی فراگیری معارف اسلامی اند .


دانلود با لینک مستقیم


تحقیق در مورد رهبری و جوانان مسلمان

تحقیق درباره بررسی شبکه های احتمالی روش مسیر بحرانی با نمودار گانت

اختصاصی از فی ژوو تحقیق درباره بررسی شبکه های احتمالی روش مسیر بحرانی با نمودار گانت دانلود با لینک مستقیم و پر سرعت .

تحقیق درباره بررسی شبکه های احتمالی روش مسیر بحرانی با نمودار گانت


تحقیق درباره بررسی شبکه های احتمالی و روش مسیر بحرانی با  نمودار گانت

فرمت فایل : word (قابل ویرایش) تعداد صفحات : 20 صفحه

 

 

 

 

 

 

 

مقدمه

قبل ار تلاش جهت استفاده از این ابزار (Pert، CPM و Gantt) اطاعات پروژه باید از طریق معینی جمع آوری شده باشند. لذا لازم است یک توضیح پایه ای و اساسی در مورد قدم های ارتباطی ابتدایی کار داده شود.

فرایند طراحی یک پروژه شامل مراحل زیر است:

1-مشخص کردن تاریخ شروع پروژه

2-مشخص کردن روز تکمیل پروژه

3-انتخاب کردن روش و شیوه های اجرای پروژه و طول عمر استفاده از پروژه.

4-مشخص کردن حوزه و میزان وسعت پروژه در دوره و مرحلة انتخاب شدة روش اجرای پروژه و طول عمر پروژه

5-مشخص کردن با انتخاب روش هایی که جهت مرور پروژه مورد استفاده قرار می گیرند.

6-مشخص کردن و از پیش تعیین کردن نقاط عطف یا تاریخ های بحرانی پروژه که باید به آنها پرداخت و رسیدگی کرد.

7-لیست کردن فعالیتها، با دورة پروژه، در رابطه با اینکه هرکدام از آنها باید سر موقع به پایان رسند.

8-برآورده کردن تعداد پرسنل لازم برای به پایان رساندن هر فعالیت

9-برآورد کردن پرسنل آماده به کار جهت به پایان رسانیدن هر فعالیت

10-مشخص کردن سطح مهارت مورد نیاز جهت تشکیل دادن هر فعالیت.

11-مشخص کردن وابستگی ها و پیش نیازی های هر پروژه.

-کدام فعالیت ها می توانند بطور موازی و هم زمان انجام شوند؟

-شروع کدام فعالیتها مستلزم تکمیل فعالیتهای دیگر است:

12-نقاط کنترلی و نقاط بازدید و مورد مرور پروژه

13-تشکیل دادن برآورد هزینة اجرای پروژه و تحلیل هزینه منافع.

توسعة طرح یک پروژه مستلزم داشتن دقت بالا و درک جزئیات همة فعالیتهایی است که شامل می شودو مقدار زمانی که برای مدت زمان طول انجام هر فعالیت تخمین زده است، وابستگی های میان این فعالیتها، و توالی زمانی که این فعالیتها باید به اجرا درایند به علاوه، آماده بودن منابع باید مشخص گردد تا هر فعالیت با مجموعه فعالیتها جهت اختصاص به کار گرفته شود.

یک روش مورد استفاده برای توسعه لیست فعالیتها، خلق کردن چیزی است که به تجزیة ساختار کار معروف است.


یک تعریف:

تفکیک ساختار (WBS): یک انحلال و متلاشی کردن سلسله مراتب و یا تجزیة یک پروژه یا فعالیت اصلی به مراحل متوالی است که در آن هر مرحله یک تجزیه کاملتر از قبلی است. در شکل نهایی یک WSB در ساختار و چیدمان بسیار شبیه طرح اصلی است. هر مورد در یک مرحلة خاص از WBS متوالیاً شماره گذاری شده است (برای مثال: 10 و 10 و 30 و 40 و 50) هر مورد در مرحلة بعدی در طی شمارة منشاء اصلی خود شماره گذاری شده است. (برای مثال 1/10 و 2/10 و 3/10 و 4/10) WBS ممکن است در شکل یک دیاگرام کشیده شود. (چنانچه ابزارهای خودکار آماده باشند.) یا در یک نمودار شبیه کشیدن یک طرح.

WBS با دو فعالیت رو یهم رفته شروع می شود که نمایندة کلیت کارهایی هستند که پروژه را تشکیل می دهند. این نام طرح پروژه WBS می شود. استفاده از روش کار یا طول عمر مسیستم (تحلیل، طراحی و اسباب تکمیل) بعنوان یک راهنما قدم می گذارد پروژه به قدم های اصلی اش تقسیم شده است. اولین مرحلة پروژه وارد کردن اطلاعات است. مرحلة دوم اصلی تحلیلی است که پیرو طراحی، ترسیم، تست کردن، تکمیل و پیگیری دقیق انجام وظایف است. هرکدام از این مراحل باید به مرحلة بعدی جزئیاتش شکسته شوند و هرکدام از آنها، بازهم به مراحل کاملتر جزئیات، تا به یک فعالیت قابل مدیریت برسد. اولین WBS برای طول عمر پروژه به این صورت خواهد بود.

ادامه...


دانلود با لینک مستقیم


تحقیق درباره بررسی شبکه های احتمالی روش مسیر بحرانی با نمودار گانت

دانلود مقاله یک الگوریتم موازی و ساده برای مساله‌ی کوتاهترین مسیر

اختصاصی از فی ژوو دانلود مقاله یک الگوریتم موازی و ساده برای مساله‌ی کوتاهترین مسیر دانلود با لینک مستقیم و پر سرعت .

یک الگوریتم موازی و ساده برای مساله‌ی
کوتاهترین مسیر تک-منبع
بر روی گراف مسطح

 

چکیده
در این مقاله یک الگوریتم ساده برای مسئله‌ی کوتاهترین مسیر تک-منبع در یک گراف مسطح با یالهای با وزن غیر‌منفی ارائه خواهیم داد. الگوریتم مزبور در زمان و با انجام ، ، عمل بر روی مدل EREW PRAM اجرا می‌شود. نقطه قوت الگوریتم در سادگی آن است که آنرا برای پیاده‌سازی و استفاده ، در عمل بسیار کارامد می‌سازد. در این مقاله ساختار داده‌هایی برای پیاده‌سازی این الگوریتم بر روی EREW PRAM ارایه شده است. می‌توان این الگوریتم را با انجام تغییراتی بر روی مدل برنامه‌نویسی MPI به سادگی پیاده کرد. الگوریتم ما بر اساس ناحیه‌بندی گراف ورودی و استفاده از روش موازی الگوریتم دایسترا ، بنا شده است.

1 مقدمه
مساله‌ی کوتاهترین مسیر یک مساله‌ی زیربنایی و مهم در بهینه‌سازی ترکیبیاتی است که از ارزش عملی و تئوری زیادی برخوردار است. برای یک گراف جهت‌دار که شامل n راس و m یال است، مساله‌ی کوتاهترین مسیر عبارت است از پیدا کردن یک مسیر با کمترین وزن بین هر دو راس u و v که در مجموعه‌ی راسها وجود دارند. وزن مسیر u-v برابر مجموع وزن یالهای بین آنهاست. وزن کوتاهترین مسیر بین u-v ، فاصله از u تا v نامیده می‌شود. مساله‌ی کوتاهترین مسیر، بر حسب جفت راسهای u و v و نحوه‌ی وزن‌گذاری یالهای گراف به گونه‌های مختلفی تقسیم می‌شود.
اگرچه الگوریتم‌های سریال کارا برای بیشتر این گونه مسایل وجود دارند اما هنوز فقدان یک الگوریتم موازی کارا برای آن احساس می‌شود؛ الگورتیم کارا ، یعنی الگوریتمی که میزان کار انجام شده توسط آن برای حل مساله معادل یا نزدیک به تعداد کاری باشد که توسط بهترین الگوریتم سریال لازم است (منظور از کار، مجموع تمام کارهایی است که توسط پروسسورها انجام می‌شود). طراحی یک الگوریتم کارا برای مساله‌ی کوتاهترین مسیر ، یک مساله‌ی حل نشده‌ی مهم را در پردازش موازی تشکیل می‌دهد. یکی از دلایل ممکن برای نبود چنان الگوریتمی می‌تواند این باشد که بیشتر تاکیدها بر روی به دست آودردن یک الگوریتم خیلی سریع (یعنی NC) قرار گرفته است. به هر حال در اغلب موقعیتهای عملی، که تعداد پروسسورهای موجود ثابت و خیلی کوچکتر از اندازه‌ی مساله‌ای است که در دست داریم ، هدف اصلی و ابتدایی ما اینست که یک الگوریتم work-efficient (به‌جای الگوریتم خیلی سریع) داشته باشیم؛ چرا که در چنان مواردی زمان اجرا بر کاری که بین پروسسورها تقسیم می‌شود غالب است. اگر چنان الگوریتمی سایر پارامترهای خاص مانند سادگی و پیاده‌سازی راحت را داشته باشد از اهمیت ویژه‌ای برخوردار خواهد بود.
یکی از گونه‌های مهم مساله‌ی کوتاهترین مسیر ، مساله‌ی کوتاهترین مسیر تک-منبع یا درخت کوتاهترین مسیر است : با داشتن یک گراف جهت‌دار که شامل n راس و m یال و یک راس مشخص که منبع نامیده می‌شود، است، مساله‌ی ما عبارت است از پیدا کردن کوتاهترین مسیر از s به تمام راسهای دیگر در G . مساله‌ی کوتاهترین مسیر تک-منبع یک راه حل سریال کارا دارد مخصوصا وقتی که G هیچ راس منفی نداشته باشد. در این مورد مساله می‌تواند توسط الگوریتم دایسترا در زمان با استفاده از هیپ فیبوناچی یا یک ساختار داده‌ی صف اولویت با زمان حدی مشابه، حل شود[2] .
در این مقاله ما برای مساله‌ی کوتاهترین مسیر تک-منبع بر روی یک گراف مسطح G با وزن یال حقیقی و غیرمنفی ، یک الگوریتم ساده ارایه می‌دهیم که پیاده‌سازی آن راحت است. با مصالحه‌ای بر زمان اجرا ، الگوریتمی (قطعی) ارایه می‌دهیم که از لحاظ work-efficiency بهبودی بر الگوریتمهای قبل از آن باشد. این الگوریتم که با جزییات کامل و اثبات در [1] ارایه شده است. در اینجا ما آن الگوریتم را با توضیحات بیشتر توضیح می‌دهیم. به‌طور دقیقتر الگوریتم مزبور بر روی EREW PRAM در زمان و با انجام عمل ، اجرا می‌شود که .
مانند الگوریتمهای کوتاهترین مسیر تک-منبع قبلی ، الگوریتم حاضر بر اساس ناحیه‌بندی گراف و تبدیل مساله به یک دسته از مسایل کوتاهترین مسیر بر روی ناحیه‌ها، عمل می‌کند. عملکرد الگوریتم ما به این صورت است که با داشتن یک ناحیه‌بندی از گراف، ما برای هر ناحیه الگوریتم دایسترا را بکار می‌بریم و در پایان ، الگوریتم دایسترا را بر روی گراف کمکی که با استفاده از اطلاعات کوتاهترین مسیر در نواحی ساخته شده ، اجرا می‌کنیم. جزییات این الگوریتم در بخشهای بعدی آمده است. با تولید کپی‌های مناسب و کافی از یالهای گراف ، از خواندن و نوشتن همزمان پروسسورها در حافظه جلوگیری می‌شود. همانطور که گفتیم ما در الگوریتم خود نیازمند یک ناحیه‌بندی از گراف ورودی هستیم که برای محاسبه‌ی این ناحیه‌بندی ، ما یک پیاده‌سازی EREW PRAM از الگوریتم ارائه شده در [3] را ارایه می‌دهیم. این پیاده‌سازی خاص، یک ناحیه‌بندی از گراف مطابق با نیاز الگوریتم ما را محاسبه می‌کند. در این الگوریتم هم فرض می‌شود که گراف ورودی مسطح است.
مهمترین امتیاز الگوریتم ما سادگی آن است که پیاده‌سازی آنرا راحت می‌کند، طوری که پیاده‌سازی آن بر اساس روتینهای زیربنایی و قابل فهم ، همانطور که در ادامه گفته خواهد شد، استوار است که می‌توان آنها را در همه‌ی کتابخانه‌های الگوریتمهای موازی یافت. می‌توان این الگوریتم را با انجام تغییراتی بر روی مدل برنامه نویسی MPI به راحتی پیاده کرد. ذکر این نکته حایز اهمیت است که برای ماشینی که اجازه‌ی خواندن و نوشتن همزمان را می‌دهد، الگوریتم ما می‌تواند به‌طرز قابل توجهی ساده‌تر شود؛ بخاطر اینکه دیگر ایجاد کپی‌های فراوان از گراف ورودی برای خواندن همروند لازم نیست.
ما در بخش بعدی ، تعاریف را ارایه می‌دهیم و برخی از نکات ابتدایی در مورد جداساز‌ها (separator) و ناحیه‌بندی گراف مسطح را بیان می‌کنیم. الگوریتم ما در بخش 3 ارایه شده است. در بخش 4 هم جزییات مربوط به پیاده‌سازی بدست آوردن یک ناحیه‌بندی از گراف را توضیح می‌دهیم. در بخش 5 در مورد پیاده‌سازی الگوریتم بر روی MPI صحبت می‌کنیم. نتیجه‌گیری و جمع‌بندی هم در بخش 6 ارایه شده است.

2 مقدمات اولیه
در ادامه‌ی این مقاله فرض کنید یک گراف جهت دار مسطح با وزن یالهای حقیقی و غیر منفی است که راس و یال دارد (گراف را مسطح در نظر گرفتیم). در ادامه وقتی ما در مورد خصوصیات جداساز گراف G صحبت می‌کنیم، ما به گراف غیرجهت‌دار G اشاره داریم که با حذف جهت از یالهای آن به‌دست می‌آید (یعنی جداساز را بر روی گراف غیرجهت‌دار پیدا می‌کنیم). اما وقتی ما در مورد کوتاهترین مسیر صحبت می‌کنیم، به‌هر حال ما جهت یالها را به حساب می‌آوریم.

تعریف 1 جداسازِ یک گراف ، برابر است با زیر مجموعه‌ای مانند C از ، که بخشهای حذف‌شده از را به دو زیر مجموعه‌ی جدا از هم A و B تقسیم می‌کند، بطوری‌که هر مسیر از یک راس در A به یک راس در B ، حداقل شامل یک راس از C باشد.

به هر کدام از راسهای گراف یک عدد نسبت می‌دهیم و به آن ارزش راس می‌گوییم. ارزش هر راس را برابر در نظر می‌گیریم که n برابر تعداد راسهای گراف است. این برای آن است که هنگام تقسیم گراف به بخش‌های جدا از هم آنرا بصورت متوازن تقسیم کنیم. فرض کنید ، نشان دهنده‌ی ارزش راس باشد. آنگاه ارزش زیرمجموعه‌ی ، بصورت نشان داده خواهد شد .

در شکل 1 یک جداساز نمونه برای گراف نشان داده شده است.
Lipton و Tarjan در قضیه‌ی زیر ، [4] ، نشان دادند که اندازه‌ی جداساز گراف می‌تواند کوچک باشد.

قضیه 1 (قضیه‌ی جداساز مسطح) فرض کنید یک گراف n راسی مسطح است با ارزش‌های غیرمنفی بر روی راسهای آن که مجموع آنها برابر 1 است؛ آنگاه یک جداساز S برای G وجود دارد که V را به دو مجموعه‌ی و تقسیم می‌کند ، به طوری که و هر کدام از و ، حداکثر مجموع ارزش را دارند.

شکل 1 . یک جداساز برای گراف که نودهای آن با رنگ
خاکستری نشان داده شده‌اند.
ما جداساز S را یک جداسازِ برای G می‌نامیم.

تعریف 2 ناحیه‌بندی یک گراف یعنی تقسیم بندی راسهای گراف به نواحی جداگانه ، بطوریکه : (1) هر راسی یا درونی باشد، یعنی متعلق به دقیقا یک ناحیه باشد، یا مرزی باشد، یعنی حداقل بین دو ناحیه مشترک باشد؛ (2) هیچ یالی بین دو راس درونی که متعلق به نواحی مختلف هستند، موجود نباشد. برای هر عدد صحیح ، ، یک تقسیم-r گراف G ، یعنی تجزیه‌ی ناحیه‌ای G به ناحیه، که هر ناحیه حداکثر راس و حداکثر راس مرزی داشته باشد ( و ضریبهای ثابت هستند).

شکل 2 یک ناحیه‌ی بندی نوعی برای یک گراف را نشان داده است.


شکل 2 . ناحیه‌بندی گراف به 3 ناحیه‌ی مجزا

روالهای مورد نیاز الگوریتم ما عبارتند از: (1) الگوریتم دایسترا (نسخه‌ی سریال و موازی) که توسط یک ساختار داده‌ی هیپ (مثلا باینری هیپ) پیاده‌سازی شده است. (2) یک پیاده‌سازی استاندارد الگوریتم محاسبه‌ی پیشوند (یا پیشوند بخشی ) و مرتب‌سازی؛ و (3) الگوریتم موازی جداساز مسطح که توسط Gazit و Miller در [5] ارایه شده ؛ نسخه‌ی پیاده‌سازی EREW PRAM این الگوریتم در بخش 4 داده شده است.
دو زیرروال اصلی که توسط الگوریتم ما فراخوانی می‌شوند عبارتند از: (1) الگوریتم سریال دایسترا ؛ که ما آنرا در داخل الگوریتم خودمان ، بر روی گراف H با راس منبع s به صورت ، فراخوانی خواهیم کرد. (2) نسخه‌ی موازی الگوریتم دایسترا ؛ این الگوریتم بر روی گراف در زمان با استفاده از پروسسور روی EREW PRAM اجرا می‌شود (که و ) . برای فراخوانی الگوریتم دایسترای موازی ، برای و راس مبدا s از عبارت استفاده می‌کنیم. در اینجا فرض می‌کنیم که خواننده با الگوریتم دایسترا آشناست. برای یادآوری می‌توانید به [2] مراجعه کنید.
الگوریتم دایسترای موازی : نسخه‌ی موازی‌شده‌ی الگوریتم دایسترا که دایسترای موازی نامیده می‌شود، سرراست و قابل فهم است و با بروز رسانی برچسب‌های فاصله بصورت موازی انجام می‌پذیرد. ایده‌ی اصلی الگوریتم بصورت زیر است : فرض کنید که هر پروسسور P یک هیپ مخصوص به خود دارد که می‌تواند اعمال Insert و DecreaseKey را در زمان ثابت و اعمال Find و DeleteMin را در بدترین حالت در زمان انجام دهد (برای یاد آوری اعمال فوق به [2] نگاه کنید). فرض کنید یک راس با کوچکترین فاصله‌ انتخاب شود و قبل از شروع تکرار بعدی به P پروسسور فرستاده (broadcast) شود. لیست مجاورت راس انتخاب شده ، به P بخش با اندازه‌های مساوی تقسیم می‌شود بطوری‌که فاصله‌ی راسهای مجاور بتواند بطور موازی در زمان به‌روز شود (d درجه‌ی راس انتخاب‌شده است). هر پرسسوری که یک راس را به روز رسانده است ، آن را در داخل هیپ خصوصی خودش Insert می‌کند (یا عمل DecreaseKey را بر روی آن انجام می‌دهد)، و دوباره از هیپ خصوصی خودش یک راس با کوچکترین برچسب را انتخاب می‌کند. در تکرار بعدی، پروسسورها بطور دسته جمعی با انجام یک عمل محاسبه‌ی پیشوند ، راسی را که در کل کوچکترین فاصله را دارد را انتخاب می‌کنند. راس انتخاب‌شده از تمام هیپ‌هایی که در آن است حذف می‌شود. حال تکرار بعدی می‌تواند آغاز شود. پیاده‌سازی الگوریتم فوق راحت است: هر پروسسوری یک هیپ محلی دارد بطوری‌که می‌تواند یک نسخه‌ی سریال از الگوریتم را مورد استفاده قرار دهد. تنها عمل موازی که مورد نیاز است ، عمل محاسبه‌ی پیشوند است.
لازم به ذکر است که ، استفاده از هر هیپی با بدترین زمان برای اعمال آن (مثلا هیپ دودویی)، خواست ما را برآورده می‌سازد. همانطور که در بخش 3 خواهیم دید، کار انجام شده توسط این نسخه از پیاده‌سازی الگوریتم دایسترای موازی ، ، بطور مجانبی از کارهایی که توسط سایر مراحل الگوریتم انجام می‌شود کمتر است (برای اینکه ).

3 الگوریتم کوتاهترین مسیر
در این بخش ما الگوریتم خود را برای حل مساله‌ی کوتاهترین مسیر تک-منبع بر روی گراف مسطح G با وزن یال غیرمنفی ، ارایه می‌دهیم. ما فرض می‌کنیم که گراف G دارای یک تقسیم-r معلوم است (تعریف 2 را ببینید). در بخش 4 نشان خواهیم داد که چگونه می‌توان یک تقسیم-r برای گراف یافت. فعلا فرض می‌کنیم جنین تقسیمی را داریم.
فرض کنید که راس منبعی باشد که می‌خواهیم درخت کوتاهترین مسیر را برای آن حساب کنیم. بطور خلاصه الگوریتم ما بصورت زیر عمل می‌کند :
در داخل هر ناحیه ، برای هر راس مرزی v ، یک درخت کوتاهترین مسیر با ریشه‌ی v محاسبه می‌شود. این محاسبات بصورت همروند با استفاده از الگوریتم دایسترا بر روی نواحی انجام می‌شود. در ناحیه‌ای که شامل s است ، اگر s یک راس مرزی نباشد، یک محاسبه‌ی اضافی باید انجام شود. سپس G را به تبدیل می‌کنیم. گراف شامل موارد زیر است : راس مبدا s ؛ تمام راسهای مرزی بر روی نواحی G ؛ یالهای بین هر دو راس مرزی که به ناحیه‌ی یکسانی از G تعلق دارند که وزنهای آنها معادل با فاصله‌ی آنها در داخل ناحیه است (اگر مسیر بین آنها وجود نداشته باشد، یال متناظر آن برابر قرار داده می‌شود)؛ در درون ناحیه‌ای که شامل s است ، مثلا ناحیه‌ی ، یالهای بین s و راسهای مرزی نیز در شامل می‌شوند که وزن این یالها برابر با فاصله‌ی راسهای مرزی از s است. بعد از بدست آوردن ، یک محاسبه برای بدست آوردن کوتاهترین مسیر تک-منبع با استفاده از الگوریتم موازی دایسترا بر روی آن انجام می‌دهیم که در نتیجه ، کوتاهترین مسیر از s به تمام راسهای دیگر ، یعنی تمام راسهای مرزی در G ، محاسبه می‌شود. بعد از این مرحله، سرانجام کوتاهترین مسیر از s به باقی‌مانده‌ی راسها در G (یعنی راسهای درونی) بصورت موازی محاسبه می‌شود. برای محاسبه‌ی فاصله‌ی هر راس درونی ، از اطلاعات راسهای مرزی ناحیه‌ی متعلق به آن استفاده می‌شود. جزییات پیاده‌سازی الگوریتم ما بصورت زیر است :

ورودی: یک گراف جهت‌دار مسطح ، و یک راس منبع مشخص ، و یک تقسیم-r از گراف به نواحی ، و . فرض کنید مجموعه‌ی راسهای باشد و مجموعه‌ی راسهای مرزی باشد. و مجموعه‌ی را برابر مجموعه‌ی تمام راسهای مرزی در نظر بگیرید. و همچنین برای را ، برابر مجموعه‌ای از ناحیه‌ها در نظر بگیرید که راس مرزی v متعلق به آنهاست. بدون از دست دادن کلیت مساله فرض کنید . اگر s یک راس مرزی باشد آنگاه بطور دلخواه از میان یکی از ناحیه‌هایی که s بین آنها مشترک است انتخاب می‌شود.
گراف ورودی به‌صورت مجموعه‌ای از لیستهای مجاورت که در آرایه A ذخیره شده‌اند، نشان داده می‌شود بطوریکه راسهای مجاور راس یک بخش متوالی در آرایه را تشکیل می‌دهد که آنرا بصورت نشان می‌دهیم (شکل 3 را نگاه کنید). برای راحت کردن تولید کپی‌های مورد نیاز از گراف ، گراف ورودی به ساختار داده‌های زیر مجهز شده است: هر راس داخلی ناحیه‌ی (یعنی راسی که در قرار دارد) یک برچسب دارد که نشان دهنده‌ی ناحیه‌ای است که به آن تعلق دارد. مجموعه‌ی راسهای مرزی (یعنی ) بصورت یک آرایه نشان داده می‌شود. همچنین تمام راسهای مرزی ،C، بصورت یک آرایه نشان داده می‌شوند. فرض می‌شود که تمام راسهای مجاور راس مرزی ، که متعلق به یک ناحیه هستند، یک بخش متوالی از راسها را در ایجاد می‌کنند. راسهای مرزیِ مجاورِ راس که آنها را با نشان می‌دهیم ، متعلق به چند ناحیه هستند که بطور دلخواه در درون یکی از بخشها قرار می‌گیرند. هر راس دو اشاره‌گر به دارد، یکی به راس ابتدایی و یکی به راس انتهایی در بخش متوالی از راسها در آرایه، که به تعلق دارد، اشاره می‌کند. هر یک اشاره‌گر به آرایه‌ی ، که شامل ناحیه‌هایی است که v در آنها یک راس مرزی است، دارد. سرانجام هر راس مرزی یک اشاره‌گر به محل در آرایه‌ی دارد. نمایش ساختار داده‌های مربوط به تقسیم-r در شکل 3 نشان داده شده است.

 

 

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله  23  صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید


دانلود با لینک مستقیم


دانلود مقاله یک الگوریتم موازی و ساده برای مساله‌ی کوتاهترین مسیر