ຄອມພິວເຕີດໍາເນີນໂຄງການ

ດໍາເນີນໂຄງການແບບເຄື່ອນໄຫວ, ບັນດາຫຼັກການພື້ນຖານ

ໃນການເລືອກເອົາການແກ້ໄຂທີ່ດີທີ່ສຸດໃນເວລາທີ່ປະຕິບັດວຽກງານດໍາເນີນໂຄງການແມ່ນບາງຄັ້ງຈໍາເປັນໃນການຈັດຮຽງປະລິມານຂະຫນາດໃຫຍ່ຂອງການປະສົມຂໍ້ມູນທີ່ໂຫລດຫນ່ວຍຄວາມຈໍາຂອງຄອມພິວເຕີສ່ວນບຸກຄົນໄດ້. ວິທີການດັ່ງກ່າວປະກອບມີ, ສໍາລັບການຍົກຕົວຢ່າງ, ວິທີການດໍາເນີນໂຄງການຂອງ "ດອກແລະກົດລະບຽບ". ໃນກໍລະນີນີ້ວິທີການທີ່ສະຫນອງບັນຫາແຍກຕ່າງຫາກເຂົ້າໄປໃນຂະຫນາດນ້ອຍກວ່າ subtasks ແຍກຕ່າງຫາກ. ວິທີການນີ້ແມ່ນສາມາດນໍາໃຊ້ພຽງແຕ່ໃນກໍລະນີທີ່ subtasks ຂະຫນາດນ້ອຍມີຄວາມເປັນເອກະລາດເຊິ່ງກັນແລະກັນ. ເພື່ອຫຼີກເວັ້ນການປະຕິບັດການເຮັດວຽກທີ່ບໍ່ຈໍາເປັນຖ້າຫາກວ່າອາໄສຍ່ອຍວຽກງານ, ການນໍາໃຊ້ວິທີການຄົ້ນຫາເນື້ອຫາເຫນີ American R.Bellmanom ໃນ 50s ໄດ້.

ວິທີການ

ດໍາເນີນໂຄງການການເຄື່ອນໄຫວແມ່ນເພື່ອກໍານົດການແກ້ໄຂທີ່ດີທີ່ສຸດບັນຫາ n ມິຕິລະດັບ, ການແລກປ່ຽນ n ໄລຍະແຍກຕ່າງຫາກຂອງນາງ. ພວກເຂົາແຕ່ລະແມ່ນເປັນວຽກງານຍ່ອຍດ້ວຍຄວາມນັບຖືໃຫ້ກັບຕົວແປຫນຶ່ງ.

ໄດ້ປະໂຫຍດຕົ້ນຕໍຂອງວິທີການນີ້ສາມາດໄດ້ຮັບການພິຈາລະນາວ່າການພັດທະນາທີ່ກ່ຽວຂ້ອງໃນບັນຫາທີ່ດີທີ່ສຸດມີພຽງຂະຫນາດ subtasks ແທນທີ່ຈະເປັນບັນຫາ n ມິຕິລະດັບ, ແລະຈຸດປະສົງຕົ້ນຕໍຂອງພວກເຮົາແມ່ນເພື່ອ "ທາງລຸ່ມຂຶ້ນ".

ຈະແນະນໍາໃຫ້ສະຫມັກຂໍເອົາການຂຽນໂປຣແກຣມແບບເຄື່ອນໄຫວໃນກໍລະນີທີ່, ວຽກງານອະນຸມີຄວາມສໍາພັນ, ie ແລກປ່ຽນລະຫັດທົ່ວໄປ. ຂັ້ນຕອນວິທີໃຫ້ການຕັດສິນໃຈຂອງແຕ່ລະ subtasks ໄດ້ຄັ້ງດຽວ, ແລະການຕອບສະຫນອງການປະຫຍັດແມ່ນປະຕິບັດໃນຕາຕະລາງການພິເສດ. ນີ້ເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະບໍ່ຄິດໄລ່ຄໍາຕອບໃນເວລາທີ່ພວກເຂົາເຈົ້າໄດ້ພົບອີກເທື່ອຫນຶ່ງກັບຄືກັນຍ່ອຍຫນ້າວຽກ.

ວຽກງານການຂຽນໂປຣແກຣມແບບເຄື່ອນໄຫວ solves ບັນຫາ ຂອງທີ່ດີທີ່ສຸດ. ຜູ້ຂຽນຂອງວິທີການນີ້ໄດ້ສ້າງໂດຍ R. Bellman ດີທີ່ສຸດຂອງຫຼັກການ: ສິ່ງທີ່ຢູ່ໃນຖານະເລີ່ມຕົ້ນຂອງແຕ່ລະຂັ້ນຕອນແລະແກ້ໄຂທີ່ກໍາຫນົດໄວ້ໃນຂັ້ນຕອນນີ້, ທັງຫມົດຂອງດັ່ງຕໍ່ໄປນີ້ທີ່ຈະເລືອກເອົາທີ່ດີທີ່ສຸດທີ່ກ່ຽວຂ້ອງກັບສະຖານະການ, ທີ່ໄດ້ຮັບລະບົບຢູ່ໃນຕອນທ້າຍຂອງຂັ້ນຕອນການ.

ວິທີການປັບປຸງປະສິດທິພາບຂອງວຽກງານການແກ້ໄຂໂດຍວິທີການຂອງ variants, ຫຼື recursion ໄດ້.

ຂັ້ນຕອນວິທີວຽກງານກໍ່ສ້າງ

ຂັ້ນຕອນວິທີການຂຽນໂປຣແກຣມແບບເຄື່ອນໄຫວກ່ຽວຂ້ອງກັບການກໍ່ສ້າງຂອງວຽກງານດັ່ງກ່າວວ່າວຽກນັ້ນແມ່ນແບ່ງອອກເປັນສອງຫຼືຫຼາຍກວ່ານັ້ນ subtasks ກັບການແກ້ໄຂຂອງຕົນແມ່ນປະກອບຂອງການແກ້ໄຂທີ່ດີທີ່ສຸດທີ່ຈະ subtasks ທັງຫມົດ, ມັນປະກອບດ້ວຍ. ນອກຈາກນັ້ນ, ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະຂຽນກ່ຽວຂ້ອງປະຕິບັດ, ແລະການຄິດໄລ່ຂອງຄ່າພາລາມິເຕີທີ່ເຫມາະສົມສໍາລັບຫນ້າວຽກທັງຫມົດ.

ບາງຄັ້ງ, ໃນຂັ້ນຕອນທີ່ 3 ແມ່ນເພື່ອຈໍາຂໍ້ມູນພື້ນຖານບາງເພີ່ມເຕີມກ່ຽວກັບຄວາມຄືບຫນ້າຂອງແຕ່ລະຫນ້າວຽກ. ອັນນີ້ເອີ້ນວ່າເສັ້ນເລືອດຕັນໃນການກັບຄືນ.

ຄໍາຮ້ອງສະຫມັກວິທີການ

ຄົ້ນຫາເນື້ອຫາໄດ້ຖືກນໍາໃຊ້ໃນເວລາທີ່ມີສອງຄຸນນະສົມບັດລັກສະນະ:

  • ທີ່ດີທີ່ສຸດສໍາລັບ subtasks;
  • ມີໃນບັນຫາຂອງ overlapping subproblems ໄດ້.

ແກ້ໄຂບັນຫາທີ່ດີທີ່ສຸດໂດຍການດໍາເນີນໂຄງການເຄື່ອນໄຫວ, ທ່ານທໍາອິດທີ່ຈໍາເປັນຕ້ອງໄດ້ອະທິບາຍໂຄງປະກອບການຂອງການແກ້ໄຂໄດ້. ວຽກງານດັ່ງກ່າວໄດ້ເປັນທີ່ດີທີ່ຖ້າຫາກວ່າການແກ້ໄຂແມ່ນປະກອບດ້ວຍການຕັດສິນໃຈທີ່ດີທີ່ສຸດຂອງ subtasks ຂອງຕົນ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ມັນເປັນການສົມຄວນທີ່ຈະໃຊ້ດໍາເນີນໂຄງການເຄື່ອນໄຫວ.

ຄັ້ງທີສອງຄຸນສົມບັດຂອງບັນຫາ, ທີ່ສໍາຄັນໃນວິທີການດັ່ງກ່າວນີ້, - ຈໍານວນຂະຫນາດນ້ອຍຂອງວຽກງານການຍ່ອຍ. ແກ້ໄຂຊ້ໍາຂອງບັນຫາການນໍາໃຊ້ຄືກັນ overlapping ຍ່ອຍບັນຫາ, ຈໍານວນຂອງທີ່ຂຶ້ນກັບຂະຫນາດຂອງຂໍ້ມູນຂ່າວສານໃນເບື້ອງຕົ້ນໄດ້. ຄໍາຕອບແມ່ນຖືກເກັບໄວ້ໃນຕາຕະລາງການພິເສດ, ໂຄງການປະຫຍັດເວລາໂດຍການນໍາໃຊ້ຂໍ້ມູນນີ້.

ປະສິດທິພາບໂດຍສະເພາະແມ່ນການນໍາໃຊ້ຂອງດໍາເນີນໂຄງການເຄື່ອນໄຫວໃນເວລາທີ່ວຽກງານທີ່ຈໍາເປັນສິ່ງຈໍາເປັນເພື່ອເຮັດໃຫ້ການຕັດສິນໃຈໃນໄລຍະ. ສໍາລັບຕົວຢ່າງ, ພິຈາລະນາເປັນຕົວຢ່າງທີ່ງ່າຍດາຍຂອງບັນຫາຂອງການທົດແທນແລະສ້ອມແປງເຄື່ອງຈັກ. ສົມມຸດວ່າກ່ຽວກັບໂຮງງານຜະລິດເຄື່ອງແມ່ພິມສໍາລັບສໍາລັບການຜະລິດຂອງເມື່ອຍໄດ້ໃນເວລາດຽວກັນເຮັດໃຫ້ຢາງໃນສອງຮູບແບບທີ່ແຕກຕ່າງກັນ. ໃນກໍລະນີທີ່ຫນຶ່ງໃນຮູບແບບທີ່ບໍ່ສາມາດ, ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະ disassemble ເຄື່ອງໄດ້. ມັນເປັນເຂົ້າໃຈໄດ້ວ່າບາງຄັ້ງກໍາໄລຫຼາຍກວ່າທີ່ຈະທົດແທນການແລະຮູບແບບທີສອງເພື່ອ disassemble ເຄື່ອງໃນກໍລະນີແລະຮູບແບບນີ້ຈະ unworkable ໃນຂັ້ນຕອນຂອງການຕໍ່ໄປ. ໂດຍສະເພາະນັບຕັ້ງແຕ່ມັນເປັນງ່າຍຕໍ່ການທົດແທນການທັງຮູບຮ່າງເຮັດວຽກກ່ອນທີ່ພວກເຂົາເລີ່ມຕົ້ນທີ່ຈະຫຼົ້ມເຫຼວ. ວິທີການດໍາເນີນໂຄງການເຄື່ອນໄຫວຕັດສິນກໍານົດຍຸດທະສາດທີ່ດີທີ່ສຸດໃນເລື່ອງຂອງການທົດແທນຂອງຮູບແບບການເຫຼົ່ານີ້ໄດ້, ການຄໍານຶງເຖິງປັດໄຈທັງຫມົດ: ຜົນປະໂຫຍດຂອງຮູບແບບຢ່າງຕໍ່ເນື່ອງຂອງການຂຸດຄົ້ນ, ການສູນເສຍຂອງການຢຸດເຮັດວຽກເຄື່ອງ, ຄ່າໃຊ້ຈ່າຍຂອງຢາງທິ້ງແລະອື່ນ ໆ .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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