ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 
РСшСниС Π·Π°Π΄Π°Ρ‡ динамичСского программирования

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

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

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

Π—Π°Π΄Π°Ρ‡Π° динамичСского программирования

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² исслСдования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ связано Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ содСрТания. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ оказался ΠΌΠ°Π»ΠΎΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… большоС число ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ/ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ нСравСнств. НСсомнСнна ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ разбиСния Π·Π°Π΄Π°Ρ‡ΠΈ большой размСрности Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ мСньшСй размСрности, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ всСго ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Ρ‡Π°ΡΡ‚ям. ИмСнно Π½Π° ΡΡ‚ΠΎΠΉ ΠΈΠ΄Π΅Π΅ основан ΠΌΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π”ΠŸ) — это ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ подструктурой ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ эффСктивнСС, Ρ‡Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ «Π² Π»ΠΎΠ±» (brute force). БловосочСтаниС динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π»ΠΎ использовано Π² 1940;Ρ… Π³ΠΎΠ΄Π°Ρ… Π . Π‘Π΅Π»Π»ΠΌΠ°Π½ΠΎΠΌ для описания процСсса нахоТдСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, Π³Π΄Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, «ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ» Π΅ΠΉ. Π’ 1953 Π³. ΠΎΠ½ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΠ» это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ. Π’ΠΊΠ»Π°Π΄ Π‘Π΅Π»Π»ΠΌΠ°Π½Π° Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Ρ‹Π» ΡƒΠ²Π΅ΠΊΠΎΠ²Π΅Ρ‡Π΅Π½ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ уравнСния Π‘Π΅Π»Π»ΠΌΠ°Π½Π°, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‚Π΅ΠΎΡ€ΠΈΠΈ динамичСского программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π² Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π‘Π»ΠΎΠ²ΠΎ «ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» Π² ΡΠ»ΠΎΠ²ΠΎΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠΈ «Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ (написанию ΠΊΠΎΠ΄Π°) ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡ‡Π΅Ρ‚ания «ΠΌΠ°Ρ‚СматичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся синонимом слова «ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ слово «ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°» Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС скорСС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий для получСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ вСсьма ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π°Π΄Π°Ρ‡ΠΈ распрСдСлСния рСсурсов, Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ запасами, Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌ для динамичСского программирования являСтся ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΡΡ‚Π°ΠΏΠ°ΠΌ, с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ассоциирована ΠΎΠ΄Π½Π° управляСмая пСрСмСнная. Набор Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ этапы, обСспСчиваСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ допустимого ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΈ достиТСнии послСднСго этапа.

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

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Ρƒ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π”ΠŸ, являСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. По ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ, ΠΎΠ½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ порядок поэтапного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ (это Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, Ρ‡Π΅ΠΌ нСпосрСдствСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ постановкС) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ управляСмых процСссов. Под «ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΡ‹ΠΌΠΈ» ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ процСссы, Π½Π° Ρ…ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стСпСни Π²Π»ΠΈΡΡ‚ΡŒ.

ΠŸΡƒΡΡ‚ΡŒ прСдполагаСтся ΠΊ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мСроприятиС ΠΈΠ»ΠΈ ΡΠ΅Ρ€ΠΈΡŽ мСроприятий («ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ»), ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ†Π΅Π»ΡŒ. Π‘ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ: ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ (ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивной? Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ поставлСнная Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° количСствСнный, матСматичСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти Π² Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ числСнный ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ W, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ качСство, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ эффСктивности Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаи выбираСтся исходя ΠΈΠ· Ρ†Π΅Π»Π΅Π²ΠΎΠΉ направлСнности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ исслСдования (ΠΊΠ°ΠΊΠΎΠΉ элСмСнт управлСния оптимизируСтся ΠΈ Π΄Π»Ρ Ρ‡Π΅Π³ΠΎ).

Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всСх Π·Π°Π΄Π°Ρ‡ динамичСского программирования («ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ»):

«ΠšΠ°ΠΊΠΎΠ²ΠΎ Π±Ρ‹ Π½ΠΈ Π±Ρ‹Π»ΠΎ состояниС систСмы S ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹ΠΌ шагом, Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡ‚ΠΎΠΌ шагС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ шагС плюс ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π½Π° Π²ΡΠ΅Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ… Π±Ρ‹Π» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ».

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это поэтапноС ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ многошагового процСсса, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС оптимизируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ шаг. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСх Π΅Π³ΠΎ послСдствий Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠŸΡ€ΠΈ постановкС Π·Π°Π΄Π°Ρ‡ динамичСского программирования слСдуСт Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ:

  • 1. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Ρ„Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹), Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ состояниС S ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΠΎΠΉ систСмы ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ шагом.
  • 2. Π Π°ΡΡ‡Π»Π΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° ΡΡ‚Π°ΠΏΡ‹ (шаги).
  • 3. Π’Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ xi для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ шага ΠΈ Π½Π°Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π½Π° Π½ΠΈΡ… ограничСния.
  • 4. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ приносит Π½Π° i-ΠΎΠΌ шагС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ xi, Ссли ΠΏΠ΅Ρ€Π΅Π΄ этим систСма Π±Ρ‹Π»Π° Π² ΡΠΎΡΡ‚оянии S, Ρ‚. Π΅. Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ «Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ°»:

.(1).

5. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ измСняСтся состояниС S ΡΠΈΡΡ‚Π΅ΠΌΡ‹ S ΠΏΠΎΠ΄ влияниСм ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ xi Π½Π° i-ΠΎΠΌ шагС: ΠΎΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½ΠΎΠ²ΠΎΠ΅ состояниС.

. (1.1).

6. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ основноС Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ динамичСского программирования, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅Π΅ условный ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Wi (S) (начиная с i-Π³ΠΎ шага ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°) Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Wi+1(S):

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. РСшСниС Π·Π°Π΄Π°Ρ‡ динамичСского программирования.

. (1.2).

Π­Ρ‚ΠΎΠΌΡƒ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΡƒ соотвСтствуСт условноС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° i-ΠΌ шагС xi(S) (ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π² ΡƒΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Wi+1(S) Π½Π°Π΄ΠΎ вмСсто S ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ состояниС.

7. ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ послСднСго (m-Π³ΠΎ) шага, задаваясь Π³Π°ΠΌΠΌΠΎΠΉ состояний S, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π° ΠΎΠ΄ΠΈΠ½ шаг Π΄ΠΎΠΉΡ‚ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ состояния, вычисляя для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… условный ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅.

(1.3).

(1.3).

8. ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ (m-1)-Π³ΠΎ, (m-2)-Π³ΠΎ ΠΈ Ρ‚. Π΄. шагов ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (1.2), полагая Π² Π½Π΅ΠΉ i=(m-1),(m-2),…, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡˆΠ°Π³ΠΎΠ² ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ условноС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ xi (S), ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ максимум достигаСтся.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли состояниС систСмы Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ извСстно, Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС систСмы Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ — прямо Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния S0. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π·Π° Π²ΡΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ.

(1.4).

9. ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ Π±Π΅Π·ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ управлСния, «Ρ‡ΠΈΡ‚ая» ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС. Π’Π·ΡΡ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС; ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС систСмы ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (1.1); для вновь Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ состояния Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ шагС Ρ…2* ΠΈ Ρ‚. Π΄. Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.

Π”Π°Π½Π½Ρ‹Π΅ этапы Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ для Π°Π΄Π΄ΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π·Π° Π²ΡΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π°Π²Π΅Π½ суммС Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ΅ΠΉ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠ°Π³Π°Ρ…. ΠœΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΊ Π·Π°Π΄Π°Ρ‡Π°ΠΌ с Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ «ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ» ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Π²ΠΈΠ΄ произвСдСния:

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. РСшСниС Π·Π°Π΄Π°Ρ‡ динамичСского программирования.
  • (1.5)
  • (Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠΈ wi ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹). Π­Ρ‚ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Ρ‡ΠΈ с Π°Π΄Π΄ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ, с Ρ‚ΠΎΠΉ СдинствСнной Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ (1.2) вмСсто Π·Π½Π°ΠΊΠ° «ΠΏΠ»ΡŽΡ» ставится Π·Π½Π°ΠΊ «ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ»:
ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. РСшСниС Π·Π°Π΄Π°Ρ‡ динамичСского программирования.

.(1.6).

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