ট্রানজিটিভ চেক বনাম ট্রানসিটিভ সমাপ্তি


9

ডিগ্রাফের ট্রানজিটিভিটি যাচাই করা (অ্যাসিপোটোটিক জটিলতার নিরিখে) ডিজিগের ট্রানসিটিভ ক্লোজিংয়ের চেয়ে সহজ নয়? আমরা কি এর চেয়ে কম নিম্নসীমা জানি?Ω(n2) একটি ডিগ্রাফ ট্রানজিটিভ কিনা তা নির্ধারণ করতে?


1
পুরো ট্রানজিটিভ ক্লোজারটি সঞ্চয় করতে আপনার অতিরিক্ত জায়গার ব্যয় করতে হবে। কিছু গ্রাফের জন্য আপনার প্রান্তটি পুনর্বিবেচনা ছাড়াই ট্রান্সজিটিভিটি চেকটি হুক এবং শর্টকাট করতে সক্ষম হওয়া উচিত। দেখুন: আনO(logn)সমান্তরাল সংযোগ অ্যালগরিদম, ওয়াই শিলোচ, ইউ বিষকিন - জার্নাল অফ অ্যালগরিদম, 1982
চাদ ব্রুবেকার

1
এখানে সিকের
চাদ

2
আপনি কী বলতে চাইছেন তা নিশ্চিত নন n, কিন্তু একটি নিম্ন সীমা Ω(|V|2) সহজ - বিবেচনা করুন Kn{e} কিছু প্রান্তের জন্য e। যে কোনও অ্যালগরিদম জিজ্ঞাসা করবে কিনা তা পরীক্ষা করে দেখতে হবে(u,v)E সবার জন্য u,vV, অন্যথায় তিনি যে প্রান্তটির বিষয়ে জিজ্ঞাসা করেননি তা হারাতে পারে। O(|V||E|)এটি একটি উচ্চতর আবদ্ধ, কারণ এই সময়টি একটি ট্রানসিটিভ ক্লোজার গণনা করতে লাগে।
আরবি

2
এর সাথে নির্দেশিত গ্রাফটি বিবেচনা করুন n=3k শীর্ষস্থান: উত্স শীর্ষে s1,,sk, মধ্যবর্তী শিখর t1,,tk এটি প্রতিটি তাত্ক্ষণিক উত্তরসূরি si, এবং ডুবন্ত ডোবা u1,,uk এটি প্রতিটি তাত্ক্ষণিক উত্তরসূরি ti। ডিজিট্রাফটি যদি প্রতিটি আরকেসের মধ্যে থাকে তবে তা ট্রানজিটিভ(si,uj)গ্রাফ উপস্থিত এর জন্য চেক করা দরকারk2=(n/3)2=Ω(n2)প্রান্ত। অন্যদিকে, ট্রানজিটিভ ক্লোজারটি খুঁজে পাওয়া যায়O(nω) সময়, কোথায় ω<2.373হ'ল ম্যাট্রিক্সের গুণনের ব্যয়। এগুলি সর্বাধিক পরিচিত সীমানা।
অ্যান্ড্রেস সালামন

আপনার ডিএজি সম্ভবত কোনও অতিরিক্ত কাঠামো আছে, বা আপনি সম্পূর্ণরূপে সাধারণ ফলাফল চান?
নিল দে বৌদ্রাপ

উত্তর:


9

নীচে আমি নিম্নলিখিতটি দেখাব: যদি আপনার ও থাকে (n3ε) কোনও গ্রাফ যে কোনওটির জন্য ট্রানজিটিভ কিনা তা পরীক্ষা করার জন্য সময় অ্যালগরিদম ε>0, তাহলে আপনার একটি ও (n3ε) একটিতে একটি ত্রিভুজ সনাক্ত করার জন্য সময় অ্যালগরিদম nনোড গ্রাফ, এবং তাই ( FOCS'10 এর একটি কাগজ দ্বারা ) আপনার একটি ও (n3ε/3) দুটি বুলিয়ান গুণনের জন্য সময় অ্যালগরিদম n×nম্যাট্রিক্স, এবং তাই 70 এর দশক থেকে ফিশার এবং মায়ারের ফলাফল দ্বারা এটি একটি ওকে বোঝায় (n3ε/3ট্রানজিটিভ বন্ধের জন্য সময় অ্যালগরিদম।

মনে করুন যে আপনি একটিতে একটি ত্রিভুজ সনাক্ত করতে চান n নোড G। আমরা এখন নিম্নলিখিত গ্রাফটি তৈরি করতে পারিHH পার্টিশন সহ ত্রিপক্ষীয় I,J,K চালু nপ্রতিটি নোড এখানে প্রতিটি নোডx এর G কপি আছে xI,xJ,xK অংশে I,J,K। প্রতিটি প্রান্তের জন্য(u,v) এর G নির্দেশিত প্রান্ত যুক্ত করুন (uI,vJ) এবং (uJ,vK)। প্রতিটি নেইজ জন্য(u,v) এর G নির্দেশিত প্রান্তটি যুক্ত করুন (uI,vK)

প্রথম, যদি G একটি ত্রিভুজ রয়েছে u,v,wতাহলে Hঅস্থির নয়। এটি প্রান্তগুলি থেকে(uI,vJ),(vJ,wK) আছে H কিন্তু (uI,wK)এটি না. দ্বিতীয়ত, যদিH ট্রানজিটিভ নয়, তবে অবশ্যই কিছু নোড থেকে কিছু নির্দেশিত পথ উপস্থিত থাকতে হবে s কিছু নোড t ভিতরে H যেমন যে (s,t) এটি কোনও দিকনির্দেশক প্রান্ত নয় H। তবে এর মধ্যে দীর্ঘতম পথH আছে 2 প্রান্তগুলি, এবং এই জাতীয় কোনও পথ অবশ্যই ফর্মের হতে হবে (uI,vJ),(vJ,wK) এবং (uI,wK) ভিতরে নেই Hতাই, u,v,w মধ্যে একটি ত্রিভুজ গঠন G


1
ট্রানজিটিভ ক্লোজার সন্ধান করা মূলত ম্যাট্রিক্সের গুণকের সমান। প্রশ্নটি হ'ল নীচের গণ্ডিতে ঘাঁটিঘটিতকারীটি 2 থেকে উত্থাপিত হতে পারে, বা উপরের সীমানায় প্রকাশকটি 2.373 থেকে নামিয়ে আনা যেতে পারে। যুক্তিগুলির শৃঙ্খলে আপনি প্রদর্শন করেন যে এমনকি একটি অনুকূলO(n2) ট্রানজিটিভিটি যাচাইয়ের জন্য অ্যালগরিদম কেবলমাত্র একটি দেয় O(n2.667) ট্রানজিটিভ বন্ধের জন্য সময় অ্যালগরিদম - তবে আমাদের ইতিমধ্যে একটি রয়েছে O(n2.373)সময় অ্যালগরিদম।
আন্দ্রেস সালামন

মুল বক্তব্যটি হ'ল ব্ল্যাক বক্স হ্রাস বিদ্যমান। দ্য ও (n2.373) সময়ের অ্যালগরিদম ব্যবহারিক থেকে অনেক দূরে। একটি বাস্তব ট্রানজিটিভিটি যাচাই করা অ্যালগরিদম যা সাবকিউবিক সময়ে চলতে থাকে তবে উপরের হ্রাস দ্বারা বিএমএমের জন্য ব্যবহারিক একটিকে বোঝানো হয় এবং তাই ট্রানসিটিভ বন্ধ হয়ে যায়। এছাড়াও, আপনি ব্যবহারিক অ্যালগরিদমগুলির বিষয়ে চিন্তা না করা সত্ত্বেও, এটি বেশ সম্ভব যে FOCS'10 কাগজ থেকে প্রকাশকটির ক্ষতির প্রয়োজন হয় না এবং ত্রিভুজ সনাক্তকরণ সম্ভবত বিএমএম এর সমতুল্য।
কুমারী

ওহ এবং অবশ্যই, আমরা কেবল ট্রানজিটি সমস্যা সনাক্তকরণের অনুমিত কঠোরতার উপর ভিত্তি করেই ট্রানজিটিভিটি সমস্যার কঠোরতা তৈরি করতে পারি। মনে রাখবেন যে এর চেয়ে ভাল নিম্ন সীমানা আর নেইn2 ত্রিভুজ সনাক্তকরণের জন্য, এবং সর্বোত্তম উপরের গণ্ডি bound O(nω)
কুমারী

আমাদের কাছে ইতিমধ্যে যে কোনও দ্রুত ম্যাট্রিক্স গুণনের পদ্ধতি ব্যবহার করে একটি সাবকিউবিক ব্যবহারিক অ্যালগরিদম রয়েছে: উদাহরণস্বরূপ দেখুন cacm.acm.org/magazines/2014/2/…
আন্দ্রে সালামন

2
বালার্ড এবং অন্যান্য কাগজ যা আপনি উল্লেখ করেছেন স্ট্রাসেনের বিশেষত অ্যালগরিদম সম্পর্কে আলোচনা করে। আমি যা জানি তা থেকে, সীমান্তের র‌্যাঙ্ক ব্যবহার করা ম্যাট্রিক্সের গুণ গুণগুলির মধ্যে কোনওটিই ব্যবহারিক practical বিশেষত, কোনও সীমাবদ্ধতার জন্য আমি ব্যবহারিক অ্যালগরিদম সম্পর্কে সচেতন নইω ক্ষুদ্রতর 2.78
কুমারী 6

7

দেখে মনে হচ্ছে Ω(n2)যেহেতু যে কোনও নিম্ন সীমাটি বুলিয়ান ম্যাট্রিক্স গুণনের জন্য একটি নিম্ন সীমাটি বোঝায়, এটি সর্বাধিক পরিচিত নিম্ন বাঁধাই। আমরা জানি যে একটি বুলিয়ান ম্যাট্রিক্সের গুণনটি ব্যবহার করে ট্রানজিটিভিটি চেক অর্জন করা যায়, তা হ'লG ট্রানজিটিভ যদি হয় এবং কেবল যদি G=G2


4

কোনও ডিএজি ট্রানজিটিভ কিনা তা নির্ধারণ করা যেমন কোনও সাধারণ ডিগ্রাফ ট্রানজিটিভ (এটি আমাদের আগের প্রশ্নে ফিরে আসে :)) ঠিক ততটাই কঠিন।

ধরে নিন আপনার সময়ে একটি অ্যালগরিদম চলছে O(f(n)) কোনও ডিএজি ট্রানজিটিভ কিনা তা সিদ্ধান্তের জন্য।

একটি নির্দেশিত গ্রাফ দেওয়া হয়েছে G, আপনি যদি সিদ্ধান্ত নিতে নিম্নলিখিত র্যান্ডমাইজড আলগোরিদিম ব্যবহার করতে পারেন G সময়ে সংক্রামক O(f(n)log(1δ)) এবং ত্রুটি সম্ভাবনা δ:

 1. for $O(\log{\frac{1}{\delta}})$ iterations:

   1.1. Compute a random permutation on $V$. Denote the result by $<v_1,v_2,...,v_n>$.

   1.2. Set $G'=(V,E\cup \{(v_i,v_j)|i<j\})$ (i.e. compute a random acyclic orientation).

   1.3. If $G'$ (which is acyclic) is not transitive return false.

 2. return true.

এখন এটা স্পষ্ট যে যদি G ট্রানজিটিভ ছিল, এই অ্যালগরিদম সত্য প্রত্যাবর্তন।

এখন ধরে নিন Gঅস্থির ছিল না। দিনe1=(vi,vj),e2=(vj,vk)E যেমন যে (vi,vk)E (এখানে যেমন প্রান্ত থাকতে হবে Gট্রানজিটিভ নয়)। সম্ভাবনা যেe1,e2G হয় 16সুতরাং, প্রতিটি পুনরাবৃত্তিতে আলগোরিদিমটি যে অঙ্কিত হবে তার সম্ভাবনা G ট্রানসিটিভ ছিল না 16 এবং তারপর O(log(δ)) পুনরাবৃত্তি ব্যর্থতার সম্ভাবনা সর্বাধিক δ


1
উত্তরের জন্য ধন্যবাদ. ধরুন আমার কাছে কোনও ডিএজি ট্রান্সজিটিভ কিনা তা সিদ্ধান্ত নেওয়ার জন্য একটি অ্যালগরিদম রয়েছেO(f(n)) এমন f(n)=Ω(n2)। তারপরে, আমি সিদ্ধান্ত নিতে পারি যে কোনও নির্দেশক গ্রাফ জি ট্রানসিটিভO(f(n))-সময় হিসাবে; 1) দৃ strongly়ভাবে সংযুক্ত ডিগ্রাফ ইন পানO(n2)-time। 2) প্রতিটি উপাদান সম্পূর্ণ হয়েছে কিনা তা পরীক্ষা করুনO(n2)-time। 3) প্রতিটি জোড় উপাদান, যার জন্য উপাদান ডিগ্রাফের একটি প্রান্ত রয়েছে তা দ্বি-সম্পূর্ণ কিনা তা পরীক্ষা করে দেখুন যে এখানে একটি উপাদানগুলির প্রতিটি শীর্ষবিন্দু থেকে দ্বিতীয় উপাদানটির প্রতিটি শীর্ষবিন্দুতে একটি কিনারা রয়েছে?O(n2)-time। 4) উপাদান ডিগ্রাফ ট্রানজিটিভ ইন কিনা তা পরীক্ষা করুনO(f(n))-time।
একায়াস্লান

1

আমি মনে করি এটি লিনিয়ার সময়, অর্থাৎ সম্ভব হবে O(n+m) কোথায় n শীর্ষে সংখ্যা এবং mপ্রান্ত সংখ্যা। হয়ত কিছু গ্রাফ ট্র্যাভারসাল স্কিমকে নির্দেশিত সেটিংয়ে অভিযোজিত করে? একটি সূচনা পয়েন্ট এখানে বর্ণিত লেক্সবিএফএস / লেক্সডিএফএস হতে পারে ; নির্দেশিত গ্রাফগুলির জন্য মনে হয় আমাদের ডিএফএসের চেয়ে টপোলজিকাল বাছাই করা উচিত, তাই সম্ভবত কিছু লেক্সটিএসএ আলগোরিদম আবিষ্কার করা সম্ভব ?


2
এটি IMO এর সম্ভাবনা কম, কারণ এটি সাধারণ ডিগ্রাফগুলিতে ট্রানজিটিভিটি পরীক্ষার জন্য একটি সম্ভাব্য লিনিয়ার সময় অ্যালগরিদম দেয়, আমার উত্তর দেখুন।
আরবি

0

পূর্ববর্তী উত্তর সম্পর্কে, এই জাতীয় অ্যালগরিদম সংজ্ঞায়নের একটি সহজ উপায়। প্রতিটি শীর্ষবিন্দুতে বরাদ্দ করুনx একটি সূচক i(x), আরম্ভ করা 0। প্রতিটির জন্য, প্রত্যেকটির জন্যx, দিন M(x)এর প্রতিবেশীদের মধ্যে সূচকগুলির বহুলিপি বোঝায়। আমরা একটি সেট বজায় রেখে টপোলজিকাল বাছাইয়ের অনুকরণ করিRসম্পূর্ণ সেট থেকে আরম্ভকৃত, আনস্প্ল্লোরড উল্লম্বের। প্রতিটি পদক্ষেপে, আমরা নিম্নলিখিতটি করি:

  1. একটি শীর্ষবিন্দু চয়ন করুন xR যার মাল্টিসেট M(x) সর্বনিম্ন (মাল্টিসেট ক্রমে);

  2. হালনাগাদ i(x) বর্তমান লুপ কাউন্টার এবং অপসারণ x থেকে R

এই অ্যালগরিদমটি আপনার সমস্যার জন্য বা অন্য কোনও অ্যাপ্লিকেশনের জন্য ব্যবহার করা যেতে পারে?


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