advertise laitec sharif univercity
دانلود سورس بازی اندروید جدول خونه (900 جدول) همراه آموزش راه اندازی

دانلود سورس بازی اندروید جدول خونه (900 جدول) همراه آموزش راه اندازی

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

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

48000 تومان
دانلود سورس پروژه فروشگاه کیف با asp.net و sql express

دانلود سورس پروژه فروشگاه کیف با asp.net و sql express

10000 تومان
دانلود پروژه فروشنده دوره گرد با الگوریتم گرانشی در #C

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

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

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

10000 تومان

الگوریتم حریصانه 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 با هر انتخاب بررسی میکند آیا جواب حاصل شده است یا خیر.

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

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

► کد هافمن

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

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

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

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

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

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

 

 



1
نظرات
  • user avatar nd:
    ۲۳:۴۹:۲۹ __ ۱۴۰۰/۱۲/۱۰

    سلام با ذکر منبع کپی می کنم ممنونم

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



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


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

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

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