ওজনযুক্ত ড্যাগ দেওয়া, প্রতিটি ওজনকে তার পূর্বপুরুষের ওজনের যোগফলের সাথে প্রতিস্থাপনের জন্য কি কোনও ও (ভি + ই) অ্যালগরিদম আছে?


34

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

পটভূমি: বিবিসিফোপে সম্ভাব্য গণনার গণনার অংশ হিসাবে এই টাস্কটি (বিভিন্ন 'ওজন' সহ বেশ কয়েকবার করা হয়েছে) (http://github.com/ealdwulf/bbchop) অন্তর্বর্তী বাগগুলি অনুসন্ধানের জন্য একটি প্রোগ্রাম (অর্থাত্, একটি বায়সিয়ান সংস্করণ) গিট বাইসেক্ট ')। প্রশ্নে থাকা ডিএজি তাই একটি সংশোধন ইতিহাস। এর অর্থ দাঁড়ায় যে প্রান্তগুলির সংখ্যা নোডের সংখ্যার বর্গক্ষেত্রের কাছে যাওয়ার সম্ভাবনা নেই, এটি কিছু ক্ষুদ্রাকার কে জন্য নোডের সংখ্যার চেয়ে কে এর চেয়ে কম হবে। দুর্ভাগ্যক্রমে আমি পুনর্বিবেচনা ডিএজিগুলির কোনও দরকারী বৈশিষ্ট্য পাই না। উদাহরণস্বরূপ, আমি আশা করছিলাম যে বৃহত্তম ত্রিভুজযুক্ত উপাদানটি কেবল নোডের সংখ্যার বর্গমূল হিসাবে বৃদ্ধি পাবে, তবে দুঃখের সাথে (লিনাক্স কার্নেলের ইতিহাসে এটি কমপক্ষে) লিনিয়ার বৃদ্ধি পাবে grows


কেবল স্পষ্ট করে বলার জন্য: এটি কেবলমাত্র নোড যার ওজন আছে, কিনারা নয়?
হেইনিরিচ অ্যাপফেলমাস

হ্যাঁ, শুধু নোড
ইল্ডউল্ফ

4
এটি মনে হচ্ছে এটি cstheory.stackexchange.com/questions/553/… এর কাছাকাছি সদৃশ ?
Jukka Suomela

এটি প্রকৃতপক্ষে আরও সাধারণ বলে মনে হচ্ছে, যেহেতু সমস্ত শীর্ষে ইউনিট ওজন নির্ধারণের ফলে এই সমস্যাটি পুনঃচঞ্চলতার সমস্যাটিকে হ্রাস করে।
সুরেশ ভেঙ্কট

আনুষঙ্গিক কিছু অতিরিক্ত পললোগ কারণের সাথে করণীয় কঠিন বলে মনে হচ্ছে ...
হার-

উত্তর:


17

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

দাবি । যদি বর্তমান টাস্কটি ও ( এন 2 ) সময়ে সম্পাদন করা যায় তবে তার সংলগ্ন ম্যাট্রিক্স হিসাবে দেওয়া একটি স্বেচ্ছাসেবক নির্দেশিত গ্রাফের ট্রানজিটিভ বন্ধটি ও ( এন 2 ) সময়ে (কিছু যুক্তিসঙ্গত গণনা মডেল ধরে) গণনা করা যেতে পারে ।

প্রুফ । প্রাক-প্রসেসিং হিসাবে, আমরা একটি ডিএজি জি obtain প্রাপ্ত সময় O ( n 2 ) তে প্রদত্ত নির্দেশিত গ্রাফ জি এর দৃ connected়ভাবে সংযুক্ত উপাদান পচন গণনা করি ′ নোট যে আমরা সকর্মক অবসান গনা করতে পারেন জি ', আমরা সকর্মক অবসান পুনর্গঠন করতে জি

এখন ওজন 2 ধার্য আমি প্রতিটি প্রান্তবিন্দু করতে আমি DAG এর জি 'এবং বর্তমান সমস্যার জন্য এলগরিদম ব্যবহার করুন। তারপরে আমি প্রতিটি শীর্ষবিন্দুতে নির্ধারিত যোগফলের বাইনারি উপস্থাপনাটি হ'ল আমি পূর্বসূরীদের সেটকে বর্ণনা করি , অন্য কথায়, আমরা জি the এর ট্রানজিটিভ ক্লোজার গণনা করেছি ′ Qed

দাবির কথোপকথনটিও ধারণ করে: আপনি যদি কোনও প্রদত্ত ডিএজি-র ট্রান্সজিটিভ ক্লোজার গণনা করতে পারেন তবে সময় ও ( এন 2 ) এর অতিরিক্ত কাজ করে প্রয়োজনীয় পরিমাণগুলি গণনা করা সহজ । অতএব, তত্ত্বের ক্ষেত্রে আপনি কপারস্মিথ-উইনোগ্রাদ ম্যাট্রিক্স গুণিত অ্যালগরিদমের উপর ভিত্তি করে ট্রানজিটিভ ক্লোজারের জন্য অ্যালগরিদম ব্যবহার করে সময় হে ( এন 2.376 ) এ বর্তমান কাজটি অর্জন করতে পারেন ।

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

সম্পাদনা : 4 সংশোধন এবং এর আগে প্রান্তগুলি ভুলভাবে নির্দেশ করেছে।


4
গতকাল রাতে আমি এই বিষয়টি নিয়েই ভাবছিলাম যেহেতু একটি ব্যবহারিক সমাধান বর্জন গণনা করতে বিট ভেক্টর ব্যবহার করে। আমার একমাত্র প্রশ্নটি অনুমান করা যুক্তিযুক্ত কি না যে ওজনের বিটের দৈর্ঘ্য আনুপাতিক হতে পারে whether অনুশীলনে, আমি কল্পনা করতে পারি যে ওজনগুলি কিছু কে দ্বারা আবদ্ধ হয় যাতে সর্বোচ্চ সম্ভাব্য যোগফল হয়, যা এই কৌশলটি টানতে পর্যাপ্ত বিট নয়।
প্রতি ভোগেনসেন

@ পিয়ার: আমি একমত যে প্রান্তিক ওজন এন-বিট পূর্ণসংখ্যা হতে পারে এমন অনুমানটি প্রশ্নবিদ্ধ হতে পারে। এই অনুমানটি সুস্পষ্ট করার জন্য আমি উত্তর সম্পাদনা করেছি। ধন্যবাদ!
Tsuyoshi Ito

1
@ পিয়ার: আমি বুঝতে পেরেছিলাম যে যদি ভার্টেক্স ওজনগুলি হে (1) দ্বারা সীমাবদ্ধ পূর্ণসংখ্যা হয় তবে সমস্যাটি এমন ক্ষেত্রে হ্রাস পায় যেখানে সমস্ত উপায়ে একটি উপায়ে যথাক্রমে সদৃশকে নকল করে ওজন 1 করে।
Tsuyoshi Ito

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

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

2

এটি শ্যুওশি এর উত্তর সম্পর্কে আমার মন্তব্যের একটি বিস্তার। আমি মনে করি প্রশ্নের নেতিবাচক উত্তরটি নিঃশর্ত করা যেতে পারে।

ω(n)O(n)

Gr,cr×crrc

r=(log n)/2c=2n/log n

nω(log n)

ω(n)2c(r1)=O(n)

মুল বক্তব্যটি মনে হচ্ছে যে অন্তর্নিহিত আংশিক ক্রমটি ঘন, তবে ডিএজি তার ট্রানজিটি হ্রাসকে প্রতিনিধিত্ব করে, যা বিরল হতে পারে।


এই যুক্তি আকর্ষণীয়, তবে আমি নিশ্চিত নই যে এটি কোনও আকর্ষণীয় বক্তব্যের প্রমাণ হিসাবে তৈরি করা যায় কিনা। সমস্যাগুলির নিম্ন সীমাটি প্রমাণ করার বিস্তীর্ণ অসুবিধা বিবেচনা করে, এই যুক্তিটি আমার কাছে হাতছাড়া বলে মনে হচ্ছে।
Tsuyoshi Ito

@ শুয়োশি: আমি মনে করি অস্তিত্বটি একটি সম্ভাব্য যুক্তির মাধ্যমে কাজ করা উচিত, এবং নীচের দিকের অংশটি দুর্বল তাই এটি কাজ করার জন্য পর্যাপ্ত জায়গা রয়েছে বলে মনে হয়। তবে আপনি ঠিক বলেছেন, এটি হ্যান্ডওয়ে is এই বাক্যাংশটির "গড়পড়ালে পুনরায় পুনরায় ব্যবহারযোগ্য সংযোজন" এর আরও ভাল ভিত্তি প্রয়োজন।
আন্দ্রেস সালামন

-2

এটি ভুল এবং প্রশ্নের উপর একটি ভুল বোঝাবুঝির ভিত্তিতে। ধৈর্য সহকারে আমার ত্রুটিটি নির্দেশ করার জন্য স্যুওশিকে ধন্যবাদ। অন্যরাও যদি একই ভুল করে থাকে তবে ত্যাগ করা।

k

kO(k|V|)

O(|V|+|E|)

অনেকগুলি পূর্ববর্তী পূর্বসূরীদের সাথে যদি কিছু নোড থাকে তবে যতক্ষণ না তারা তুলনামূলক কম হয় This


4
আমি এটা পাবেন না. ড্যাগ যখন গাছ না হয় তখন আপনি কীভাবে দ্বিগুণ গণনা এড়াতে পারবেন? প্রকৃতপক্ষে, যদি আমার ভুল না হয় তবে সাধারণ কেসটি এমন ক্ষেত্রে হ্রাস করা যেতে পারে যেখানে প্রতিটি শীর্ষবিন্দুতে কমপক্ষে দু'জন পূর্বসূরীর উপস্থিত থাকে এবং পরবর্তী ক্ষেত্রে কোনও লিনিয়ার-টাইম অ্যালগরিদম সাধারণ ক্ষেত্রে একটি লাইন-টাইম অ্যালগরিদম দেয়।
Tsuyoshi Ito

O(|V|+|E|)k

আমি ভয় করি যে আপনি আমার মন্তব্যে ভুল বোঝেন। আমি আপনার অ্যালগরিদমের সঠিকতা নিয়ে প্রশ্ন করছি, চলমান সময় নয়। ধরুন, চারটি শীর্ষে A, B, C, D প্রান্তের A → B → D এবং A → C → D সহ কয়েকটি ডেটের সাথে কিছু ভার দেওয়া হয়েছে। বি এবং সি এর জন্য আংশিক অঙ্কগুলি গণনা করার পরে, আপনি খ এবং সি এর জন্য ডি এর যোগফলের জন্য আংশিক পরিমাণ যোগ করতে পারবেন না কারণ এর ফলে দু'বার ভার্টেক্সের ওজন যুক্ত হবে।
Tsuyoshi Ito

u<vw(u)

1
হ্যাঁ। এবং এখন আমার মনে আছে আমি এই প্রশ্নটি প্রথম দেখলাম, আমি একইভাবে প্রশ্নটি ভুলভাবে পড়েছি এবং ভেবেছিলাম এটি সুস্পষ্ট হবে। তবে না, আসল প্রশ্নটি এর চেয়ে আরও কঠিন। সময় মনে করতে….
Tsuyoshi Ito
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.