فرابگیر

انجام پروژه دانشجویی، کامپیوتر، تحقیق در عملیات و آمار

حوزه فعالیت این سایت آموزش، مشاوره و انجام پروژه های دانشجویی در رشته های کامپیوتر و تحقیق در عملیات می باشد

بنیاد بیماری های نادر ایران

مطالب دسته: روش جستجوی فیبوناچی

روش جستجوی فیبوناچی

روش جستجوی فیبوناچی

روش جستجوی فیبوناچی

روش جستجوی فیبوناچی

روش جستجوی فیبوناچی

به یاد بیاورید که روش جستجوی طلایی در سراسر روش از همان مقدار P  استفاده می نماید. حالا فرض کنید که ما مجاز به تغییر مقدارP از هر مرحله به مرحله دیگر باشیم به طوری که در مرحله k ام در روند کاهش، از مقدار Pk ، در مرحله بعدی از Pk+1  و به همین ترتیب باشیم.

ادامه مطلب...

مثال روش جستجوی فیبوناچی

تابع زیر را در نظر بگیرید:

F(x) = x4 – ۱۴x3 + 60x2 -70x

از روش جستجوی فیبوناچی به منظور یافتن مقدار x که مقدارf  بر روی بازه [۰, ۲] استفاده نمایید. مقدار x را در میان بازه ۰٫۳ قرار دهید.

بعد از N تکرار در بدترین وضعیت بازه جواب توسط (۱+۲e)/FN+1 کاهش خواهد یافت. لذا باید مقدار N را به صورت زیر انتخاب نماییم.

(۱+۲e)/FN+1 ≤ بازه نهایی / بازه اولیه ≤ ۰٫۳ /۲ = ۰٫۱۵

لذا باید

FN+1 ≥ (۱ + ۲e) / 0.15

اگر مقدار e ≤ ۰٫۱ باشد، سپس N =4 خواهد بود.

تکرار اول: با این مقدار شروع می کنیم:

۱ – P1 = F4 / F5 = 5/8.

حال مقادیر زیر را محاسبه می نماییم:

a1 = a0 + P1 (b0 – a0) = 3/4.      b1 = a0 + (1-P1) (b0 – a0) = 5/4.

f(a1) = -24.34              f(b1) =  -۱۸٫۶۵             f(a1) < f(b1).

بازه به صورت زیر کاهش می یابد:

[a0, b1] = [0, 5/4]

تکرار دوم: با این مقدار شروع می کنیم:

۱ – P2 = F3 / F4 = 3/5.

حال مقادیر زیر را محاسبه می نماییم:

a2 = a0 + P2 (b1 – a0) = 1/2.      b2 = a1 = 3/4

f(a2) = -21.69              f(b2) =f(a1) =  -۲۴٫۳۴              f(a2) > f(b2).

بازه به صورت زیر کاهش می یابد:

[a2, b1] = [1/2, 5/4]

تکرار سوم: با این مقدار شروع می کنیم:

۱ – P3 = F2 / F3 = 2/3.

حال مقادیر زیر را محاسبه می نماییم:

a3 = b2= 3/4.    b3 = a2 + (1 – p3) (b1 – a2) = 1

f(a3) = f(b2) = -24.34              f(b3) =  -۲۳                  f(a3) < f(b3).

بازه به صورت زیر کاهش می یابد:

[a2, b3] = [1/2, 1]

تکرار چهارم: با این e = 0.05 شروع می کنیم:

۱ – P4 = F1 / F2 = 1/2.

حال مقادیر زیر را محاسبه می نماییم:

a4 = a2 + (p4 – e) (b3 – a2) = 0.725.        b4 = a3 = 3/4.

f(a4) =  -۲۴٫۲۷             f(b4) = f(a3) = -24.34                                      f(a4) > f(b4).

بازه به صورت زیر کاهش می یابد:

[a2, b3] = [0.725, 1]                  (b3 – a2) => 1 – 0.725 = 0.275 <0.3.

از مقدار تعیین شده کمتر می باشد لذا متوقف می شویم.

کد مطلب برنامه فوق موجود است که با مراجعه به این قسمت می توانید آن را سفارش دهید.

ادامه مطلب...