পরিবর্তিত অপরিবর্তিত গ্রাফে উপাদানগুলির ট্র্যাক রাখতে কোনও অনলাইন-অ্যালগরিদম আছে কি?


12

সমস্যা

আমার একটি পুনর্নির্দেশিত গ্রাফ রয়েছে (মাল্টি-এজগুলি সহ) যা সময়ের সাথে সাথে পরিবর্তন হবে, নোড এবং প্রান্তগুলি sertedোকানো এবং মুছে ফেলা হতে পারে। গ্রাফের প্রতিটি সংশোধন করার সময়, আমাকে এই গ্রাফের সংযুক্ত উপাদানগুলি আপডেট করতে হবে।

প্রোপার্টি

অতিরিক্ত বৈশিষ্ট্য হ'ল কোনও দুটি উপাদান আর সংযুক্ত হবে না। স্পষ্টতই, গ্রাফটিতে একটি নির্বিচার পরিমাণে চক্র থাকতে পারে (অন্যথায় সমাধানটি তুচ্ছ হবে)। একটি প্রান্ত নোড না থাকলে এটি কখনই সেই নোড গ্রহণ করবে না। যাইহোক, যদি , এটা করতে পারেন পরিবর্তন ।ennene

পন্থা

আমার এখন পর্যন্ত দুটি সম্ভাব্য পন্থা রয়েছে তবে আপনি দেখতে পাবেন সেগুলি ভয়াবহ:

ধীরে ধীরে রাষ্ট্র-কম

আমি প্রতিবার পরিবর্তিত উপাদান (গুলি) থেকে শুরু করে গ্রাফটি (ডিএফএস / বিএফএস) অনুসন্ধান করতে পারি। এটি স্থান সংরক্ষণ করে, তবে আমাদের প্রতিটি সংশোধনের জন্য ও (এন + এম) থাকায় ধীর গতির।

রাষ্ট্রীয় দ্রুত (-er) (?) পদ্ধতির

আমি প্রতিটি নোডের জন্য সমস্ত সম্ভাব্য নোডের সমস্ত সম্ভাব্য পাথ সংরক্ষণ করতে পারি তবে আমি যদি এটি সঠিকভাবে দেখি তবে এটি O (n ^ 4) মেমোরি গ্রহণ করবে। তবে রানটাইম উন্নতি কীভাবে হয় তা আমি নিশ্চিত নই (যদি কোনও একরকম থাকে তবে আমাকে একই উপাদানটিতে প্রতিটি নোডের জন্য তথ্য আপ-টু-ডে রাখতে হবে)।

প্রশ্ন

আপনার কি কোনও পয়েন্টার রয়েছে, আমি কীভাবে সেই সমস্যাটি সম্পর্কে বা আরও কিছু অ্যালগরিদম তৈরি করতে পারি তা আরও শিখতে পারি?

বিঃদ্রঃ

রানটাইম / স্মৃতিতে যদি বিশাল উন্নতি হয় তবে আমি একটি অপ-অনুকূল সমাধানের সাথে বেঁচে থাকতে পারি যা মাঝে মাঝে বলে যে দুটি উপাদান একটি, তবে অবশ্যই আমি একটি অনুকূল সমাধান পছন্দ করব।


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

@ মাভারিক উ: সর্বদা নতুন প্রান্ত / নোড থাকতে পারে। আমি মনে করি শেষ কারণটি খুব শক্তিশালী নয়, ঠিক এই কারণেই। এটি কি এখনও হ্রাস হিসাবে যোগ্য?
বিটমাস্ক

ওফস, আমি জানিনা কীভাবে আমি প্রথম বাক্যটি মিস করেছি ... নীচের "উত্তর" দেখুন।
ম্যাভেরিক উ

উত্তর:


17

একাধিক ডেটা স্ট্রাকচার রয়েছে যা পলিওগারিদমিক সময়ে প্রান্ত সন্নিবেশ, প্রান্ত মোছা, এবং সংযোগ অনুসন্ধানগুলি (এই দুটি সংযুক্ত উপাদানটি কি একই সংযুক্ত উপাদানটিতে রয়েছে?) সমর্থন করে।


এটি দুর্দান্ত শোনাচ্ছে, একবার আমি কাগজপত্রগুলির মাধ্যমে যাব, আমি সম্ভবত এটি গ্রহণ করব।
বিটমাস্ক

6

আমি মনে করি যে আপনি সংযুক্ত উপাদান পচন জন্য ডায়নামিক গ্রাফ অ্যালগরিদম যা খুঁজছেন তা সন্ধান করছেন। হলম, ডি লিচেনবার্গ এবং থারুপ [এইচএলটি01] দ্বারা তৈরি অ্যালগরিদম প্রতিটি প্রান্ত আপডেটে বহুভিত্তিক সময় বিমোচন করেছে। আমি গতবার সমস্যার দিকে নজর রেখে অনেক দিন হয়েছে, সুতরাং সম্ভবত সাম্প্রতিক আরও অনেক অগ্রগতি রয়েছে।

[এইচএলটি 01] জ্যাকব হলম, ক্রিস্টিয়ান ডি লিচেনবার্গ এবং মিক্কেল থারুপ বহু-লগারিদমিক ডিটারমিনিস্টিক সংযোগের জন্য সম্পূর্ণ গতিশীল অ্যালগরিদম, ন্যূনতম বিস্তৃত গাছ, 2-প্রান্ত এবং দ্বি সংযোগের জন্য। এসিএমের জার্নাল , 48 (4): 723–760, জুলাই 2001. http://doi.acm.org/10.1145/502090.502095


দুর্ভাগ্যদায়ক। তুমি আমার কাছে কোক ণী
জেফি

@ জেফি: আমি এই গেমটি সম্পর্কে জানতাম না । তবে নিয়ম অনুসারে, আমি খেলাটি হারাতে পারি নি (আমি কেবল "জিন্সড" অবস্থায় আছি), সুতরাং আমি আরও কথা না বললে আমি আপনার কাছে কোকের ঘৃণা করব না ... ওহ, একটি মুহূর্ত অপেক্ষা করুন।
Tsuyoshi Ito

যদি কেবল আপনি খ্যাতি পয়েন্টগুলিতে বাণিজ্য করতে পারেন :)
সুরেশ ভেঙ্কট

5

(আপাতত আমাকে কেবল কানেক্টিভিটি প্রশ্নের সাথে আটকে দিন, যা দুর্ভাগ্যক্রমে আপনার আবেদনের জন্য যথেষ্ট নাও হতে পারে।)

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

আফাইক, সিএস থিওরি সম্প্রদায় কেবলমাত্র সাধারণ গ্রাফের জন্য কেবল শীর্ষস্থানীয় আপডেটগুলি দেখতে শুরু করছে। ২০০OC সালে এফওসিএস-এ চ্যান, প্যাট্র্যাকু এবং রডিটি এই বিষয়ে একটি ভিত্তি-ব্রেকিং কাজ করেছিলেন very খুব সাম্প্রতিক (সেপ্টেম্বর ২০১০) সংশোধন এবং এর মধ্যে উল্লেখের জন্য এই লিঙ্কটি দেখুন ।


আপনি কেন মনে করেন যে হোল্ম এট। অল। যোগাযোগ আমার সমস্যার জন্য কাজ করে না? আমি এটি গ্রহণ করতে যাচ্ছি।
বিটমাস্ক

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

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