PDA

نسخه کامل مشاهده نسخه کامل : الگوریتم پیدا کردن کوتاهترین مسیر در یک گراف وزندار؟



sia0368
07-05-2010, 19:33
میخوام برنامه ای به زبان c# و به صورت گرافیکی بنویسم که بین دو نقطه دلخواه انتخاب شده توسط کاربر کوتاهترین مسیر رو پیدا کنه و مسیر مورد نظر رنگش رو عوض کنه(یا به هر روشی مسیر کوتاه رو نشون بده)
منظورم از گرافیکی اینه که به فرض کاربر میخواد بدونه کوتاهترین مسیر بین تهرانپارس و آزادی کجاست برای نقاط مبدا و مقصد یه چیزی شبیه command buton بزاریم
1_با چه الگوریتمی بنویسم؟
2_اگر نمونه برنامه ای سراغ دارید بزارید ممنون میشم
3_هر راهنمایی و کمک دیگه ای هم بتونید بکنید ممنون میشم

sia0368
07-05-2010, 22:15
up................

sia0368
08-05-2010, 08:34
up...................

Dark.Lord
08-05-2010, 13:54
به نظر من باید یکم در مورد برنامه توضیح بدید،
در علم ریاضی کوتاه ترین مسیر یک خط مستقیم است اما ظاهرا منظور شما سیستمی شبیه GPS هوشمند است،
ابتدا باید مغیاس رو مشخص کنید...

sia0368
08-05-2010, 19:08
به نظر من باید یکم در مورد برنامه توضیح بدید،
در علم ریاضی کوتاه ترین مسیر یک خط مستقیم است اما ظاهرا منظور شما سیستمی شبیه GPS هوشمند است،
ابتدا باید مغیاس رو مشخص کنید...
منظورم این بود که به فرض در شهر تهران هر خیابون یا بزرگراه رو یه وزنی بهش بدم و با توجه به درخواست کاربر که از کجا به کجا میخواد بره کوتاهترین مسیر رو پیدا کنه

Dark.Lord
08-05-2010, 21:09
منظورم این بود که به فرض در شهر تهران هر خیابون یا بزرگراه رو یه وزنی بهش بدم و با توجه به درخواست کاربر که از کجا به کجا میخواد بره کوتاهترین مسیر رو پیدا کنه


خب اگر بخواهید وزن بدهید کار سختی نیست، من فکر کردم برنامه به صورت خودکار باید تشخیص بدهد،
برای شروع ابتدا میدان ها و تقاطع ها رو مشخص کنید،
سپس به گفته خودتان به خیابان ها وزن بدهید،
بعد از این کار باید برنامه برای هر 2 مسیر تمام حالت های ممکن را در نظر بگیرد،
بعدا اگر لازم شد با شکل توضیح می دهم اما فعلا به این تئوری توجه کنید،
فرض کنید می خواهیم از نقطه A به نقطه B برویم،
در بین راه مجموعا 2 میدان و تقاطع به نام های X1 و X2 وجود دارد،
حالا برنامه می بایست کوتاه ترین مسیر ها (از نظر وزن) را از A تا X1 و از X1 تا X2 و از X2 تا B پیدا کند و مقادیر آن ها را با هم جمع کند،
به این روش مسیر A تا B مشخص می گردد که بر هر روشی خواستید می تاونید مشخصش کنید،
نمی دانم درست متوجه شدید یا نه اما اگر در جایی مشکلی داشتید در خدمتم...

---------- Post added at 10:09 PM ---------- Previous post was at 10:07 PM ----------

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

sia0368
08-05-2010, 22:10
خب اگر بخواهید وزن بدهید کار سختی نیست، من فکر کردم برنامه به صورت خودکار باید تشخیص بدهد،
برای شروع ابتدا میدان ها و تقاطع ها رو مشخص کنید،
سپس به گفته خودتان به خیابان ها وزن بدهید،
بعد از این کار باید برنامه برای هر 2 مسیر تمام حالت های ممکن را در نظر بگیرد،
بعدا اگر لازم شد با شکل توضیح می دهم اما فعلا به این تئوری توجه کنید،
فرض کنید می خواهیم از نقطه A به نقطه B برویم،
در بین راه مجموعا 2 میدان و تقاطع به نام های X1 و X2 وجود دارد،
حالا برنامه می بایست کوتاه ترین مسیر ها (از نظر وزن) را از A تا X1 و از X1 تا X2 و از X2 تا B پیدا کند و مقادیر آن ها را با هم جمع کند،
به این روش مسیر A تا B مشخص می گردد که بر هر روشی خواستید می تاونید مشخصش کنید،
نمی دانم درست متوجه شدید یا نه اما اگر در جایی مشکلی داشتید در خدمتم...

---------- Post added at 10:09 PM ---------- Previous post was at 10:07 PM ----------

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

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمهم ترین الگوریتم‌ها برای حل این
(چه جوری میشه لینک گزاشت؟

sia0368
10-05-2010, 05:49
uo.................