Komputer, Programming
Programming dinamis, prinsip dasar
Pikeun milih solusi optimal lamun ngajalankeun tugas programming kadang diperlukeun nyortir jumlahna ageung kombinasi data anu beban mémori tina komputer pribadi. métode misalna kaasup, upamana, metoda programming tina "ngabagi sarta aturan". Dina hal ieu algoritma nyadiakeun masalah separation kana subtasks leutik misah. Metoda ieu lumaku ngan dina eta kasus dimana subtasks leutik anu saling bebas. Ulah ngalakukeun pagawean teu perlu lamun silih gumantung antara sub-tugas, migunakeun métode programming dinamis diusulkeun Amérika R.Bellmanom dina 50an.
métode
programming dinamis anu nangtukeun solusi optimal dina masalah n-dimensi, babagi n hambalan misah nya. Unggal sahijina nyaeta sub-tugas nu aya kaitannana ka hiji variabel.
Kauntungan utama tina pendekatan ieu bisa dianggap yén pamekar aub dina masalah optimasi hiji-dimensi subtasks tinimbang hiji masalah n-dimensi, sarta obyektif primér urang bade "handap-up".
Éta sasaena panawaran programming dinamis dina eta kasus dimana sub-tugas anu sasambungan, nyaéta bagikeun modul umum. Algoritma nyadiakeun putusan unggal tina subtasks sakali, sarta réspon hemat anu dipigawé dina tabel husus. Ieu ngamungkinkeun teu ngitung jawaban nalika aranjeunna patepung deui jeung sub-tugas nu sami.
tugas programming dinamis solves masalah tina optimasi. Panulis metoda ieu ngarumuskeun ku R. Bellman optimality prinsip: naon teh kaayaan awal unggal léngkah jeung solusi didefinisikeun dina hambalan ieu, sakabéh di handap pikeun milih optimal dina hubungan jeung kaayaan, anu narima sistem teh di ahir hambalan.
métode ngaronjatkeun kinerja tugas direngsekeun ku cara maké varian, atawa recursion.
Algoritma tugas wangunan
Algoritma programming dinamis ngalibatkeun pangwangunan tugas sapertos nu tugas jadi dibagi jadi dua atawa leuwih subtasks kana solusi na diwangun ku hiji larutan optimal ka sadaya subtasks, éta ngawengku. Salajengna, perlu nulis hubungan kanceuh, sarta ngitung nilai parameter optimum keur tugas sakabéhna.
Sakapeung, dina hambalan 3 nyaeta ngapalkeun sababaraha émbaran tukang tambahan dina kamajuan unggal tugas. Ieu disebut stroke mulang.
metoda aplikasi
programming dinamis anu dilarapkeun nalika aya dua ciri ciri:
- optimal pikeun subtasks;
- Ayana dina masalah tindih subproblems.
Ngarengsekeun masalah optimasi ku programming dinamis, Anjeun mimitina kudu ngajelaskeun struktur solusi. tugas boga janten optimal lamun leyuran diwangun tina kaputusan best of subtasks na. Dina hal ieu, éta sasaena ngagunakeun programming dinamis.
Harta kadua masalah, nu penting dina metoda ieu, - sajumlah leutik sub-tugas. solusi Recursive tina masalah migunakeun tumpang tindih sub-masalah sami, jumlah nu gumantung kana ukuran tina informasi awal. jawaban nu disimpen dina méja husus, program ngaheéat waktos ku ngagunakeun data ieu.
Utamana mujarab nya éta ngagunakeun programming dinamis nalika tugas anu dasarna diperlukeun keur nyieun kaputusan dina tahap. Contona, anggap hiji conto basajan tina masalah ngagantian sarta perbaikan pakakas. Hayu urang nyebutkeun on pabrik mesin casting pikeun ngahasilkeun ban dina waktos anu sareng ngadamel ban dina dua bentuk béda. Dina acara anu salah sahiji bentuk gagal, perlu keur ngaleupas mesin. Éta kaharti nu sok leuwih nguntungkeun mun ngaganti sarta formulir kadua guna ngaleupas mesin bisi jeung formulir ieu bakal unworkable dina peringkat salajengna. Utamana saprak éta gampang ngaganti duanana bentuk gawe sateuacan aranjeunna mimiti gagal. Metoda programming dinamis nangtukeun strategi pangalusna dina masalah tina ngagantian bentuk ieu, nyokot kana akun sagala faktor: mangpaat bentuk neraskeun tina eksploitasi, leungitna downtime mesin, biaya ban dipiceun sareng nu sanesna.
Similar articles
Trending Now