RačunalaProgramiranje

Dinamičko programiranje, osnovna načela

Za odabir optimalnog rješenja kada se vrši programiranje zadaci ponekad su potrebni za sortiranje velike količine kombinacija podataka koji učitava sjećanje na osobnom računalu. Takvi postupci uključuju, na primjer, metoda programiranje „podijeli pa vladaj”. U tom slučaju algoritam osigurava problema razdvajanja u zasebne manje podzadatke. Ova metoda se primjenjuje samo u onim slučajevima gdje se male podzadaci su međusobno neovisni. Kako bi izbjegli izvođenje nepotrebno raditi ako međuovisnih dijelova zadataka, koristi dinamičke metode programiranja predloženi američki R.Bellmanom u 50.

metoda

Dinamičko programiranje je odrediti optimalno rješenje za n-dimenzionalni problem, dijeljenje joj n odvojene faze. Svaki od njih je pod-zadatak s obzirom na jednu varijablu.

Glavna prednost ovog pristupa može se smatrati da su programeri koji su uključeni u jednodimenzionalnog problema optimizacije podzadaci umjesto n-dimenzionalni problem, a naš primarni cilj će se „odozdo prema gore”.

Preporučljivo je da se prijave dinamičko programiranje u onim slučajevima u kojima su međusobno pod-zadatke, dijele zajedničke modula. Algoritam donosi odluku svakog od podzadatke jednom, a odgovori uštedu obavlja se u posebnoj tablici. To omogućuje da ne izračunati odgovor kad se opet susreo s istim pod-zadatak.

Dinamičko programiranje zadatak rješava problem optimizacije. Autor ovog postupka formulirao R. Poslužitelj optimalnost principu: što je početno stanje svake od koraka i otopina je definirana u ovom koraku, sve sljedeće odabrati optimalnu u odnosu na stanje, koje prima sustav na kraju koraka.

Metoda poboljšava performanse zadataka riješenih pomoću varijante ili rekurzije.

Građevinska algoritam zadatak

Dinamičko programiranje algoritam uključuje izgradnju takve zadatke da zadatak tako da je podijeljen na dva ili više podzadatke svojoj rješenje sastoji se od optimalno rješenje za sve podzadatke, to uključuje. Nadalje, potrebno je napisati ponavljanja odnos, te izračunavanje optimalne vrijednosti parametara za zadatak kao cjelinu.

Ponekad, na 3. korak je zapamtiti neke dodatne popratne informacije o napretku svakog zadatka. To se zove povratna moždani udar.

prijava metoda

Dinamičko programiranje primjenjuje kada postoje dvije karakteristične značajke:

  • optimalan za podzadatke;
  • Prisutnost u problem preklapanja subproblems.

Rješavanje problema optimizacije po dinamičko programiranje, najprije morate opisati strukturu rješenja. Zadatak mora biti optimalna, ako je otopina sastavljena od najboljih odluka svojih podzadatke. U ovom slučaju, to je poželjno da koristite dinamičko programiranje.

Drugi vlasništvo problema, bitno u ovom postupku, - mali broj pod-zadatke. Rekurzivno rješenje problema koristeći iste preklapaju pod-problema, broj koji ovisi o veličini početne informacije. Odgovor je pohranjen u posebnu tablicu, program štedi vrijeme pomoću ove podatke.

Posebno učinkovit je korištenje dinamičkog programiranja, kada u suštini je potreban zadatak da donosi odluke u fazama. Na primjer, razmislite jednostavan primjer problema zamjena i popravak opreme. Recimo na tvornicu lijevanje stroj za proizvodnju guma u isto vrijeme napraviti guma u dvije različite oblike. U slučaju da je jedan od oblika ne uspije, potrebno je rastaviti stroj. Razumljivo je da se ponekad više isplativo zamijeniti i drugi oblik kako se demontira stroj u slučaju i ovaj oblik će biti neupotrebljiv u sljedećoj fazi. Pogotovo jer je lakše zamijeniti oboje rade oblik prije nego što počnete na propast. Dinamička metoda programiranja određuje najbolju strategiju po pitanju zamjene tih oblika, uzimajući u obzir sve čimbenike: Prednosti kontinuirane oblike iskorištavanja, gubitak stroja stanke, cijena odbačenih guma i još mnogo toga.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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