কীভাবে উকোনেনের অ্যালগরিদমের রানটাইম অক্ষরের আকারের উপর নির্ভর করে?


19

আমি ইউকোনেনের অ্যালগরিদমের অ্যাসিম্পটোটিক চলমান সময়ের প্রশ্নে উদ্বিগ্ন , সম্ভবত রৈখিক (?) সময়ে প্রত্যয় গাছ নির্মাণের জন্য সর্বাধিক জনপ্রিয় অ্যালগরিদম

এখানে ড্যান গুসফিল্ডের বিভাগ "অ্যালগরিদমস, স্ট্রিংস, ট্রি অ্যান্ড সিকোয়েন্সস" বইয়ের একটি উদ্ধৃতি দেওয়া হয়েছে (বিভাগ 6.5.1):

"... Aho-Corasick, Weiner, Ukkonen এবং McCreight আলগোরিদিম সব পারেন প্রয়োজন স্থান, বা সময় বেঁধে ন্যূনতম দিয়ে প্রতিস্থাপিত করা উচিত এবং "।Θ(মি|Σ|)হে(মি)হে(মিলগমি)হে(মিলগ|Σ|)

[ স্ট্রিং দৈর্ঘ্য এবং বর্ণমালার আকার]মিΣ

আমি বুঝতে পারছি না কেন এটি সত্য।

  • স্থান: ভাল, যদি আমরা আকারের অ্যারেগুলি ব্যবহার করে নোডগুলির বাইরে শাখাগুলি উপস্থাপন করি তবে অবশ্যই আমরা স্থান ব্যবহার শেষ করব। তবে যতদূর আমি দেখতে পাচ্ছি, শাখাগুলি হ্যাশ টেবিল ব্যবহার করে সংরক্ষণ করা সম্ভব (বলে, পাইথনের অভিধান)। আমাদের তখন কেবলমাত্র পয়েন্টারগুলি সমস্ত হ্যাশ টেবিলগুলিতে পুরোপুরি সঞ্চিত থাকে (যেহেতু প্রান্ত রয়েছে), তবুও সময়ে শিশু নোডগুলিতে অ্যাক্সেস করতে সক্ষম হয়ে যেমন অ্যারে ব্যবহার করার সময়।Θ(|Σ|)Θ(মি|Σ|)Θ(মি)Θ(মি)হে(1)
  • সময় : উপরে উল্লিখিত হিসাবে, হ্যাশ টেবিলগুলি আমাদের সময়ে যে কোনও নোডের বহির্গামী শাখাগুলি অ্যাক্সেসের অনুমতি দেয় । যেহেতু উকোনেনের অ্যালগরিদমে অপারেশনগুলি (বাচ্চাদের নোডগুলি অ্যাক্সেস সহ) প্রয়োজন হয়, তাই সামগ্রিক চলমান সময়টি ।হে(1)হে(মি)হে(মি)

কেন আমি আমার সিদ্ধান্তে ভুল হয়েছি এবং গুসফিল্ড কেন বর্ণমালার উপর উকোনেনের অ্যালগরিদমের নির্ভরতা সম্পর্কে সঠিক তা সম্পর্কে যে কোনও ইঙ্গিতগুলির জন্য আমি আপনার প্রতি কৃতজ্ঞ থাকব।


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

(চালিয়ে যাওয়া) একবার গাছটি সম্পূর্ণ হয়ে গেলে আপনি এটি করতে পারতেন তবে অ্যালগরিদমের নিজেই সীমাবদ্ধ সময়টি এখনও অপরিবর্তিত থাকবে। (প্রশ্নের জন্য যদিও +1।)
jogojapan

1
দরকারী প্রসঙ্গে:
উকোনেনের

উত্তর:


2

হে(1)হে(1)Ω(Σ)Θ(মিΣ)

আরও কী, বাস্তবে এই সমস্ত হ্যাশ টেবিল স্থাপনের সময় অ্যারে সেট আপ করার সময়ের চেয়ে অনেক বেশি হবে।

আপনি কোনও গ্লোবাল হ্যাশ টেবিলটি (নোড, চরিত্র) - জোড়গুলির সাথে সূচিযুক্ত ব্যবহার করে আরও ভাল ব্যবহার করতে পারেন তবে কমপক্ষে "কেবলমাত্র amorised" যুক্তি থেকে যাবে।

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