Komputiloj, Programado
Dinamika programado, la bazaj principoj
Por elekti la optimuman solvon kiam plenumante la programado taskoj estas foje postulata por ordigi grandajn kvantojn de datumoj kombinaĵoj kiuj ŝarĝas la memoron de la persona komputilo. Tiaj metodoj inkluzivas, ekzemple, la programado metodo de "dividi por regulo". En ĉi tiu kazo la algoritmo provizas apartiga problemon en apartaj malgrandaj subtareas. Tiu metodo estas aplikebla nur en tiuj kazoj kie malgrandaj subtareas estas reciproke sendependa. Eviti elfaranta nenecesa laboro se interdependaj sub-taskoj, uzas dinamikan programadon metodo proponita usona R.Bellmanom en la 50s.
la metodo
Dinamika programado estas determini la optimuman solvon la n-dimensia problemo, dividi ŝin n apartaj stadioj. Ĉiu el ili estas sub-tasko kun respekto al unu variablo.
La ĉefa avantaĝo de tiu aliro povas konsideri ke la programistoj implikita en la unu-dimensia optimumiga problemo subtareas anstataŭ n-dimensia problemo, kaj nia ĉefa celo estas tuj "malsupre-supren".
Estas rekomendinde apliki dinamika programado en tiuj kazoj kie la sub-taskoj estas interrilatigitaj, tio kunhavigi komuna moduloj. La algoritmo provizas la decido de ĉiu el la subtareas unufoje, kaj ŝparado respondojn estas farita en speciala tablo. Tiu ebligas ne kalkuli respondon, kiam ili renkontiĝis denove kun la sama sub-tasko.
Dinamika programado tasko solvas la problemon de optimización. La aŭtoro de ĉi tiu metodo estis formulita de R. Bellman optimumecon principo: kio ajn estas la komenca stato de ĉiu el la ŝtupoj kaj la solvo difinitaj en ĉi tiu paŝo, ĉiu el la sekvaj elekti la optimuma en rilato al la ŝtato, kiu ricevas la sistemo fine de paŝo.
La metodo plibonigas la okupas de la taskoj solvita per variaĵoj, aŭ rekursio.
Konstruaĵo tasko algoritmo
Dinamika programado algoritmo implikas la konstruo de tiaj taskoj ke la tasko tiel estas dividita en du aŭ pli subtareas al ĝia solvo konsistas el optimuman solvon al ĉiuj subtareas, ĝi inkludas. Plue, estas necese skribi rekursieca rilato, kaj kalkulante la optimuma parametron valoroj por la tasko kiel tuto.
Kelkfoje, en la 3-a ŝtupo estas parkerigi iuj aldonaj fono informoj pri la progreso de ĉiu tasko. Ĉi tio nomas la reveno apopleksio.
apliko metodo
Dinamika programado aplikas kiam ekzistas du karakterizaj trajtoj:
- optimuma por subtareas;
- ĉeesto en la problemo de parte kovranta subproblemo.
Solvanta la optimumiga problemo de dinamika programado, vi unue bezonas por priskribi la strukturon de la solvo. La tasko devas esti optimuma se la solvo konsistas el la plej bonaj decidoj de ĝia subtareas. En ĉi tiu kazo, estas rekomendinde uzi dinamika programado.
La dua posedaĵo de la problemo, esenca en ĉi tiu metodo, - malmulto de sub-taskojn. Rekursia solvo de la problemo uzante la sama parte kovranta sub-problemojn, la nombro de kiuj dependas de la grandeco de la komencan informon. La respondo estas stokita en speciala tablo, la programo ŝparas tempon uzante tiun datumon.
Precipe efika estas la uzo de dinamika programado kiam la tasko estas esence bezonata por fari decidojn en stadioj. Ekzemple, konsideri simpla ekzemplo de la problemo de anstataŭigo kaj riparo de ekipaĵo. Imagu ke en la casting maŝino fabriko por la produktado de pneŭoj samtempe fari la pneŭo en du malsamaj formoj. En la okazaĵo ke unu el la formoj malsukcesas, necesas malmunti la maŝino. Estas komprenebla ke kelkfoje pli profita por anstataŭigi kaj dua formo por malmunti la maŝino en kazo kaj ĉi formularo estos pro tro en la sekva fazo. Precipe ĉar ĝi estas pli facile anstataŭi ambaŭ laborante formo antaŭ ol ili komencas malsukcesi. Dinamika programado metodo determinas la plej bonan strategion en la afero de la anstataŭigo de tiuj formoj, konsiderante ĉiuj faktoroj: la avantaĝoj de daŭra formoj de ekspluatado, perdo de maŝino malfunkcio, la kosto de forĵetita pneŭoj kaj pli.
Similar articles
Trending Now