সুপার মারিও এনপি মধ্যে প্রবাহিত?


15

সর্বাধিক-প্রবাহ সমস্যার একটি শাস্ত্রীয় বর্ধন হ'ল "সময়ের সাথে সর্বাধিক প্রবাহ" সমস্যা: আপনাকে একটি ডিগ্রাফ দেওয়া হয়, যার দুটি নোড উত্স এবং সিঙ্ক হিসাবে পৃথক করা হয়, যেখানে প্রতিটি চাপে দুটি প্যারামিটার থাকে, প্রতি ক্ষমতা ধারণ ক্ষমতা ইউনাইট-সময় এবং একটি বিলম্ব। আপনি একটি সময় দিগন্ত দেওয়া হয়টি। লক্ষ্যটি হ'ল সময়ের সাথে সাথে একটি প্রবাহ গণনা করা যা সময় থেকে উত্স থেকে সিংকে সর্বাধিক পরিমাণে উপাদান পায়টি। সর্বনিম্ন সময়ে সর্বাধিক মানের একটি প্রবাহকে ন্যূনতম ব্যয় সর্বাধিক প্রবাহে চালাক ধ্রুপদী হ্রাস দ্বারা গণনা করা যেতে পারে।

আমি এই মডেলটিতে প্রসারিত করতে আগ্রহী যেখানে প্রান্তগুলির তৃতীয় "লাইফ-স্প্যান" প্যারামিটার রয়েছে। যদি একটি চাপের আয়ু থাকে, এবং টি আর্কিটিক প্রবাহটি আর্কের মাধ্যমে ইতিবাচক প্রবাহ প্রেরণ করা হয়, তারপরে আমরা সময়কে চাপটি ধ্বংস করি টি+ +। আপনি এটিকে সুপার মারিও ব্রাদার্সের প্ল্যাটফর্মগুলির মতো ভাবতে পারেন যা সেগুলি থেকে ওঠার পরে অবিলম্বে পড়ে যায় / ধ্বংস হয়ে যায়, বা আপনি এগুলি প্রান্তগুলি পাওয়ার জন্য প্রয়োজনীয় ব্যাটারি হিসাবে ভাবতে পারেন, যাগুলি চালু করার পরে বন্ধ করা যায় না which । ( সম্পাদনা :) সিদ্ধান্তের সমস্যাটি হ'ল, যখন একটি প্রবাহের মানকেও নিম্ন সীমা দেওয়া হয়বি, সময় সময় দিগন্তের উপরের বাউন্ড এবং প্রবাহের মান নিম্ন সীমা উভয়ই কোনও ফ্লো মিটিংয়ের সময় নির্ধারণ করতে পারে কিনা।

এখন পর্যন্ত আমি দেখতে পাচ্ছি যে এই সমস্যাটি দৃ strongly়ভাবে এনপি-হার্ড (3-পার্টিশনের মাধ্যমে)। তবে, আমি আসলে জানি না এটি এনপিতে আছে কিনা: সমাধানটি নিখুঁতভাবে প্রকাশ করার কোনও গ্যারান্টি আছে কি? শাস্ত্রীয় সংস্করণে, এই সমস্যাটি ছড়িয়ে দেওয়ার জন্য কিছু বিশেষ ধরণের অনুকূল প্রবাহ ব্যবহৃত হয়।

দ্রষ্টব্য: উপরের মডেলটি একটু অপ্রকাশিত, যেহেতু আপনি নোডগুলিতে প্রবাহের স্টকপাইলিংকে মঞ্জুরি দিতে বা বঞ্চিত করতে পারেন এবং আপনার কাছে একটি পৃথক সময় মডেল বা একটি অবিচ্ছিন্ন মডেল থাকতে পারে। এই মডেলগুলির যে কোনওটির জন্য প্রশ্ন সমাধান করা দুর্দান্ত।


1
আমি নিশ্চিত নই যে আমি বুঝেছি. নির্দিষ্ট প্রবাহের পরিকল্পনাটি নিখুঁতভাবে প্রকাশ করতে এবং পলি সময়ে মোট ফ্লো কমপক্ষে এফ হয় তা যাচাই করতে কেন সমস্যা হচ্ছে?
সুরেশ ভেঙ্কট

3
আপনি কীভাবে প্রমাণ করতে পারবেন যে কোনও অপ্টিমাইজেশন সমস্যার আউটপুট, যার আউটপুট একটি সময়স্রোত প্রবাহ, বহু সময়ের মধ্যে অনুকূলতার জন্য পরীক্ষা করা যায়। তবে, প্রায়শই একজন দেখায় যে কেবল হ্যাঁ / কোনও উত্তর নেই এমন সিদ্ধান্তের সমস্যাগুলি এনপিতে রয়েছে এবং প্রবাহের মতো কিছু কার্য সর্বাধিকতর করে তোলে এমন অপ্টিমাইজেশন সমস্যাগুলি সাধারণত ইনপুটটিতে নিম্ন সীমা মান বি যুক্ত করে সিদ্ধান্ত সমস্যায় পরিণত হয় এবং সিদ্ধান্তের সমস্যা হয়ে যায় "কমপক্ষে বি এর সাথে কোনও সমাধান আছে?"
andy_fingerhut

সুরেশ: পৃথক মডেলে বলুন, একটি প্রবাহের পরিকল্পনাটি প্রকাশ করার প্রাকৃতিক উপায় লাগে takes টিপ্রতিটি আর্কের জন্য পূর্ণসংখ্যা, তবে এটি বহুবর্ষীয় নয়, এটি ইনপুট আকারে কেবলমাত্র সিউডো-বহুতোষ। অবিচ্ছিন্ন মডেলে একইভাবে আমি কীভাবে এটি সংকোচ করতে দেখছি না।
daveagp

অ্যান্ডি: আপনি সঠিক, আনুষ্ঠানিক ভাষায় এটি একটি সময় দিগন্তের সাথে সাথে আরও কম দামের মান রেখে সিদ্ধান্তগত সমস্যা হিসাবে বর্ণনা করা আমার পক্ষে ভাল, তবে এটি এমন একটি বিষয় যার জন্য আমরা এটি জিজ্ঞাসা করতে পারি যে এটি এনপি-র মধ্যে রয়েছে কিনা।
daveagp

1
@ ডেভাগপ: আপনি কি পিএসপিএসিই-কঠোরতা চেষ্টা করেছেন, উদাহরণস্বরূপ আপনার সমস্যার কিউবিএফ হ্রাস করতে?
ইয়োশিও ওকামোটো

উত্তর:


13

এটি অনেক দিন হয়েছে তবে আমি নিশ্চিত যে এই সমস্যাটি পি তে রয়েছে pretty

আমি 1995 এ সম্পর্কে আমার পিএইচডি গবেষণামূলক প্রবন্ধটি লিখেছিলাম। ব্রুস হপ্পের "দক্ষ ডায়নামিক নেটওয়ার্ক ফ্লো অ্যালগরিদম" দেখুন কর্নেল সিএস বিভাগে জমা দেওয়া। অনলাইন http://dspace.library.cornell.edu/bitstream/1813/7181/1/95-1524.pdf এ

"নশ্বর প্রান্ত" সম্পর্কে অধ্যায় 8 "এক্সটেনশনগুলি" বিভাগ 8.1 দেখুন


3
"এটি একটি অন্ধকার এবং ঝড়ো রাত ছিল J জ্যাক তার কেবিনে অবিচল ছিল - পেট ব্যতীত গতিহীন, যা তার পাটে পাগল কার্নিভাল যাত্রার মতো জ্বলছিল ..." (পৃষ্ঠা Xiii, যেখানে লেখক ব্যবহারিক প্রয়োগ সম্পর্কে আলোচনা করেছেন)।
নিল ইয়ং

সুন্দর উক্তি, নিল! :) বিটিডাব্লু ডেভ্যাগপ সিদ্ধান্তের প্রশ্নের উত্তর দেয় এমন "প্রবাহ" সংরক্ষণের জন্য সিউডো-বহুবচনীয় স্থানের প্রয়োজন সম্পর্কে একটি ভাল বক্তব্য রাখে। কীভাবে কেবলমাত্র সর্বোত্তম প্রবাহ খুঁজে পাবেন তা নয় তবে পিতে যে প্রবাহটি উপস্থাপন করা হয় তা আমার গবেষণার 1-7 অধ্যায়
ব্রুস হপ্প

অসাধারণ! অবশেষে আমি এই সব পড়েছি। একবার আমরা প্রথমবারের প্রবাহটি একটি প্রান্তকে আঘাত করি, ফলে প্রারম্ভিক এবং শেষ সময়গুলির সাথে নেটওয়ার্কের সম্ভাব্যতা প্রমাণ করা হয় পি (হোল্ডওভারের অনুমোদিত বলে ধরে নেওয়া), এবং সুতরাং মূল সমস্যাটি এনপিতে থাকে: আমাদের বহুপদী আকারের শংসাপত্রের জন্য সূচনার সময়টি তালিকাভুক্ত করে প্রতিটি প্রান্ত সুপার মারিও সুতরাং NP- সম্পূর্ণ প্রবাহিত। এলোমেলো প্রশ্ন: হোল্ডওভার নিষিদ্ধ করা কি কিছু পরিবর্তন করে? একটি শালীন আনুমানিক অ্যালগরিদম আছে?
ডেভ্যাগপ

2

সম্পাদনা: উত্তরটি ভুল। আমি (নির্বোধ) অন্তর্নিহিত ধারণাটি তৈরি করেছি যে যখন কোনও পাথ-প্রবাহ যখন সময় শুরু হয় এবং সময় t এ শেষ হয় এবং প্রান্ত ই এর মধ্য দিয়ে যায় তখন এটি এই সময়ের জন্য প্রান্ত ই বাধা দেয়। যাইহোক, এই সত্য নয়। দেখা *.

দ্রষ্টব্য: সম্ভবত এই পদ্ধতির অযথা জটিল বা ভুল। যদিও আমি যাচাই করার চেষ্টা করেছি এবং সাবধানে এটি লিখেছি - আমি এতে প্রচুর পরিমাণে সময় ব্যয় করি না।

ধরে নেওয়া 'স্টকপাইলিং' অনুমোদিত নয় যেমন প্রবাহটি তাত্ক্ষণিকভাবে স্থানান্তর করতে হবে। দিনমি প্রান্ত সংখ্যা এবং এনইনপুট দৈর্ঘ্য। আমি ক্রমাগত বা বিচ্ছিন্ন সময় উল্লেখ করিনি, যেহেতু আমি এটি বিবেচনায় নিই না। এটি বিবিধ চিন্তার জন্য কাজ করা উচিত, ক্রমাগত আমি নিশ্চিত নোট।

তারপরে, আমরা উত্স থেকে ডুবে যাওয়ার জন্য "পথ-প্রবাহ" একটি সেট হিসাবে সমাধানটিকে বর্ণনা করতে পারি। একটি পথ প্রবাহ এক চতুর্থাংশ হয়(পি,গুলি,একটি,R) যা নিম্নলিখিতটি নিয়ে গঠিত: একটি সরল পথ পিউত্স থেকে ডুবে; পথ-প্রবাহের শুরুর সময়গুলি; পথ দিয়ে প্রবাহের পরিমাণএকটি; থ্রুপুট হারR

একটি সেট একটি সেট দেওয়া যাক এফপথ প্রবাহের। এই পথ-প্রবাহগুলির দ্বারা প্রদত্ত সমাধানটি বহু-কালীন সময়ে সঠিক কিনা তা আমরা যাচাই করতে পারি|এফ| এবং এন:

  • প্রতিটি প্রান্তের জন্য এবং সময়ের একটি মুহূর্ত টি, সমস্ত পাথ-প্রবাহের উপর দিয়ে যাওয়ার থ্রুপুট হার যুক্ত করুন এ সময় টি। প্রতিটি পাথ-প্রবাহের শুরু এবং শেষ সময় থাকে, সুতরাং আমাদের কেবল সেই মুহুর্তগুলি বিবেচনা করতে হবে যখন কোনও পথ-প্রবাহ শুরু হয় বা শেষ হয় (এই মুহুর্তগুলির মধ্যে প্রান্তের ওপারে যাওয়া পথের প্রবাহের সাথে কিছুই পরিবর্তন হয় না between
  • প্রতিটি পথ-প্রবাহের জন্য আমরা যাচাই করতে পারি যে এটির সমস্ত প্রবাহ সময়ের আগে ডুবে এসেছিল কিনা টি
  • প্রতিটি প্রান্তের জন্য আমরা যাচাই করতে পারি যে কোনও পথ-প্রবাহটি ধ্বংস হয়ে যাওয়ার পরে চলে কিনা।
  • প্রবাহের নিম্ন সীমা বি প্রবাহের পথগুলির প্রবাহের পরিমাণ যুক্ত করে আমরা কেবল যাচাই করতে পারি।

এখন, আমাদের 'স্রেফ' দেখানো দরকার যে পথের প্রবাহগুলির সংখ্যাটি বহুবচনীয় এন

প্রদত্ত সমাধানের জন্য আমরা নির্ধারণ করতে পারি যে কোনও প্রবাহ কোনও প্রান্তটি কেটে গেছে এবং যখন প্রান্তটি বিনষ্ট হয়েছিল। এটি একটি সমতুল্য সমাধান সহ একটি সমস্যায় রূপান্তর করুন: এটি যখন ব্যবহার করা যেতে পারে এবং কখন না - প্রতিটি প্রান্তের কঠোর সীমা রয়েছে - একটি শুরু এবং শেষ সময়। দিন{টি1,,টি} এই সমস্ত সময়ের সেট বোঝাও।

কিছু অ-কমপ্যাক্ট সমাধান এবং (প্রাথমিকভাবে) পথ-প্রবাহের একটি খালি সেট বিবেচনা করুন। ধারণাটি হ'ল আমরা পুনরুক্তভাবে অ-কমপ্যাক্ট সমাধানটিতে একটি পথ-প্রবাহ খুঁজে পাই, এটিকে সরিয়ে ফেলা এবং আমাদের পাথ-প্রবাহের সেটে সংরক্ষণ করি।

এর মধ্য দিয়ে শুরু এবং শেষ হওয়া পথগুলি প্রবাহগুলি সন্ধান করুন টিআমি এবং টি, আমি< তবে কারও মধ্যে শেষ হয় না টিপি এবং টিকুই যেমন যে [টিপি,টিকুই][টিআমি,টি]। দিনএফআমি, এর মধ্যে পথের প্রবাহের সেটকে বোঝান টি এবং টি উপরে বর্ণিত হিসাবে বৈশিষ্ট্য সঙ্গে।

ধরে নিন যে আমরা এর চেয়ে ছোট ছোট ব্যবধানের জন্য ইতিমধ্যে সমস্ত পথ-প্রবাহ সরিয়ে ফেলেছি [আমি,]। লোভজনকভাবে এমন পথ-প্রবাহগুলি সন্ধান করুন যা শুরু এবং শেষ হয়[টিআমি,টি]। যখন আমরা একটি খুঁজে পাই, সমাধান থেকে এই প্রবাহটি সরিয়ে ফেলুন এবং সেই অনুসারে উল্লম্বের মাধ্যমে আউটপুট হারগুলি এবং উত্স থেকে প্রবাহের পরিমাণটিও ডুবতে সামঞ্জস্য করুন। এই পথ-প্রবাহের জন্য আমরা ইনপুটটি সর্বাধিক করি। এর অর্থ হ'ল কমপক্ষে একটি প্রান্তের জন্য আমরা এটি সর্বাধিক থ্রুপুট হারে পৌঁছেছি বা এই পথ-প্রবাহকে সরিয়ে দেওয়ার পরে এই প্রান্তে আর কোনও প্রবাহ নেই। নোট করুন যে এটি পিরিয়ডের জন্য রয়েছে[টিআমি+ +1,টি-1]। উভয় ক্ষেত্রেই, এই প্রান্তটি দিয়ে আর কোনও প্রবাহ যায় না এবং আমরা এটি উপসংহার করতে পারি|এফগুলি,টি|মি

(*) পূর্ববর্তী দাবি সত্য কেন? ঠিক আছে, অন্য প্রতিটি পথ প্রবাহিতএফটিআমি,টি আগে শুরু টিআমি+ +1 এবং পরে শেষ হয় টি-1। অতএব, তারা অবশ্যই একটি নির্দিষ্ট প্রান্ত ব্যবহার করবে এমন সময় অবশ্যই আবশ্যক। যেহেতু থ্রুটপুটটি পথের প্রবাহের জন্য সর্বাধিক করা হয়েছে, তাই প্রান্তটি অবশ্যই শক্ত যেখানে রয়েছে edge

এই থেকে যে অনুসরণ করে Σআমি,[]|এফআমি,|মি3 কিছু ধ্রুবক জন্য এবং দাবি এটি এনপি-র অনুসরণ করে।


আমার কাছে পচা বাউন্ডটি ত্রুটিযুক্ত মনে হচ্ছে, আমি একটি চিত্রণমূলক পাল্টা উদাহরণ দেওয়ার চেষ্টা করব। ধরা যাক নেটওয়ার্কটি কেবলমাত্র একটি উত্স-> সক্ষমতা 100 এর ডুবন্ত প্রান্ত, দেরি 0, আয়ু 100 [1, 2) এ 2 হার, ইত্যাদির হারে [99, 100) এ 100 রেট পর্যন্ত। যে কোনও পচনের প্রয়োজন> = 100 টি পাথ-প্রবাহ যা আপনার দাবির সাথে বিরোধী তা বোঝার সাথে সাথে। আমার উল্লেখ করা উচিত যে ফোর্ড এবং ফুলকারসন একটি স্বেচ্ছাসেবীর নয়, নির্দিষ্ট ধরণের অনুকূল সমাধান বিবেচনা করে তাদের শাস্ত্রীয় সমাধানে (জীবনকাল ব্যতীত) এই বাধা এড়ান।
daveagp

প্রবাহের 'আজীবন' সর্বাধিকীকরণের মাধ্যমে সম্ভবত এটি এড়ানো যেতে পারে, তবে প্রুফের আরও একটি সমস্যা রয়েছে, আমি এটিকে পরিষ্কার করার জন্য এটি সম্পাদনা করেছি।
রুব

1

আমি এটি যেভাবে বুঝতে পেরেছি, আপনার প্রতি চাপ খালি কেবল একটি সংখ্যা সংরক্ষণ করতে হবে, তাত্ক্ষণিকভাবে চাপটি দিয়ে প্রবাহ প্রেরণ করা শুরু হবে represent এটি ধরে নেওয়া হচ্ছে যে এর পরে, চাপটি অকেজো হয়ে গেছে। যদি অন্যথায়, চাপটি ব্যবহার বন্ধ হয়ে যাওয়ার পরে আবার ব্যবহার করা যেতে পারে, তবে সময়ের সাথে সাথে সর্বাধিক প্রবাহের সমাধানগুলির কাছে ইচ্ছামত সমাধান হওয়া উচিত (যেহেতু প্রবাহটি নির্বিচারে অল্প সময়ের জন্য প্রেরণ বন্ধ করা যেতে পারে এবং আবার পাম্প করা শুরু হবে) )।


আপনার দাবি কী তা আমি বুঝতে পারি না।
সোসোশি ইতো

আমি এটা সঠিক মনে করি না। উদাহরণস্বরূপ, তিনটি নোড, উত্স গুলি, টার্মিনাল টি এবং অন্য নোড ভি সহ তিনটি আর্ক এ 1 = (গুলি, ভি), এ 2 = (এস, ভি), এ 3 = (ভি, টি) সহ একটি নেটওয়ার্ক কল্পনা করুন। আরসগুলির ধারণক্ষমতা সমস্ত 1, এবং ভ্রমণের সময়গুলি এ 1 এবং এ 3 এর জন্য 0 এবং এ 2 এর জন্য 100 নির্ধারণ করা হয়েছে। লাইফ-স্প্যানস এ 1 এর জন্য 1 এবং এ 2 এবং এ 3 এর জন্য 1000। তারপরে, 0 সময় 1 জন a1 এবং a3 এর মাধ্যমে প্রবাহের একককে এস থেকে টিতে প্রেরণ করতে পারে এবং প্রবাহের এক ইউনিট a2 এর মাধ্যমে প্রেরণ শুরু করে। 1 থেকে 99 সময়ের সময়, a3 কোনও প্রবাহ বহন করে না, যেহেতু a1 চলে যায় তবে 100 সময়, a2 এর মাধ্যমে প্রবাহটি ভিতে উপস্থিত হয় এবং এ 3 আবার ব্যবহৃত হয়।
ইয়োশিও ওকামোটো

যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি অংশে দাবি করেছেন যে একবার প্রান্তের জন্ম / মৃত্যুর সময়গুলি স্থির হয়ে গেলে সময়ের সাথে সাথে ক্লাসিকাল সর্বাধিক-প্রবাহ ব্যবহার করে অবশিষ্ট সমস্যাটি সমাধান করা যেতে পারে, তবে আমি দেখতে পাই না কীভাবে এটি হয়।
daveagp

@ যোশিও: সেক্ষেত্রে, যদি তাত্ক্ষণিকভাবে একটি ইউনিট প্রবাহকে A2 বরাবর প্রেরণ শুরু করার পরিবর্তে, আপনি নির্বিচারে স্বল্প পরিমাণে A1 আরও একবার ব্যবহার করতে পারার পরে পুরোপুরি প্রবাহ পাঠানো বন্ধ করে দিয়েছিলেন এবং এর থেকে আরও ভাল সমাধান পাওয়া যায়।
লেয়ানড্রো এম

@ ডেভ: না, আমি যে দাবি করি ঠিক তা নয়। আমি যা বলছি তা হ'ল প্রতিটি চাপটি কেবল একটি সীমাবদ্ধ সংখ্যকবার ব্যবহার করা যেতে পারে, বা সমস্যার সমাধানগুলি নির্বিচারে সর্বাধিক-প্রবাহ-ওভার-টাইমের সমাধানগুলি আনুমানিকভাবে করা উচিত। সংক্ষেপে সমস্যার সংজ্ঞা বিশদ সম্পর্কে আমি উদ্বিগ্ন।
লিয়ান্ড্রো এম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.