কোনও গ্রাফে পাথের সংক্ষিপ্ত প্রতিনিধিত্ব


9

আমি গ্রাফের সরল পথগুলির একটি উপসেট পেয়েছি। পথগুলির দৈর্ঘ্য দ্বারা আবদ্ধ ।d

সবচেয়ে কমপ্যাক্ট উপায় কী (স্মৃতি অনুসারে) আমি সেই পাথগুলিকে প্রতিনিধিত্ব করতে পারি যে নির্বাচিতগুলি ব্যতীত অন্য কোনও পথ প্রতিনিধিত্ব করে না?

নোট করুন যে আমি এই প্রতিনিধিত্বটি একটি অ্যালগরিদমে ব্যবহার করতে চাই যা বার বার এই উপসাগরের মাধ্যমে পুনরাবৃত্তি হবে এবং আমি মোটামুটি দ্রুত হতে চাই, সুতরাং উদাহরণস্বরূপ, আমি কোনও মানক সংক্ষেপণ অ্যালগরিদম ব্যবহার করতে পারি না।

আমার মনে যে উপস্থাপনাটি এসেছিল তা ছিল গাছের সেট হিসাবে তাদের প্রতিনিধিত্ব করা। যদিও আমি অনুমান করছি যে এটি সর্বোচ্চ সংখ্যক গাছের নিচে নেমে যাওয়া এনপি-হার্ড? অন্য কোন উপস্থাপনা ভাল হবে?


2
"এই উপসেটটি দিয়ে পুনরাবৃত্তি করার সময়" প্রতিটি পাথ সম্পর্কে আপনার কোন তথ্য দরকার? দৈর্ঘ্য? দেখা নোড? অন্যান্য পথের সাথে ছেদ? ... অনেকগুলি হতে পারে , তাই আপনাকে যদি পুরো পাথগুলি সঞ্চয় করতে হয় তবে আপনাকে "সত্যই দ্রুত নয়" জন্য প্রস্তুত থাকতে হবে। 2d
রাফেল

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

ঠিক আছে, এমনকি দুটি প্রান্ত-বিচ্ছিন্ন সরল পাথের মিলন একটি চক্র তৈরি করতে পারে, সুতরাং এমএসটি কম্পিউটিং করা আপনাকে আমার অনুমানের একটি পথ হারিয়ে ফেলবে। তবে উপরেরটি আপনাকে কিছু ধারণা দিতে পারে।
জুহো

2
আপনি Eppstein এর কাগজ চেক আউট করতে চাইতে পারেন সবচেয়ে কম পাথ, এবং সংশ্লিষ্ট সাহিত্য। তারা সেইসাথে কমপ্যাক্ট উপস্থাপনার সাথেও ডিল করে। k
জুহো

পাথ উপস্থাপনের জন্য এফএসএম ব্যবহারের কিছুটা সম্ভাবনা রয়েছে এবং তারপরে ইউনিয়ন, ছেদ, বিয়োগ ইত্যাদি ইত্যাদি বুনিয়াদি ক্রিয়াকলাপগুলি করতে পারে ... এবং এফএসএম হ্রাস করার "সংক্ষেপণ" অপারেশনটি ভালভাবে বোঝা / অনুকূল এবং দক্ষ efficient এটি কোনও গবেষণাপত্রে দেখেছেন না তবে এটি অন্যরকম একটি অনুরূপ সমস্যার জন্য প্রস্তাব দিয়েছেন ...
ভিজেএন

উত্তর:


4

একটি ট্রি কৌশলটি করতে পারে: http://en.wikedia.org/wiki/Trie

একটি চিঠি দিয়ে আপনার গ্রাফের প্রতিটি প্রান্ত লেবেল করুন। তারপরে ট্রাইগুলিতে যুক্ত করুন যা আপনার গ্রাফের মাধ্যমে পাথকে ট্রাইতে উপস্থাপন করে। "নির্বাচিতগুলি ব্যতীত অন্য কোনও পাথ উপস্থাপন করা হয় না" এই প্রয়োজনীয়তাটি পূরণ করার জন্য আপনি ট্রাইয়ের সমস্ত শীর্ষকে ফাঁকা ছেড়ে দিতে পারেন এবং প্রান্তগুলি লেবেল করতে পারেন, যখন মূল থেকে প্রান্তের দিকে প্রান্তগুলি আপনার কোনও পথকে উপস্থাপন করে তবে কিছু দিয়ে ভার্টেক্স লেবেল করুন। একটি বিল, কিছু ক্রম অনুসারে পথের সংখ্যা ইত্যাদি etc.

আপনার ট্রাইটি তৈরি হয়ে গেলে এটি সর্বোত্তম (বা অনুকূলের কাছাকাছি) উপস্থাপনায় সংকোচনের জন্য অ্যালগরিদম রয়েছে। (লিঙ্কযুক্ত উইকিপিডিয়া নিবন্ধটি দেখুন))


মজাদার. একটি trie তবে স্পেসিফিকেশনের যে আমি সত্যিই (দ্রুত লুকআপ, একটি কী দিয়ে সমিতি, ইত্যাদি) যত্ন সম্পর্কে না একটি অনেক বড় সেট আসে তাই আমি ভাবছি যদি ভাল কিছু সম্ভব ...
ছেড়ে

2

সম্ভবত আপনার সংক্ষিপ্ত তথ্য স্ট্রাকচার দেখতে হবে । এগুলি এমন ডেটা স্ট্রাকচার যা তথ্যের তাত্ত্বিক নীচে আবদ্ধ থাকাতে তথ্যে তাত্ক্ষণিক দক্ষতা সংরক্ষণের সময় তথ্য সংরক্ষণের চেষ্টা করে।

গাছ, অভিধান ইত্যাদির জন্য এমন কাঠামো রয়েছে I আমি মনে করি না এমন কোনও জিনিস যা আপনি যা চান ঠিক তেমন করতে পারে তবে সম্ভবত তাদের মধ্যে কিছু সংমিশ্রণ বা পরিবর্তন আপনাকে সহায়তা করবে।


1

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

এখানে কিছু প্লট দেওয়া হল:

15 গিগাবাইট ইআরএ এবং বিভিন্ন অংশবিশেষের জন্য উপাদান প্রতি অনুক্রমিক অ্যাক্সেস সময়: http://pytables.github.io/_images/seq-chunksize-15GB.png

পাইটিবেলেস ব্লসক ব্যবহার করে ডিকম্প্রেশন গতি: এখানে চিত্র বর্ণনা লিখুন

এবং, যদি সেগুলি দৈর্ঘ্যের সাথে আবদ্ধ থাকে, আপনি এগুলি একটি টেবিলের মধ্যে রাখতে পারেন এবং সম্ভবত সম্ভবত আরও কিছুটা জায়গা অর্জন করতে পারেন। এবং এগুলি স্মৃতি থেকে পুনরুদ্ধার করার সময় আপনার অ্যালগরিদম প্রয়োগ করার জন্য আপনার কাছে ইতিমধ্যে এটি খুব সুবিধাজনক ফর্মের মধ্যে রয়েছে।

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