ក្បួនដោះស្រាយការធ្វើបច្ចុប្បន្នភាព Dual Ductus

Anonim

មុនពេលអ្នកចាប់ផ្តើមអានអត្ថបទនេះយើងណែនាំអ្នកឱ្យស្គាល់ខ្លួនអ្នកជាមួយនឹងសម្ភារៈអំពីការគណនាផ្លូវដែលយោងទៅតាមក្បួនរបស់ Bellman-angorithm ។

ក្បួនដោះស្រាយបច្ចុប្បន្នភាពសាយភាយ (ការធ្វើឱ្យទាន់សម័យ angorithm -dual) គឺជាក្បួនដោះស្រាយមួយក្នុងចំណោមក្បួនដោះស្រាយពីរដែលបានពិភាក្សានៅទីនេះមានគោលបំណងពីការអនុវត្តនៅក្នុងបណ្តាញចែកចាយ។ វាមានលក្ខណៈប្លែកក្នុងនោះវាក៏ដកព័ត៌មានអំពីសមិទ្ធិផលនិងសណ្ឋានដីដែលមាននៅក្នុងស្វ័យប្រវត្តិកម្មចុងក្រោយនៃក្បួនដោះស្រាយនេះ។ ក្បួនដោះស្រាយផ្សេងទៀតដែលបានពិភាក្សានៅទីនេះបានពិភាក្សាអំពីការដកហូតព័ត៌មានតាមការសំរេចចិត្តរបស់ការអនុវត្តពិធីសារនេះហើយមិនចាត់ទុកទិដ្ឋភាពនេះនៃការងាររបស់ចំនុចក្បួនដោះស្រាយនៅក្នុងក្បួនដោះស្រាយដោយខ្លួនឯង។

នៅឆ្នាំ 1993 លោក Bellman-Ford និង Dijkstra ត្រូវបានអនុវត្តនៅពេលក្បួនដោះស្រាយដែលចែកចាយនៅក្នុងពិធីសារនាំផ្លូវជាច្រើន។ បទពិសោធន៏ទទួលបានលទ្ធផលនៃការអនុវត្តនិងការដាក់ពង្រាយលើកទី 2 នៃការស្រាវជ្រាវនិងការឆ្លុះបញ្ចាំងលើបញ្ហានៃបណ្តាញប្តូរបណ្តាញដែលនាំឱ្យមានរូបរាងរបស់វ៉ិចទ័រផ្លូវនិងភ្លោះ។

ចាប់តាំងពី dual ត្រូវបានរចនាឡើងជាក្បួនដោះស្រាយដែលបានចែកចាយវាជាការល្អបំផុតក្នុងការពិពណ៌នាអំពីការងាររបស់គាត់នៅលើបណ្តាញ។ ចំពោះគោលបំណងនេះតួលេខ 8 និង 9 ត្រូវបានប្រើ។ ដើម្បីពន្យល់ពីរឧទាហរណ៍នេះនឹងត្រូវបានតាមដាននៅក្នុងស្ទ្រីមទិសដៅនៃទិសដៅចំនួនបីហើយបន្ទាប់មកការផ្លាស់ប្តូរត្រូវបានដំណើរការនៅក្នុងរដ្ឋដែលអាចរកបានសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នា) សម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅដូចគ្នាសម្រាប់ធាតុទិសដៅតែមួយ។ ក្នុងឧទាហរណ៍ដំបូងករណីនេះនឹងត្រូវបានពិចារណានៅពេលមានផ្លូវជំនួសប៉ុន្តែមិនមានអ្នកជិតខាងខ្សែទឹកខាងក្រោមទេទីពីរនឹងពិចារណាករណីនេះនៅពេលមានផ្លូវជំនួសនិងអ្នកជិតខាងខាងក្រោម។

ក្នុងរូបភាពទី 8 ការសិក្សា D ពីចំណុចនៃទិដ្ឋភាព A:

  1. មួយរៀនពីរវិធីចំពោះឃ:
ក្បួនដោះស្រាយការធ្វើបច្ចុប្បន្នភាព Dual Ductus 21025_1
  1. A នឹងមិនស្គាល់ផ្លូវឆ្លងកាត់ខទេពីព្រោះខប្រើ A ដែលជាអ្នកស្នងតំណែងរបស់វា:
  2. បើប្រៀបធៀបផ្លូវដែលមានហើយជ្រើសរើសផ្លូវខ្លីបំផុតដោយគ្មានរង្វិលជុំ:
  3. ឆែកមើលផ្លូវដែលនៅសល់ដើម្បីកំណត់ថាតើមានពួកគេនៅខ្សែទឹកខាងក្រោមដែរឬទេ?

A ដឹងរឿងនេះពីព្រោះ C ប្រកាសពីផ្លូវទៅកាន់ឃជាមួយនឹងម៉ែត្រក្នុងស្រុករបស់ខ្លួនស្មើនឹង 3 ។

ថែរក្សាម៉ែត្រក្រសាលក្នុងតារាងក្នុងតារាងខាងលើរបស់វា។

ហេតុដូច្នេះហើយបានដឹងពីតម្លៃក្នុងស្រុកក្នុង C និងតម្លៃក្នុងស្រុកនៅក្នុង A.

  1. 3 (ថ្លៃដើមក្នុង C) = 3 (ថ្លៃដើមក្នុងមួយ) ដូច្នេះផ្លូវនេះអាចនឹងមានរង្វិលជុំ, C មិនពេញចិត្តលក្ខខណ្ឌនៃលទ្ធភាពនេះទេ។ C មិនត្រូវបានដាក់ស្លាកថាជាប្រទេសជិតខាងនៅខាងក្រោមនោះទេ។

ប្រទេសជិតខាងនៅខ្សែទឹកខាងក្រោមនៅពីរត្រូវបានគេហៅថាអ្នកស្នងអ្នកដែលអាចធ្វើបាន។ ឧបមាថាឆានែល [អេ, ម៉ោង] មិនដំណើរការទេ។ dual មិនពឹងផ្អែកលើការធ្វើឱ្យទាន់សម័យតាមកាលកំណត់ដូច្នេះវាមិនត្រឹមតែអាចរង់ចាំការធ្វើបច្ចុប្បន្នភាពផ្សេងទៀតជាមួយព័ត៌មានដែលអាចទុកចិត្តបានទេ។ ផ្ទុយទៅវិញត្រូវតែធ្វើតាមផ្លូវផ្សេង។ ដូច្នេះនេះគឺជាដំណើរការរាវរកការសាយភាយនៃផ្លូវជំនួស។ ប្រសិនបើឆានែល [A, h] មិនដំណើរការទេដោយពិចារណា D:

  1. ការត្រួតពិនិត្យតារាងក្នុងស្រុករបស់អ្នកសម្រាប់អ្នកជោគជ័យដែលអាចធ្វើបាន (ប្រទេសជិតខាងនៅខាងក្រោម) ។
  2. មិនមានអ្នកស្នងអ្នកដែលអាចធ្វើបានទេដូច្នេះត្រូវតែរកផ្លូវជំនួសដោយគ្មានរង្វិលជុំទៅឃ (ប្រសិនបើវាមាន) ។
  3. ផ្ញើសំណើរទៅអ្នកជិតខាងម្នាក់ៗដើម្បីកំណត់ថាតើមានផ្លូវជំនួសណាមួយដោយគ្មានរង្វិលជុំទៅ D.
  4. គ:
  5. ក្នុងខ:
  6. ចម្លើយទាំងនេះទទួលបានចម្លើយទាំងនេះ:

ក្នុងរូបភាពទី 9 ធាតុទិសដៅ (ឃ) ធាតុត្រូវបានផ្លាស់ប្តូរជាមួយក្រុមហ៊ុន H ទៅ E. នេះនឹងត្រូវបានប្រើក្នុងឧទាហរណ៍ទី 2 ។

ក្នុងឧទាហរណ៍នេះមានអ្នកស្នងតំណែងដែលអាចកើតមាន (អ្នកជិតខាងខាងក្រោម) ។

សិក្សាឃពីចំណុចនៃមើល A:

  1. មួយរៀនពីរវិធីចំពោះឃ:
  2. A នឹងមិនស្គាល់ផ្លូវណាមួយតាមរយៈខ:
  3. បើប្រៀបធៀបផ្លូវដែលមានហើយជ្រើសរើសផ្លូវខ្លីបំផុតដោយគ្មានរង្វិលជុំ:
  4. ឆែកមើលផ្លូវដែលនៅសល់ដើម្បីកំណត់ថាតើមានពួកគេនៅខ្សែទឹកខាងក្រោមដែរឬទេ?

ប្រសិនបើឆានែល [A, C] មិនដំណើរការទេដោយគ្រាន់តែពិចារណា:

  1. ការត្រួតពិនិត្យតារាងខាងលើរបស់វាសម្រាប់អ្នកស្នងតំណែងដែលអាចធ្វើបាន។
  2. អ្នកស្នងអ្នកជោគជ័យអាចឆ្លងកាត់បានតាមរយៈអេ។
  3. មួយប្តូរតារាងមូលដ្ឋានរបស់វានៅលើអេសដែលជាវិធីល្អបំផុត។
  4. ការធ្វើឱ្យទាន់សម័យទៅប្រទេសជិតខាងរបស់ខ្លួនដោយកត់សម្គាល់ថាថ្លៃដើមរបស់សមិទ្ធិផលរបស់វាបានផ្លាស់ប្តូរពី 3 ទៅ 4 ។

ដូចដែលអ្នកអាចមើលឃើញដំណើរការនៅពេលដែលមានអ្នកស្នងកាន់តែអាចកើតមានលឿននិងងាយស្រួលជាងដោយគ្មានវា។ នៅក្នុងបណ្តាញដែលពិធីការនាំផ្លូវត្រូវបានដាក់ពង្រាយដោយប្រើពីរ (ជាពិសេសអ៊ីយ៉ូដ) គោលបំណងនៃការរចនាដ៏សំខាន់មួយនឹងកំណត់បរិមាណនៃសំណើណាមួយដែលបានបង្កើតក្នុងអវត្តមានរបស់អ្នកស្នងតំណែងដែលអាចធ្វើបាន។ តំបន់ស្នើសុំគឺជាកត្តាកំណត់សំខាន់ដែលវិធីដោះស្រាយទ្វេត្រូវបានបញ្ចប់យ៉ាងឆាប់រហ័សហើយដូច្នេះតើបណ្តាញនេះបានផ្លាស់ប្តូរយ៉ាងដូចម្តេច។

រូបភាពទី 10 បង្ហាញពីម៉ាស៊ីនពីរដែលបានបញ្ចប់។

វត្ថុដែលមាននៅក្នុងផ្លូវកាន់តែអាក្រក់ (ការថយចុះនៃផ្លូវ) អាចជា:

  • ការបរាជ័យនៃបណ្តាញដែលបានភ្ជាប់ឬអ្នកជិតខាង
  • ការទទួលបានការធ្វើបច្ចុប្បន្នភាពសម្រាប់ផ្លូវដែលមានម៉ែត្រខ្ពស់
  • ទទួលបានសំណួរពីអ្នកស្នងបច្ចុប្បន្ន
  • ទទួលបានផ្លូវថ្មីពីអ្នកជិតខាង
  • អ្នកជិតខាងថ្មីម្នាក់ត្រូវបានរកឃើញក៏ដូចជាផ្លូវដែលវាអាចទទួលបាន
  • ទទួលបានសំណូមពរទាំងអស់ដែលបានផ្ញើទៅអ្នកជិតខាងនៅពេលដែលផ្លូវកាន់តែអាក្រក់ទៅ ៗ
ក្បួនដោះស្រាយការធ្វើបច្ចុប្បន្នភាព Dual Ductus 21025_2

អាន​បន្ថែម