Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Основная идСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° динамичСского программирования Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π΅Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сСмСйство Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅). ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ простыС ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ ΡΡ€Π΅Π΄ΠΈ Π·Π°Π΄Π°Ρ‡ сСмСйства найдСтся такая, которая Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ. Π’ΠΎΠ³Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ послСднСй ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ДинамичСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π . Π’Π΅Π»Π»ΠΌΠ°Π½ΠΎΠΌ Π² Π½Π°Ρ‡Π°Π»Π΅ 50-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ столСтия ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… процСссов Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹. ΠžΡΠ½ΠΎΠ²Ρƒ динамичСского программирования ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ [8, 19]: 1) ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ; 2) ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Ρ‚. Π΅. Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ исходной Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡ‚Π²ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡; 3) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ³ΠΎ погруТСния.

Π˜Π½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅.

Основная идСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° динамичСского программирования Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π΅Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сСмСйство Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅). ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ простыС ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ ΡΡ€Π΅Π΄ΠΈ Π·Π°Π΄Π°Ρ‡ сСмСйства найдСтся такая, которая Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ. Π’ΠΎΠ³Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ послСднСй ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ сСмСйства, Ρ‚. Π΅. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ исходной Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ сказанноС Π½Π° ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ [19). ΠŸΡƒΡΡ‚ΡŒ трСбуСтся Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ /(Ρ…) ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°:

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

Π—Π΄Π΅ΡΡŒ Gn — прямоС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ областСй (мноТСств) Gi опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ fi (xi):

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

Рассмотрим сСмСйство Π·Π°Π΄Π°Ρ‡.

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

Π³Π΄Π΅ x*m) = (xi Π₯2Ρ…Ρ‚)Ρ‚ ΠΈ Gm = G Ρ… G2 * β€’ β€’ β€’ Ρ… Gm. Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½Π° (ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅) Π² ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ΅ сСмСйство Π·Π°Π΄Π°Ρ‡ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΡ‚ΠΎ сСмСйство ΠΊΠ°ΠΊ частный случай ΠΏΡ€ΠΈ m = ΠΏ. Π’ Π·Π°Π΄Π°Ρ‡Π΅ (9.42) ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ m ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ дискрСтноС врСмя. Π’Π²Π΅Π΄Π΅ΠΌ Π² Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π’Π΅Π»Π»ΠΌΠ°Π½Π°.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, справСдливо ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅:

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

Но Π²Ρ‚ΠΎΡ€ΠΎΠ΅ слагаСмоС Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π’Ρ‚, поэтому ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

ΠΈΠ»ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π’Ρ‚ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ im+i, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ (9.43) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Π’Π΅Π»Π»ΠΌΠ°Π½Π°. РСшая Π΅Π³ΠΎ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ послСднСго условия, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π’, Π’2, β€’ β€’., Π’ΠΏ ΠΈ Ρ…, xj,…, Ρ…*ΠΏ. РСшСниСм исходной Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π’ΠΏ ΠΈ Ρ…* = (zj Ρ…J … Ρ…*)Π³.

Как Π²ΠΈΠ΄Π½ΠΎ, ΠΌΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования сводит Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ скалярной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊ ΠΏ Π·Π°Π΄Π°Ρ‡Π°ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ скалярных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈ числовом Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ сущСствСнно сокращаСтся объСм вычислСний. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡƒΡΡ‚ΡŒ G, (i = 1,2,…, ΠΏ) — ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ мноТСства ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… состоит ΠΈΠ· I Ρ‚ΠΎΡ‡Π΅ΠΊ. Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ исходной Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π±Π΅Π· использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° динамичСского программирования потрСбуСтся Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ 1ΠΏ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π° Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° динамичСского программирования — всСго /β€’ΠΏ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

ΠŸΡ€ΠΈ использовании уравнСния (9.43) вычислСниС Π’Ρ‚ происходит Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ возрастания Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚. Π΅. Π² ΠΏΡ€ΡΠΌΠΎΠΌ «Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ», поэтому это ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ прямым ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Π’Π΅Π»Π»ΠΌΠ°Π½Π° Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния Π’Π΅Π»Π»ΠΌΠ°Π½Π°, ΠΏΡ€ΠΈ использовании ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вычислСниС Π’Ρ‚ производится Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ убывания Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Для получСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния Π’Π΅Π»Π»ΠΌΠ°Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ исходной Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡ‚Π²ΠΎ Π·Π°Π΄Π°Ρ‡.

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

Π³Π΄Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΈΠΌΠ΅Π΅ΠΌ ΠΈΠ»ΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

ПослСднСС ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π’Π΅Π»Π»ΠΌΠ°Π½Π°.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ