বিভাজক জিজ্ঞাসা থেকে একটি গাছ পুনর্গঠন


18

ধরুন T হল একটি ধ্রুবক-ডিগ্রি গাছ যার কাঠামো আমরা জানি না know সমস্যা আউটপুট গাছ T ফর্ম প্রশ্নের জিজ্ঞাসা করে: "নোড করে x নোড থেকে পথে মিথ্যা a নোডের b ?"। ধরে নিন যে প্রতিটি প্রশ্নের উত্তর একটি ওরাকল দ্বারা ধ্রুব সময়ে দেওয়া যেতে পারে। আমরা এর মান, nগাছে নোডের সংখ্যা জানি । উদ্দেশ্যটি হ'ল নিরিখে গাছের আউটপুট নিতে যে সময় লাগে তা হ্রাস করা n

উপরের সমস্যার জন্য কোনও o(n2) অ্যালগরিদম রয়েছে কি ?

অনুমান যে কোন নোডের ডিগ্রী T সর্বাধিক 3 হয়।


আমি কি জানি

বাঁধা ব্যাস কেস সহজ । গাছের ব্যাস যদি D তবে আমরা একটি বিভাজন এবং বিজয়ী অ্যালগরিদম পেতে পারি:

যে কোনও বাইনারি গাছের একটি ভাল বিভাজক থাকে যা গাছটিকে 1 / 3n এর চেয়ে কম আকারের উপাদানগুলিতে ভাগ করে দেয়।

  1. যে কোনও ভার্টেক্স x বাছুন। এটি যদি একটি ভাল বিভাজক লেবেল থাকে এবং পুনরাবৃত্তি করে।
  2. এক্স এর 3 টি প্রতিবেশী সন্ধান করুন।
  3. প্রতিবেশীর দিক থেকে সরান যার মধ্যে নোডের সংখ্যা সবচেয়ে বেশি। প্রতিবেশীর সাথে দ্বিতীয় ধাপটি পুনরাবৃত্তি করুন।

যেহেতু বিভাজকটি সর্বাধিক D পদক্ষেপ নেয় , তাই আমরা একটি O(nDlogn) অ্যালগরিদম পাই ।

একটি O(nlog2n) র্যান্ডমাইজড অ্যালগরিদম। (নীচের মন্তব্য থেকে সরানো)

এক্স এবং y দুটি এলোমেলোভাবে বেছে নিন। 1/9 সম্ভাব্যতার সাথে তারা একটি বিভাজকের বিপরীত দিকে থাকবে। x থেকে পর্যন্ত পথের মধ্য নোডটি চয়ন করুন y। এটি কোনও বিভাজক কিনা তা বাইনারি অনুসন্ধান না করে দেখুন।

এটি O ( এন) লাগেO(nlogn) বিভাজকটি সন্ধান করার জন্য প্রত্যাশিত সময়। সুতরাং আমরা একটি( এন) পেতেO(nlog2n) র্যান্ডমাইজড অ্যালগরিদম।


পটভূমি। আমি এই সমস্যাটি সম্পর্কে এমন এক বন্ধুর কাছ থেকে শিখেছি যারা সম্ভাব্য গ্রাফিকাল মডেলগুলিতে কাজ করে। উপরের সমস্যাটি প্রায় কোনও ওরাকল ব্যবহার করে একটি জংশন গাছের কাঠামোটি শিখার সাথে সম্পর্কিত যা তিনটি এলোমেলো ভেরিয়েবল এক্স, ওয়াই এবং জেড দিয়ে দেওয়া হয়েছে, এক্স এবং ওয়াইয়ের মধ্যে পারস্পরিক তথ্যের মান বলতে পারে জেড এর মান। যদি মানটি নিকটে থাকে শূন্য থেকে, আমরা ধরে নিতে পারি যে জেড X থেকে Y এর পথে রয়েছে


7
সমস্যা সম্পর্কে আপনি ইতিমধ্যে যা জানেন দয়া করে তা প্রকাশ করুন, তাই আমরা চাকাটি পুনরায় উদ্ভাবন করতে আমাদের সময় নষ্ট করি না।
জেফি

@ জে ff ই আমি আমার প্রশ্ন সম্পাদনা করেছি।
জগদীশ

উত্তর:


5

না । নীচের সহজ বিরোধী কৌশলটি বোঝায় যে নোড গাছটিকে পুনর্গঠনের জন্য যে কোনও অ্যালগরিদম কমপক্ষে ( এন - 1n"পার্থক্য" প্রশ্নগুলি।(n12)=n(n1)/2

নির্বিচারে নোডগুলিকে লেবেল করুন । বিদ্বেষীরা সমস্ত প্রশ্নের জবাব দেয় যেমন গাছটি মাঝখানে 0 টির সাথে আছে; 0 কে মূল হিসাবে এবং অন্যান্য নোডগুলি এর সন্তান হিসাবে ভাবেন ।0,1,2,,n100

Between?(a,x,b)
    if x=0 return TRUE else return FALSE

এখন ধরা যাক কোয়েরির চেয়ে কম সম্পাদন করার পরে অ্যালগোরিদম থামবে । তারপরে অবশ্যই y এবং z এর দুটি অনুপাত থাকতে হবে , শূন্যের সমানও নয়, যেমন অ্যালগরিদম ট্রিপলের ( 0 , y , z ) কোনও অনুমান জিজ্ঞাসা করে নি । যদি অ্যালগরিদম দাবি করে যে গাছটি 0 টি কেন্দ্রের সাথে তারকা নয় , শত্রুরা তার ইনপুটটি প্রকাশ করে, অ্যালগোরিদমকে ভুল প্রমাণ করে। শত্রুরা তখন প্রকাশ করে যে এক্স আসলে y এর একমাত্র সন্তান , আবার অ্যালগোরিদমকে ভুল প্রমাণ করে।n(n1)/2yz(0,y,z)0xy

আপডেট: ওফস, সবেমাত্র ডিগ্রি সীমাবদ্ধতা লক্ষ্য করেছে। ভাগ্যক্রমে, এটি কোনও বড় বাধা নয়। নোড কে আপনার অযৌক্তিক ক্রমে পাতা হিসাবে অন্যান্য এন - 1 নোডের সাথে আপনার প্রিয় বাইনারি গাছের সাথে প্রতিস্থাপন করুন এবং তারপরে পুনর্নির্মাণ অ্যালগরিদমের এই সাবট্রিটি প্রকাশ করুন। ফলাফলযুক্ত ( 2 এন - 3 ) পুনর্নির্মাণের জন্য নোড বাইনারি গাছটি এখনও কমপক্ষে এন ( এন - 1 ) / 2 টি প্রশ্নের প্রয়োজন requires সমানভাবে, একটি এম নোড বাইনারি গাছ পুনর্গঠনের জন্য কমপক্ষে ( মি + 3 ) প্রয়োজন0n1(2n3)n(n1)/2m প্রশ্ন। (আমি নিশ্চিত যে আরও সূক্ষ্ম নির্মাণের ফলে ধ্রুবকের উন্নতি হবে।)(m+3)(m+2)/8 জগদীশ উল্লেখ করেছেন যে, এই সাধারণীকরণটি কার্যকর হয় না; গাছের অভ্যন্তরীণ নোড সম্পর্কে প্রশ্নাগুলি পাতাগুলিতে অর্ডার দেয়, যা প্রয়োজনীয় প্রশ্নের সংখ্যা হ্রাস করে।


আমার প্রশ্ন ধ্রুবক-ডিগ্রি গাছ সম্পর্কে। এই তর্কটি এই মামলার পক্ষে কাজ করে না, তাই না?
জগদীশ

2
@ জাগাদিশ: (১) আমি মনে করি না যে নিম্ন সীমাবদ্ধতার প্রমাণটি এলোমেলোভাবে অ্যালগরিদমের জন্য কাজ করে। শত্রুরা এখনও একটি ব্যর্থ উদাহরণ তৈরি করতে পারে, তবে এটি এ হাইপোথিসিসের সাথে বিরোধিতা করে না যে এলোমেলোনাযুক্ত অ্যালগরিদম উচ্চ সম্ভাবনার সাথে সঠিকভাবে কাজ করে। (২) যাইহোক, মনে হচ্ছে আপনি উত্তরটি জেনে প্রশ্ন জিজ্ঞাসা করেছেন। না হবে?
Tsuyoshi Ito

2
আমি দেখি. ব্যাখ্যার জন্য ধন্যবাদ, এবং প্রশ্ন সম্পাদনা করার জন্য ধন্যবাদ!
সোসোশি ইটো

4
আপনার যদি এলোমেলোভাবে অ্যালগরিদম থাকে তবে আপনার একটি অ্যালগরিদম রয়েছে। নির্ণয়কে ওভাররেটেড করা হয়।
জেফি

1
এই সমস্যাটি বাদাম এবং বলের সাথে বাছাই / মিলিয়ে যাওয়ার কথা মনে করিয়ে দেয়। একটি এলোমেলোম অ্যালগরিদম যা উচ্চ সম্ভাবনার সাথে সময়ে চলে সহজেই - এটি কেবল এলোমেলোভাবে তৈরি রিকুইকোর্ট । একটি ডিস্ট্রিমেন্টিক ( এন লগ এন ) -কালীন অ্যালগরিদম রয়েছে তবে এটি গুরুতরভাবে অগণিতO(nlogn)O(nlogn)
জেফি

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