নির্দেশিত গ্রাফে একই দৈর্ঘ্যের কমপক্ষে দুটি পথ সন্ধান করা


20

ধরুন আমাদের একটি নির্দেশিত গ্রাফ এবং দুটি নোড এবং । আমি জানতে চাই যে নীচের সিদ্ধান্তের সমস্যাটি গণনার জন্য ইতিমধ্যে অ্যালগরিদম রয়েছে:G=(V,E)AB

একই দৈর্ঘ্যের এবং এর মধ্যে কমপক্ষে দুটি পথ রয়েছে ?AB

জটিলতা কেমন? আমি কি বহুপদী সময়ে সমাধান করতে পারি?


আমি গ্রাফটিতে একটি নতুন প্রতিবন্ধকতা যুক্ত করতে চাই, সম্ভবত সমস্যাটি আরও সমাধানযোগ্য। সংলগ্ন ম্যাট্রিক্সে, প্রতিটি কলাম খালি নয়। সুতরাং, প্রতিটি নোডের ইনপুটটিতে কমপক্ষে একটি তীর থাকে এবং সেখানে কমপক্ষে একটি নোডও নিজের সাথে যুক্ত থাকে। সুতরাং নোডটি যদি নোড হয়, তবে গ্রাফের একটি প্রান্ত।i(i,i)


আপনি কি সরল পথগুলি বোঝাতে চেয়েছিলেন? (প্রতিটি নোডে একযোগে একবারে দেখা), এছাড়াও তাদের কি একটি সাধারণ অভ্যন্তরীণ নোড থাকার অনুমতি রয়েছে?

1
না, পথে কোনও বাধা নেই। আপনি চাইলে লুপ করতে পারেন।
পাওলো প্যারিসেন টি।

সহজ পর্যবেক্ষণটি হ'ল: যদি মধ্যে কেবল একটি সহজ পাথ থাকে এবং এই সরল পথটি একটি লুপের সাথে যুক্ত থাকে তবে আপনি সহজেই বলতে পারবেন , এই সরল পথে যদি কমপক্ষে দু'টি লুপ সংযুক্ত থাকে তবে , আপনি হ্যাঁ বলতে পারেন, .... (আমার কাছে অনুরূপ জিনিসগুলি কার্যকর বলে মনে হয় এবং আপনি এটি প্রমাণ করতে পারেন), তবে সরল পথগুলি ছত্রভঙ্গ করার ক্ষেত্রে (যদি এটি প্রমাণ করার সময় আপনি সাধারণ পাথগুলি বিচ্ছিন্ন করার মুখোমুখি হন), এটি এনপিসি। A,BNo

1
@ এমআরএম: আমি এটি সদৃশ হিসাবে দেখছি না। সমস্ত পদক্ষেপের জন্য জিজ্ঞাসা করা একটি ব্যয়সাধ্য সময় সাপেক্ষ অপারেশন (সাধারণভাবে, অনেকগুলি পদচারণা রয়েছে), যেখানে ওপি সব পদক্ষেপ নয়, দুটি (সহজ) পথের জন্য জিজ্ঞাসা করছে ।
ডেভ ক্লার্ক

উত্তর:


10

গ্রাফ বিবেচনা, আমরা জানতে চাইযে একই দৈর্ঘ্যের থেকে বি পর্যন্তদুটি পৃথক পথরয়েছে কিনা। কি করো? সরল: একটিতে দুটি পাথ কোড করুন। নির্ধারণ গ্রাফ জি ' সঙ্গে ছেদচিহ্ন ভী × ভী × { 0 , 1 } । আপনি একটি পদক্ষেপ করতে জি ' দুই স্বাধীন পদক্ষেপ করে জি । অতিরিক্ত বিট আপনাকে বলে যে দুটি পথ ইতিমধ্যে একে অপরের থেকে বিভক্ত হয়েছে।GABGV×V×{0,1}GG

আনুষ্ঠানিকভাবে, একটি প্রান্ত হয় মধ্যে জি ' iff আমি আমি ' , ' মধ্যে জি এবং ' = ( আমি , আমি ' ) ( , ' )(i,j,e)(i,j,e)GiijjGe=e(i,i)(j,j)

অ্যালগরিদম চেক যদি একটি পথ থেকে ( বি , বি , 1 )জি ' , যা হে ( ভী 4 ) , অথবা কিছু হে ( ( ভী + + ) 2 )(A,A,0)(B,B,1)GO(V4)O((V+E)2)

আপনি সম্মত হলে এই অ্যালগরিদম তারপর সঠিক, ফলত, মধ্যে পাথ সর্বাধিক দৈর্ঘ্য হল 2 এন 2 , অতএব সম্ভাব্য "পাথ দুর্ঘটনায়" যে দৈর্ঘ্য এ সর্বশেষ ঘটতে উচিত নয়। আপনি এই পর্যবেক্ষণ থেকে একটি ( ভি ω লগ ভি ) অ্যালগরিদম পেতে পারেন , যেখানে mat ম্যাট্রিক্স গুণনের জটিলতা (আপনার যদি কোনও স্পোলার দরকার হয় কিনা জিজ্ঞাসা করুন ...)।G2n2O(VωlogV)ω

আমি দৃ strongly়ভাবে মনে করি একটি অ্যালগরিদম রয়েছে, যা সমস্যার কাঠামোটি বেশি ব্যবহার করে।O(V+E)


3
এটি মার্জিত।
রাফেল

4

সম্ভবত আমি এই সমস্যার জন্য একটি উত্তর পেয়েছি, তবে আমি এটি নিশ্চিত যে এটি কাজ করে।

দু'টি পথ "সন্ধান" করা গুরুত্বপূর্ণ নয়, একমাত্র গুরুত্বপূর্ণ বিষয়টি তাদের জানা আছে কিনা তা "জানা" know আমি মনে করি না এটি একটি এনপি সম্পূর্ণ সমস্যা।

সুতরাং, সংলগ্ন ম্যাট্রিক্স । আমরা সহজেই ধরে নিতে পারি যে এটি 0,1 মান দিয়ে পূর্ণ। (0 = কোন প্রান্ত নয়; 1 = একটি প্রান্ত রয়েছে) আসুন 3 মান (0,1,2) সহ নিম্নলিখিত বীজগণিতটি ব্যবহার করুন, যেখানে সবকিছু যথারীতি কাজ করে ব্যতীত: 2 + <কিছু> = 2 ; 2 <0> = 2 এর চেয়ে বড় যাই হোক না কেনA2+<something>=22<whatever greater than 0>=2

সুতরাং, যদি থেকে একই দৈর্ঘ্যের দুটি পাথ থাকে তবে আমি প্রত্যাশা করছি যে এখানে একটি মান p রয়েছে যা ( A p ) i , j = 2i,jp(Ap)i,j=2

চলুন, গ্রাফের মধ্যে ভার্টেক্সের সংখ্যা (বা, ধরুন যে, এর A এর মাত্রা n × n )। আমি পি এর মান জানি না , তবে আমি যদি নিজেকে আরও বেশি এন 2 এর সাথে গুণ করে A এর পুনরাবৃত্তি করি তবে উত্তর খুঁজে পাওয়া উচিত। (তাই, পি < এন 2 ) (এই অর্থে যে আমি যাচাই করা হয় একটি , তারপর আমি যাচাই একজন 2 , তারপর আমি যাচাই একজন 3 ইত্যাদি ...)nAn×npAn2p<n2AA2A3

এখানে আমার যুক্তি:

  • দুটি পথ যদি সরল পথ হয় তবে ভাল, এটি কাজ করে; যদি সেখানে থাকে তবে সর্বাধিক আমাকে বার বার করতে হবে।n
  • যদি কমপক্ষে একটি নেস্টেড চক্র থাকে বা দুটি চক্র সহ একটি পথ থাকে তবে ভাল, আমাকে সর্বনিম্ন সাধারণ একাধিক (এলসিএম) খুঁজে পেতে হবে। এটির জন্য একটি বৃহত মান এবং এন 2 বারের চেয়ে কম হলেও যদি আমার সেগুলি খুঁজে পাওয়া উচিত।n2n2
  • যদি দুটি পাথ দুটি চক্র সহ দুটি স্বতন্ত্র পথ হয় তবে এই দুটি সমীকরণের জন্য সমাধান খোঁজার ক্ষেত্রে এটি কমবেশি মিল: , যেখানে মি এবং কে এই দুটি স্বতন্ত্র দৈর্ঘ্য চক্র। উপরের সংজ্ঞায়িত ম্যাট্রিক্সের গুণক কিউ বলেছে " আই থেকে জে পর্যন্ত এমন কোন পথ রয়েছে যার দৈর্ঘ্য Q ?" সুতরাং, যদি একটি কিউ 1 এর চেয়ে বেশি গ্রেটার হয় তবে এর অর্থ হ'ল আই থেকে জে পর্যন্ত আরও বেশি পথ রয়েছে । ম্যাট্রিক্স পুনরাবৃত্তি করে এনα+βm=γ+δkmkAqijqAq1ij বার আমরা সব দিয়ে সম্ভাব্য সমাহার পাস δ এবং β । প্রকৃতপক্ষে, L C M ( a , b ) কে ( a b ) / G C D ( a , b ) হিসাবে সংজ্ঞায়িত করা হয়েছেএবং কোনও চক্র n এর চেয়ে বড় হতে পারে না।n2δβLCM(a,b)(ab)/GCD(a,b)n

আমি একবার পেয়ে গেলে পুনরাবৃত্তি করতে থামি ।(Ap)i,j=2

আমি কি ভূল?


আমিও একই চেষ্টা করেছি এবং আমি কিছু সমস্যা / অনিশ্চয়তার মুখোমুখি হয়েছি: 1) যদি পথগুলি একাধিক চক্রের সাথে সংযুক্ত থাকে তবে কী হবে? আপনার কি সমস্ত সংমিশ্রণগুলি "চেক" করতে হবে (সবচেয়ে খারাপ ক্ষেত্রে, প্রতিটি নোড তাত্পর্যপূর্ণভাবে অনেকগুলি চক্রের উপর নির্ভর করে!), উপরের সীমানাটি ফুটিয়ে তোলে, বা এটি প্রতিটি জন্য কেবল একটি বিবেচনা করার পক্ষে যথেষ্ট? 2) অবিচ্ছিন্ন অফসেটগুলি এবং γ এর কারণে , এলসিএম কি আসলেই একটি উপরের আবদ্ধ? αγ
রাফেল

যাইহোক, মজাদার বীজগণিতের প্রয়োজন নেই: আপনি ম্যাট্রিক্স এন্ট্রি হিসাবে একটি গণনা করার মুহুর্তটি বন্ধ করুন । 2
রাফেল

@ রাফেই ১) যদি দুটি চক্র সহ একটি পথ থাকে তবে অবশ্যই একই দৈর্ঘ্যের দুটি পথ রয়েছে। একটি প্রথম চক্রের লুপ এবং দ্বিতীয়টিতে লুপ হয়। তারা কত লুপ আছে? বহুলভাবে উভয় চক্রের দৈর্ঘ্যের LCM। এটি দ্বারা আবদ্ধ , যেখানে n গ্রাফের মধ্যে ভার্টেক্সগুলির সংখ্যা। 2) LCM উপরের আবদ্ধ (যদি 1)) কারণ LCM (ক, খ) একটি * খ প্লাস দ্বারা বেষ্টিত α এবং γ অফসেট; সুতরাং, মোট আমাদের কাছে L C M ( a , b ) + α + γ < a b + α + haven2nαγLCM(a,b)+α+γ<ab+α+γ। আমরা জানি যে, , তাই একটি * + + α + + γ চেয়ে কম হয় এন 2α+γ+a+b<nab+α+γn2
পাওলো প্যারিসেন টি।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.