একটি স্ট্রিংয়ে দীর্ঘতম পুনরাবৃত্তি (ছড়িয়ে ছিটিয়ে) সাবসেসেন্স


26

অনানুষ্ঠানিক সমস্যার বিবৃতি:

একটি স্ট্রিং দেওয়া হয়েছে, যেমন , আমরা কিছু বর্ণ লাল করতে চাই এবং কয়েকটি বর্ণকে নীল (এবং কিছু কিছু নয়) যেমন বাম থেকে ডানদিকে কেবল লাল বর্ণগুলি পড়লে একই ফল পাওয়া যায় কেবল নীল বর্ণACCABBAB

উদাহরণস্বরূপ আমরা তাদের রঙ করতে পারি: ACCABBAB

অতএব, আমরা বলতে একটি পুনরাবৃত্তি subsequence হয় একটি সি সি একটি বি বি বি । এটি একটি দীর্ঘতম পুনরাবৃত্ত উপসর্গও (যা পরীক্ষা করা সহজ)।CABACCABBAB

আমরা কি দক্ষতার সাথে দীর্ঘতম পুনরাবৃত্ত উপসর্গগুলি গণনা করতে পারি?

আনুষ্ঠানিক প্রশ্ন:

একটি স্ট্রিং এবং কিছু -এর জন্য সিদ্ধান্ত নেওয়া কি এনপি-হার্ড, স্ট্রিংটিতে kদৈর্ঘ্যের এর পুনরাবৃত্ত অনুচ্ছেদk বিদ্যমান কিনা ?

  • যদি তাই হয়: কোন সমস্যা এই সমস্যা কমাতে পারে?
  • যদি না: একটি দক্ষ অ্যালগরিদম কী? (স্পষ্টতই, এই অ্যালগরিদমটি দীর্ঘতম পুনরাবৃত্ত উপসর্গ গণনা করতে ব্যবহার করা যেতে পারে)

বোনাস প্রশ্ন:

বর্ণগুলির আকার যদি একটি ধ্রুবক দ্বারা আবদ্ধ থাকে তবে তাদের সর্বদা দৈর্ঘ্যের এর পুনরাবৃত্ত অনুচ্ছেদ হবে n/2o(n)?

(এটি বাইনারি বর্ণমালার জন্য সত্য বলে পরিচিত))

সম্পাদনা 2: বোনাস প্রশ্নের নেতিবাচক উত্তরটি ইতিমধ্যে কমপক্ষে আকারের বর্ণমালাগুলির জন্য পরিচিত । আকারের বর্ণমালার জন্য আসলে সেখানে নিছক একটি দৈর্ঘ্য দীর্ঘতম পুনরাবৃত্তি subsequences সঙ্গে স্ট্রিং হয় । এটি দেখানোর জন্য এলোমেলো স্ট্রিং যথেষ্ট। ফলাফল ইতিমধ্যে বিদ্যমান ছিল, কিন্তু আমি এটি উপেক্ষা করেছি।5ΣO(n·Σ1/2)

সম্পাদনা: দ্রষ্টব্য:

কিছু লোকেরা যখন "অনুচ্ছেদ" বলে তখন "সাবস্ট্রিং" বোঝায়। আমি না। এটি দুটি বার সাবস্ট্রিংগুলি খুঁজে পাওয়ার সমস্যা নয়।


সেকতি, আপনাকে ধন্যবাদ। আপনি ঠিক বলেছেন: আমার প্রথম মন্তব্যটি ভুল ছিল; আমি এখন এটি মুছে ফেলেছি। অন্যদিকে, আমার অবশিষ্ট মন্তব্য করা হয় অ সংলগ্ন subsequences বিষয়ে কথা। যদি স্থির করা থাকে তবে সময় বা আপনার সমস্যা সমাধানের জন্য একটি উপায় আছে (অ-সংলগ্ন অনুচ্ছেদে, অ-ওভারল্যাপিং হিসাবে বাধ্যতামূলক) । প্রতিটি ডিপি সাব-প্রবলেম সমস্ত লাল বর্ণ এবং এখন পর্যন্ত নির্বাচিত সমস্ত নীল বর্ণের সূচকের উপর নজর রাখে। এটি সম্ভবত উদ্বেগজনক, কারণ যখন অংশ হয় তখন কী ঘটে তা আমাদের জানায় না । ( এন 2 কে + 2 ) কেkO(n2k+2)k
ডিডাব্লু

@ ডিডাব্লু কেন দীর্ঘতম সাধারণ অনুচ্ছেদটির এই পরিবর্তনটির মাধ্যমে আনুষ্ঠানিক প্রশ্নের উত্তর কার্যকরভাবে দেওয়া যায় না ? সম্ভবত আমি কিছু মিস করছি এবং কেউ আমার জন্য স্পষ্ট করতে পারে।
ব্রাইস কিল

@ ব্রাইসকিল, আমি জানি না; হতে পারে। যদি আপনি কীভাবে এটি করতে পারেন তবে আমি আশা করি আপনি একটি উত্তর লিখবেন!
ডিডাব্লিউ

উত্তর:


-2

এটি সমাধান করা যেতে পারে বহুপক্ষীয় সময়একটি গ্রাফ নির্মাণ করে যেখানে প্রতিটি নোড এর কিছু পুনরাবৃত্ত একটি বিন্দু করে যে । নোডের মধ্যে এজ এবং মানে যে অব্যাহত যাবে 2 দৈর্ঘ্যের একটি পুনরাবৃত্ত subsequence গঠনের।( আই , ) এস এস [ আই ] = এস [ জে ] ইউ ভি ইউ ভিG(i,j)SS[i]=S[j]uvuv

1. নোডগুলি সন্ধান করুন। এটি প্রতিটি অক্ষরের জন্য সূচকের বাছাই করা তালিকা তৈরি করে এবং তারপরে অনন্য যুগল গণনার মাধ্যমে ও সময়ে করা যেতে পারে । নোডের বেশি নেই ।সি এম = এন 2O(n2)cm=n2

2. প্রান্তগুলি সন্ধান করুন। নোড দ্বারা নোড অব্যাহত রাখা যায় কিনা তা যাচাই করতে সময় লাগে , সুতরাং সমস্ত জোড় এই পদক্ষেপটি সময় নেয়।ইউ ভি ( ইউ , ভি ) ( এম 2 )O(1)uv(u,v)O(m2)

৩. দ্রষ্টব্য যে এর দীর্ঘতম পথটি কোনও বৈধ পুনরাবৃত্ত উপসর্গ হতে পারে না। এবং পাথ বিবেচনা করুন । যদি একটি প্রান্ত বিদ্যমান থাকে তবে দৈর্ঘ্যের 3 বৈধ পুনরাবৃত্ত অনুচ্ছেদ Therefore সুতরাং দৈর্ঘ্যের সমস্ত পুনরাবৃত্ত উপসর্গগুলি সন্ধান করতে সময় লাগে 3. সাধারণ ক্ষেত্রে দুটি বৈধ পাথ কিনা তা পরীক্ষা করতে রৈখিক সময় লাগে দৈর্ঘ্য এর দৈর্ঘ্য এর একটি বৈধ পথে একত্রিত হতে পারে ।একটি একটি একটি হে ( মি 4 ) এন এন + + 1GabbcacabcO(m4)nn+1

৪. আর পদক্ষেপ খুঁজে পাওয়া না পাওয়া পর্যন্ত পদক্ষেপ 3 পরিমার্জন করুন।


হুম। খুব দ্রুত. পদক্ষেপ 3 এ বিবেচনা করার জন্য উপসর্গের সংখ্যা আরও বড় এবং বড় হয়। সুতরাং এটি বহুপদী নয়।
নপলজিস্ট

1
CS.SE এ আপনাকে স্বাগতম, এবং এই সমস্যাটি সমাধান করার চেষ্টা করার জন্য আপনাকে ধন্যবাদ! আমি ভয় করি আমি আপনার অ্যালগরিদম বুঝতে পারি না। পদক্ষেপ 3 কি? আমি "3" এ যা দেখছি কিছু ঘোষণামূলক বিবৃতি / পর্যবেক্ষণ, তবে আমি অ্যালগরিদমটি কী করণীয় তা সম্পর্কে একটি পদ্ধতিগত বিবরণ দেখতে পাচ্ছি না। এছাড়াও, আমি পদক্ষেপ 3 পুনরাবৃত্তি করার অর্থ কী বা আপনার পর্যায়ে রয়েছে বলে দাবি করার যৌক্তিকতাটি আমি দেখতে পাচ্ছি না । আপনার পরবর্তী মন্তব্যটি এটিকে শোনায় আপনার উত্তরটি সঠিক বলে বিশ্বাস করেন না। যদি তা হয় তবে বিভ্রান্তি এড়াতে উত্তর মুছে ফেলা আরও ভাল। O(nnm2)
ডাব্লু

আপনি উত্তরটি পরে খুঁজে বের করলে আপনি সর্বদা মুছে ফেলা বা একটি নতুন উত্তর পোস্ট করতে পারেন।
ডাব্লু

ধন্যবাদ, ধন্যবাদ পদক্ষেপ 3 এ ইনপুট হ'ল দৈর্ঘ্য n এর সমস্ত পুনরাবৃত্ত উপসর্গ এবং আউটপুট হ'ল দৈর্ঘ্য n + 1 এর সমস্ত পুনরাবৃত্ত অনুচ্ছেদ। আমি বিশ্বাস করি অ্যালগরিদম সঠিক তবে এটি বহু-কালীন অ্যালগরিদম নয়। আমি এখন যে দাবিগুলি ভুল বলে বিবেচনা করেছি তা চিহ্নিত করেছি।
নপলজিস্ট

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