advertise laitec sharif univercity
دانلود سورس پروژه پایانی وب سایت بنگاه املاک با php

دانلود سورس پروژه پایانی وب سایت بنگاه املاک با php

18000 تومان
سورس پروژه پایانی وب سایت و نرم افزار کلینیک در ASP.net

سورس پروژه پایانی وب سایت و نرم افزار کلینیک در ASP.net

22000 تومان
پروژه پایانی PHP وب سایت فروشگاه کامپیوتری

پروژه پایانی PHP وب سایت فروشگاه کامپیوتری

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

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

5000 تومان
دانلود پروژه فروشنده دوره گرد با الگوریتم ازدحام ذرات PSO در #C

دانلود پروژه فروشنده دوره گرد با الگوریتم ازدحام ذرات PSO در #C

4800 تومان

الگوریتم حریصانه greedy

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

الگوریتم حریصانه greedy

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

در این الگوریتمها، مجموعه ای وجود دارد و باید از آن مجموعه، مرحله به مرحله اعضا را انتخاب (select) کرد. با هر انتخاب بررسی میشود که آیا عضو انتخاب شده، امکان رسیدن به جواب نهایی را دارد یا خیر (feasible). با هر انتخاب بررسی میشود که آیا به جواب نهایی رسیده ایم یا خیر (solution).

شکل کلی این الگوریتم ها بصورت زیر میباشد.

 

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

Set  greedy  (set c)

{

         s = ф ;

         while  ( !solution (s)  &&  c!=ф )

         {

                 x = select(c) ;

                 c = c – {x} ;

                 if  (feasible ( s ᴜ {x} ))

                      s = s ᴜ {x} ;

         }

          if (solution (s) )

                      return (s) ;

          else

                      return (ф) ;

}

 

برای آشنایی بیشتر به مفهوم الگوریتم های حریصانه به مثال زیر توجه داشته باشید:

فرش کنید فروشنده ای میخواهد بقیه پول شما را که 36 واحد است پرداخت کند.

او میخواهد تعداد سکه های پرداختی حداقل باشد. فرض کنید سکه های موجود عبارتنداز: 25 و 10 و 5 و 1 واحدی. فروشنده ابتدا بزرگترین سکه موجود یعنی 25 واحدی را انتخاب میکند (بهینه محلی). با انتخاب یک سکه 25 واحدی دیگر جواب حاصل نخواهد شد بنابراین او یک سکه 10 واحدی انتخاب میکند. تاکنون 35 واحد انتخاب شده است. با انتخاب سکه 10 واحدی دیگر و 5 واحدی جواب حاصل نمیشود. بنابراین فروشنده سکه 1 واحدی را انتخاب میکند. بنابراین مجموعه جواب این مساله {25 , 10 , 1} میباشد که جواب بهینه نیز هست.

حال فرض کنید به جای سکه های 25 و 10 و 5 و 1 واحدی، سکه های 12 و 10 و 5 و 1 واحدی وجود میداشت و بقیه پول شما 16 واحد باشد. با روش حریصانه یک سکه 12 واحدی و 4 سکه 1 واحدی دریافت میکنید یعنی 5 سکه. حال آنکه جواب بهینه در این حالت شامل  یک سکه 10 واحدی، یک سکه 5 واحدی و یک سکه 1 واحدی یعنی در کل 3 عدد سکه.

پس روش حریصانه برای خرد کردن سکه جواب نمیدهد.

در این مثال مجموعه انتخابهای ممکن یعنی C، سکه های موجود میباشد. تابع select هر بار یک سکه را انتخاب میکند، تابع feasible با هر انتخاب بررسی میکند که آیا انتخاب انجام شده امکان پذیر هست یا خیر. اگر امکانپذیر نباشد آن انتخاب برای همیشه طرد میشود. تابع solution با هر انتخاب بررسی میکند آیا جواب حاصل شده است یا خیر.

الگوریتم هایی که به روش حریصانه بررسی میشوند عبارتنداز:

► مسئله کوله پشتی غیر صفر و یک

► کد هافمن

► زمانبندی بر مبنای کمینه کردن زمان کل

► انتخاب (زمان بعدی) فعالیت ها

► زمانبندی فعالیت ها با مهلت معین

► الگوریتم های حریصانه کراسکال (راشال)

► الگوریتم پریم

► الگوریتم دایجسترا

 

 



0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
الگوریتم انتزاعی روش حریصانهgreedy Algorithmشکل کلی و مفهوم الگوریتم های حریصانهآموزش الگوریتم حریصانهالگوریتم آزمنددانلود سورس کد الگوریتم حریصانه greedyشبه کد الگوریتم حریصانهروش حریصانه در طراحی الگوریتم هامراحل الگوریتم در روش حریصانهتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php