۱
subtitle
ارسال: #۱
  
طولانی ترین مسیر در گراف
سلام
دوستان یه سوال پر تکرار تو کنکورهای قبل پیدا کردن طولانی ترین مسیر در گراف بوده
قضیه ی طولانی ترین مسیر تو گراف جهت دار، بی جهت، با دور، بی دور، با یال منفی ، ....
اینو یکی برا من توضیح بده لطفا
من یکی که گیج شدم
پیشاپیش ممنون
دوستان یه سوال پر تکرار تو کنکورهای قبل پیدا کردن طولانی ترین مسیر در گراف بوده
قضیه ی طولانی ترین مسیر تو گراف جهت دار، بی جهت، با دور، بی دور، با یال منفی ، ....
اینو یکی برا من توضیح بده لطفا
من یکی که گیج شدم
پیشاپیش ممنون
۰
ارسال: #۲
  
RE: طولانی ترین مسیر در گراف
برای اینکه این مساله جواب چند جمله ای داشته باشه، باید بتونیم با روشهای پویا حلش کنیم
و برای استفاده از الگوریتم های پویا باید در مساله اصل بهینگی صادق باشه
اصل بهینگی یک حل بهینه برای نمونه ای از مساله همواره حاوی حل بهینه برای همه زیرنمونه ها باشد
اگر گراف دور داشته باشه ، اصل بهینگی برای صادق نیست:
مثلا در شکل پیوست؛ طولانی ترین مسیر از v1 به v4 میشه: v1,v3,v2,v4
که در اون زیر مسیر v1 به v3 طولانی ترین نیست. بلکه طولانی ترین مسیر v1,v2,v3 است.
این اتفاق به خاطر وجود دور افتاد.
پس در گرافهای دارای دور نمی تونیم الگوریتمی با مرتبه چند جمله ای داشته باشیم.
ولی در صورت عدم وجود دور اصل بهینگی برای مساله صادق است و میشه با کمی تغییر از الگوریتم فلوید(به جای min بنویسیم max) براشون استفاده کنیم که درجه چندجمله ای داره
و برای استفاده از الگوریتم های پویا باید در مساله اصل بهینگی صادق باشه
اصل بهینگی یک حل بهینه برای نمونه ای از مساله همواره حاوی حل بهینه برای همه زیرنمونه ها باشد
اگر گراف دور داشته باشه ، اصل بهینگی برای صادق نیست:
مثلا در شکل پیوست؛ طولانی ترین مسیر از v1 به v4 میشه: v1,v3,v2,v4
که در اون زیر مسیر v1 به v3 طولانی ترین نیست. بلکه طولانی ترین مسیر v1,v2,v3 است.
این اتفاق به خاطر وجود دور افتاد.
پس در گرافهای دارای دور نمی تونیم الگوریتمی با مرتبه چند جمله ای داشته باشیم.
ولی در صورت عدم وجود دور اصل بهینگی برای مساله صادق است و میشه با کمی تغییر از الگوریتم فلوید(به جای min بنویسیم max) براشون استفاده کنیم که درجه چندجمله ای داره
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close