এই পথ সমস্যার জটিলতা কি জানা যায়?


9

দৃষ্টান্ত: দুটি স্বতন্ত্র শীর্ষে , এবং একটি পূর্ণসংখ্যা সহ একটি অনির্দেশিত গ্রাফ ।Gstk0

প্রশ্ন: সেখানে একটা অস্তিত্ব আছে মধ্যে পাথ সর্বাধিক, যেমন যে পথ ছেদ করে ত্রিভুজ? (এই সমস্যার জন্য কোনও পথে ত্রিভুজটি ছেদ করতে বলা হয় যদি সেই পথে ত্রিভুজ থেকে কমপক্ষে একটি প্রান্ত থাকে))stGk


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

3
@ সাeedদ আমি বুঝতে পারছি না: যুক্তি কী যে অতিরিক্ত গণনা আপনাকে একটি সাবপটিমাল পথ বেছে নিতে দেয় না? আপনার অ্যালগরিদম অবশ্যই একটি 2-আনুমানিক হয়তো একটি ফিক্স একটি প্রান্ত যোগ হয় যে পথের জন্য ওজনের ধারণকারী ত্রিভুজ সংখ্যার সমান উভয় এবং(u,w)uvw(u,v)(v,w)
Sasho Nikolov

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

1
আমি এটি সম্পর্কে একটু বেশি চিন্তা দিয়েছি, ঠিক করার পরেও এটি কাজ করে না। দুঃখিত আমি যদি কোনও ভুল আশা নিয়ে আসি তবে আন্দ্রেস। দেখার জন্য কেন ফিক্স ভুল বিবেচনা করা হয় ছেদচিহ্ন একটি পাথ এবং আমরা একটি ত্রিভুজ আছে এবং এবং খেয়েই প্রান্ত এবং অনেকগুলি ত্রিভুজ ঘটনার দ্বারা । আমরা যদি একটি কৃত্রিম নতুন প্রান্ত ব্যবহার করি যা সংযুক্ত করে তবে আমরা ত্রিভুজটি দুবার গণনা করেছি । পিএস: আমার যুক্তি আবার ভুল ছিল কারণ আমি ভেবেছিলাম আমরা কেবল এবং নতুন (বহু) প্রান্তে দিয়ে প্রতিস্থাপন করবu>v>w>xPu,v,wv,w,xvxuwu>wv,w,xu>vv>wu>w। আমরা যদি প্রতিটি পাথের জন্য সেই কৃত্রিম প্রান্তগুলি যুক্ত করি তবে এটি তুচ্ছ কাজ করবে। মনে হচ্ছে এটি এনপিসি।
Saeed

1
আমার ধারণাটি কার্যকর হবে না - আমাকে একাধিক সেট বজায় রাখতে হবে এবং আমি মনে করি সেগুলি খুব বেশি হবে।
রিইনারপোস্ট

উত্তর:


1

ধরে নিন যে এতে কোনও স্ব-প্রান্ত নেই G

নোডের মধ্যে প্রতিটি প্রান্তের জন্য vi এবং vj ভিতরে G, দিন E[i,j]=1, এবং E[i,j]=0কোন প্রান্ত না থাকলে। গনাn×n জরায়ু C[i,j]=k=1nE[i,k]E[k,j]যা প্রতিটি জোড় নোডের মধ্যে দ্বি-হুপ পাথের সংখ্যা দেয় vi এবং vj। তারপরে প্রান্তের জন্যvi এবং vj ভিতরে G গনা D[i,j]=E[i,j]C[i,j] অন্যথায় সেট D[i,j]=, যা ত্রিভুজগুলির সংখ্যাকে প্রান্ত দেয় (বা কোনও প্রান্ত না থাকলে অনন্ত) অংশ is গণনা করার জন্য ম্যাট্রিক্সের গুণমানের প্রয়োজনC খরচ O(n3) (এর স্পারসিটির উপর নির্ভর করে দ্রুত গণনা করা যেতে পারে G)।

এখন গণনা n×n জরায়ু A, যেমন যে A[i,j]=min(D[i,j],mink(D[i,k]+D[k,j]E[i,j]))A এর মধ্যে সমস্ত সংক্ষিপ্ততম পথ D কিছু ত্রিভুজের দুটি প্রান্ত বরাবর যে পাথগুলির জন্য অ্যাকাউন্টের জন্য দৈর্ঘ্য দুই পর্যন্ত বৃদ্ধি করা হয়।

এখন কেবল মধ্যবর্তী সংক্ষিপ্ততম পথটি গণনা করুন vi এবং vj ভিতরে G যা একটি নতুন গ্রাফ এ A ডিজকস্ট্র ব্যবহার করে (ওজনযুক্ত) সংলগ্ন ম্যাট্রিক্স (যেহেতু সমস্ত প্রান্তের ওজন ইতিবাচক)) এবং নির্ধারণ করুন কিনা A[i,j]k, কোথায় A গ্রীষ্মমন্ডলীয় সেমিরিংয়ের উপর বন্ধ (যা দূরত্বের ম্যাট্রিক্স দেয়)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.