ComputerProgramming

Dinamikong programming, ang mga nag-unang mga prinsipyo sa

Sa pagpili sa mga kamalaumon solusyon sa dihang naghimog sa programming nga mga buluhaton usahay gikinahanglan sa matang sa dakong kantidad sa mga kalihokan data nga gilulanan ang handumanan sa mga personal nga computer. Ang maong mga pamaagi sa naglakip sa, alang sa panig-ingnan, ang programa paagi sa "divide ug sa pagmando". Sa kini nga kaso sa algorithm naghatag og panagbulag problema ngadto sa lain nga mas gamay subtasks. Kini nga pamaagi mao ang magamit lamang sa mga kaso diin ang gagmay nga mga subtasks mga mutually independente. Aron sa paglikay sa pagbuhat sa wala kinahanglana nga buhat kon nagsalig sa usag sub-mga buluhaton, naggamit dinamikong pamaagi programming gisugyot American R.Bellmanom sa 50s.

pamaagi sa

Dinamikong programa mao ang sa pagtino sa kamalaumon solusyon sa n-dimensional nga problema, sa pagpakigbahin sa iyang n lahi nga ang-ang. Ang matag usa kanila mao ang usa ka sub-task uban sa pagtahod sa usa ka baryable.

Ang nag-unang pagpahimulos sa niini nga paagi mahimong giisip nga ang mga developers nga nalambigit sa usa ka-dimensional nga problema pagkamalaumon subtasks inay sa usa ka n-dimensional nga problema, ug sa atong nag-unang tumong mao ang pag-adto sa "ubos-up".

Kini mao ang advisable sa paggamit dinamikong programming sa mga kaso diin ang mga sub-mga buluhaton may kalambigitan, ie pagpakigbahin sa komon nga modules. algorithm naghatag sa desisyon sa matag usa sa mga subtasks sa makausa, ug sa makaluwas nga mga tubag mao ang gihimo sa usa ka espesyal nga lamesa. Kini naghimo niini nga posible nga dili kuwentahon nga usa ka tubag sa diha nga sila nahimamat pag-usab uban sa sama nga sub-task.

Dinamikong programming buluhaton mosulbad sa problema sa pagkamalaumon. Ang tagsulat niini nga pamaagi nga gimugna sa R. Bellman optimality prinsipyo: ang bisan unsa nga mao ang unang nga kahimtang sa matag usa sa mga lakang ug ang solusyon gihubit sa niini nga lakang, ang tanan sa mosunod nga mga sa pagpili sa kamalaumon sa relasyon sa estado, nga nagadawat sa sistema sa sa katapusan sa lakang.

pamaagi sa improb ang performance sa mga buluhaton masulbad pinaagi sa paagi sa variants, o recursion.

Building task algorithm

Dinamikong programming algorithm naglakip sa pagtukod sa maong mga buluhaton nga ang tahas mao ang tipak ngadto sa duha o labaw pa nga subtasks ngadto sa iyang solusyon gilangkoban sa usa ka kamalaumon solusyon sa tanang subtasks, naglakip niini. Dugang pa, kini mao ang gikinahanglan nga sa pagsulat sa usa ka pagbalik relasyon, ug pagkalkulo sa labing taas nga mga hiyas sukaranan alang sa buluhaton nga ingon sa usa ka bug-os nga.

Usahay, sa 3rd lakang mao ang pagsag-ulo sa pipila ka dugang nga impormasyon sa pag-uswag sa matag buluhaton. Kini mao ang gitawag nga sa pagbalik stroke.

pamaagi Paggamit

Dinamikong programa ang mi-apply sa diha nga adunay duha ka kinaiya bahin:

  • sa kamalaumon alang sa subtasks;
  • atubangan sa problema sa nagsapaway nga subproblems.

Pagsulbad sa problema pagkamalaumon sa dinamikong programming, nga kamo kinahanglan una nga paghulagway sa istruktura sa solusyon. buluhaton sa adunay nga kamalaumon kon ang solusyon gilangkoban sa mga labing maayo nga mga desisyon sa iyang subtasks. Sa kini nga kaso, kini mao ang advisable sa paggamit sa dinamikong programming.

Ang ikaduha nga kabtangan sa mga problema, importante sa niini nga paagi, - sa usa ka gamay nga gidaghanon sa mga sub-mga buluhaton. Recursive nga solusyon sa mga problema sa paggamit sa sa mao usab nga nagsapaw-sapaw sub-problema, ang gidaghanon sa mga nga-agad sa gidak-on sa inisyal nga impormasyon. Ang tubag nga gitipigan sa usa ka espesyal nga lamesa, ang programa nagluwas panahon pinaagi sa paggamit sa niini nga data.

Ilabi na sa epektibo ang paggamit sa dinamikong programming sa diha nga ang tahas mao ang esensya nga gikinahanglan aron sa paghimo sa mga desisyon sa mga ang-ang. Pananglitan, tagda ang usa ka yano nga panig-ingnan sa problema sa puli ug pag-ayo sa mga ekipo. Ang ni-ingon sa pabrika paghulma machine alang sa produksyon sa ligid sa mao nga panahon sa paghimo sa ligid sa duha ka lain-laing mga mga porma. Sa panghitabo nga usa sa mga matang sa mapakyas, kini mao ang gikinahanglan nga sa disassemble sa makina. Kini mao ang masabtan nga usahay mas mapuslanon sa pag-ilis ug sa usa ka ikaduha nga porma aron sa disassemble sa makina sa kaso ug niini nga matang mahimong komplikadong sa sunod nga stage. Ilabi na tungod kay kini mas sayon sa pag-ilis sa duha nagtrabaho porma sa wala pa sila magsugod sa mapakyas. Dinamikong programming pamaagi motino sa labing maayo nga pamaagi sa butang sa mga puli sa mga matang, nga nagakuha sa ngadto sa asoy sa tanan nga mga butang: ang mga benepisyo sa padayon nga matang sa pagpahimulos, pagkawala sa machine downtime, ang gasto sa gilabay ligid ug daghan pa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ceb.delachieve.com. Theme powered by WordPress.