আকর্ষণীয় অ্যানগ্রামগুলি সন্ধান করা হচ্ছে


31

বলুন যে এবং একই দৈর্ঘ্যের দুটি স্ট্রিং। দুটি স্ট্রিংয়ের একটি অ্যানোগ্রামিং হল একটি বাইজিক ম্যাপিং যেমন প্রতিটি জন্য ।a1a2anb1b2bnp:[1n][1n]ai=bp(i)i

একই জোড়ের স্ট্রিংয়ের জন্য একাধিক অ্যানোগ্রামিং থাকতে পারে। উদাহরণস্বরূপ, যদি `অবকাব এবং আমাদের কাছে এবং , অন্যদের মধ্যে।a=b=cababp1[1,2,3,4,5][4,5,1,2,3]p2[1,2,3,4,5][2,5,1,4,3]

আমরা বলব যে একটি এনগ্রামগ্রাম এর ওজন হ'ল খণ্ডগুলি পেতে দ্বিতীয় স্ট্রিংটি পুনরায় সাজানো যায় এমন অংশগুলি পেতে প্রথম স্ট্রিংয়ে যে কাট করতে হবে তার সংখ্যা। আনুষ্ঠানিকভাবে, এই এর মানগুলির সংখ্যা যার জন্য । অর্থাৎ এটা পয়েন্ট যা সংখ্যা নেই না , ঠিক 1. উদাহরণ দ্বারা বৃদ্ধি এবং কারণ মধ্যেও একবার খন্ডে এবং , এবং মধ্যেও চার বার, পাঁচ খণ্ডেw(p)pi[1n1]p(i)+1p(i+1)pw(p1)=1w(p2)=4p11234512345p212345

ধরুন, এবং দুটি স্ট্রিংয়ের জন্য একটি অ্যানোগ্রামিং রয়েছে । তারপরে কমপক্ষে একটি অ্যানগ্রগ্রামে কমপক্ষে ওজন থাকতে হবে। যাক এটি হালকা হয় । (একাধিক লাইটেস্ট এন্ডোগ্রামিংস থাকতে পারে; আমি যত্ন করি না কারণ আমি কেবল ওজনে আগ্রহী))ab

প্রশ্ন

আমি একটি অ্যালগরিদম চাই, যা দুটি স্ট্রিং দেওয়া হয়েছিল যার জন্য একটি এনগ্রামেজিং বিদ্যমান, দক্ষতার সাথে দুটি স্ট্রের হালকা অ্যানগ্র্যামিংয়ের সঠিক ওজন পাওয়া যায় । এটি ঠিক আছে যদি অ্যালগরিদম থেকেও হালকা অ্যানোগ্রামিং পাওয়া যায় তবে এটির দরকার নেই।

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


প্রেরণা

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

cholecystoduodenostomy
duodenocholecystostomy

সমস্যা স্পষ্ট হওয়া উচিত: এই নীরস হয় কারণ তারা একটি খুব হালকা anagramming মানা যে কেবল বিনিময় cholecysto, duedenoএবং stomyঅংশ, 2. অন্যদিকে ওজন জন্য, এই অনেক খাটো উদাহরণ আরো অনেক কিছু বিস্ময়কর এবং আকর্ষণীয় হল:

উপকূলীয়
বিভাগীয়

এখানে সবচেয়ে হালকা এনাগ্রামিংয়ের ওজন 8 রয়েছে।

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


কৌতূহলের বাইরে, আপনি কীভাবে এনগ্রগ্রামের জোড়া খুঁজে পাবেন? আপনি কি একটি নিষ্ঠুর শক্তিএকই দৈর্ঘ্যের সমস্ত শব্দের মধ্যে হে ( এন 2 ) অনুসন্ধান করেন? O(n2)
পেড্রো

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

আমার এখন আমার ব্লগে এই সম্পর্কে কম বেশি সম্পর্কিত তথ্য রয়েছে: (α) (β) (γ) (δ)
মার্ক ডোমিনাস

উত্তর:


21

এই সমস্যাটি "ন্যূনতম সাধারণ স্ট্রিং পার্টিশন সমস্যা" হিসাবে পরিচিত ((আরও সুনির্দিষ্টভাবে বলা যায়, ন্যূনতম সাধারণ স্ট্রিং পার্টিশন সমস্যার উত্তরটি আপনার সমস্যার সাথে আরও 1 এর উত্তর সমান) গোল্ডস্টেইন, কিলম্যান এবং ঝেং [GKZ05] দ্বারা প্রমাণিত প্রতিটি ইনপুট স্ট্রিংয়ের প্রতিটি অক্ষর সর্বাধিক দ্বিগুণ ঘটে। এর অর্থ পি = এনপি না থাকলে কোনও বহু-কালীন অ্যালগরিদম উপস্থিত নেই। (অবশ্যই, প্রতিটি চিঠি যদি একবারে ঘটে থাকে তবে সমস্যাটি তুচ্ছ কারণ এখানে কেবলমাত্র একটি এনজ্রামিং রয়েছে))

ইতিবাচক দিক থেকে, একই লেখক [GKZ05] একই বিধিনিষেধের অধীনে একটি বহুবর্ষ-সময় 1.1037-আনুমানিক অ্যালগরিদম দেয়। (একটি "1.1037- পড়তা অ্যালগরিদম " একটি অ্যালগরিদম যা পারে আউটপুট না সঠিক উত্তরটি মানে একজন কিন্তু আউটপুট নিশ্চিত করা হয় একটি মান বি যেমন যে একজনবি ≤ 1,1037 একটি তারা একটি রৈখিক সময় 4-পড়তা অ্যালগরিদম অধীনে দেব।) দুর্বল সীমাবদ্ধতা যে প্রতিটি অক্ষর প্রতিটি ইনপুট স্ট্রিংয়ে কমপক্ষে তিনবার ঘটে।

[GKZ05] অভ্রাহাম গোল্ডস্টেইন, পেট্রর কোলম্যান এবং জি ঝেং। সর্বনিম্ন সাধারণ স্ট্রিং পার্টিশন সমস্যা: কঠোরতা এবং আনুমানিক। কম্বিনেটেরিক্সের ইলেকট্রনিক জার্নাল , 12, আর্টিকেল আর 50, 2005. http://www.combinatorics.org/ojs/index.php/eljc/article/view/v12i1r50



9

এটি উদ্ধৃত GKZ05 পেপারের সর্বাধিক প্রাসঙ্গিক অংশের সংক্ষিপ্তসার করে, উপরের স্যুওশি ইতোর উত্তরের একটি অনুসরণ ।

কাগজটি সর্বাধিক স্বতন্ত্র সেট ( এমআইএস ) সমস্যার হ্রাস প্রমাণ করে । গ্রাফ আঁকো যার ছেদচিহ্ন হয় জোড়া ( আমি , ) যেমন যে একটি আমি = এবং একটি আমি + + 1 = + + 1 । কানেক্ট ছেদচিহ্ন ( আমি , ) এবং ( , ) (যেখানে আমি k ) একটি প্রান্ত সঙ্গে যখনই এটা অসম্ভব যে anagramming সব মানচিত্র পারে আমিG(i,j)ai=bjai+1=bj+1(i,j)(k,)ik এবং i + 1 j + 1 এবং কে এবং কে + 1 + 1 । এটি সনাক্ত করা সহজ; এই ধরণের মানচিত্রটি নিম্নলিখিতগুলির মধ্যে একটি হোল্ড হলে ঠিক অসম্ভব:iji+1j+1kk+1+1

  1. এবং j ℓ ℓi=kj
  2. এবং j + 1 ℓ ℓi+1=kj+1
  3. এবং { , + + 1 } থেকে টুকরো করা হয় { , + + 1 }i+1<k{j,j+1}{,+1}

বলুন ফলে গ্রাফ আকারের একটি সর্বোচ্চ স্বাধীন সেট আছে গুলি । তারপরে ন্যূনতম এনগ্রামগ্রামের ওজন হ'ল n - s - 1 , যেখানে এন স্ট্রিংগুলির দৈর্ঘ্য a এবং b হয় । (কথোপকথনটিও ধারণ করে: স্বল্প ওজনের অ্যানোগ্রামামিং জি এর জন্য সরাসরি একটি বড় এমআইএসে অনুবাদ করে details বিস্তারিত তথ্যের জন্য কাগজের পৃষ্ঠা 4-5 দেখুন))Gsns1nabG

উদাহরণস্বরূপ, দুটি স্ট্রিং বিবেচনা করুন yttriousএবং touristy। সংশ্লিষ্ট গ্রাফের দুটি শৃঙ্খলা রয়েছে, একটি ভাগ করা ouজুটির জন্য এবং একটি ভাগ করা riজুটির জন্য। কারণ এটি একটি anagramming উভয় মানচিত্র নেই সম্ভব সেখানে, ছেদচিহ্ন মধ্যে কোন প্রান্ত হয় ouথেকে ouএবং riথেকে ri; বা যে কেউ তিনটি শর্ত সর্বোপরি ব্যর্থ হয়েছে তা পরীক্ষা করতে পারে। সুতারং গ্রাফে স্পষ্টত আকারের একটি এমআইএস হয়েছে এবং সর্বনিম্ন anagramming ওজন প্রকৃতপক্ষে 8-2-1 = 5, anagramming সংশ্লিষ্ট হয় ↔ । 's=2y|t|t|ri|ou|st|ou|ri|s|t|y

অন্যদিকে, বিবেচনা করুন deraterএবং treader। এবার গ্রাফের তিনটি শীর্ষে রয়েছে:

  1. DErater + + treaDEr
  2. dERater + + treadER
  3. deratER + + treadER

s=2der|a|t|e|rt|r|e|a|der


2
ফলোআপ পোস্টের জন্য আপনাকে ধন্যবাদ, তবে এটি আপনার সমস্যার এনপি-সম্পূর্ণতার প্রমাণ নয়। আপনার সমস্যার এনপি-সম্পূর্ণতা প্রমাণ করতে আপনাকে আপনার সমস্যার কিছু পরিচিত এনপি-সম্পূর্ণ সমস্যা হ্রাস করতে হবে, এবং এটি [জি কেজেড ০৫] এর উপপাদ্য ২.২। আপনি এখানে যা উপস্থাপন করেছেন ([GKZ05] এর লেমা 1.1) এটি বিপরীত দিকে হ্রাস।
সোসোশি ইতো

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

2

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

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

সুতরাং, দ্বিতীয় চিন্তাটি হ'ল (machine লা মেশিন ট্রান্সলেশন অ্যালাইনমেন্টস) শব্দের মধ্যে একটি চিঠি-থেকে-চিঠি প্রান্তিককরণ তৈরি করা এবং তারপরে "আকর্ষণীয়তা" এর জন্য প্রান্তিককরণগুলি স্কোর করা (উদাহরণস্বরূপ, বিন্যাসে সংলগ্ন অক্ষরগুলি গ্রহণ করে এমন প্রান্তিককরণ গণনা করা) সংলগ্ন অক্ষর বা প্রতিটি প্রান্তিককরণ, এবং কতগুলি প্রান্তিককরণ অতিক্রম করে; এবং তারপরে লগলাইনার মডেল বা এ জাতীয় মাধ্যমে সমস্ত একত্রিত করে)।

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


0

ক্রমশক্তি গ্রুপগুলির ক্ষেত্রে সমস্যাটি চিহ্নিত করা যেতে পারে ।

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

প্রথমে অনুমানের জন্য স্বরলিপিটি স্মরণ করুন, যথা তথাকথিত চক্র চিহ্নিতকরণ :

  • ()
  • (1)
  • (12)
  • (123)
  • এবং তাই একটি

এই সাধারণ 'চক্র' আরও জটিল ক্রমান্বন বর্ণনা করতে রচিত হয়।

n

  • (12)
  • (a b)(a+1 b+1)a>0b<a+1b+1n
  • ...
  • (a b)(a+1 b+1)(a+i1 b+i1)a>0a+i1bb+i1n

এই পদক্ষেপগুলি আপনার অ্যালগরিদমের ভিত্তি তৈরি করে। আপনি যে বিষয়ে আগ্রহী তা হ'ল একটি শব্দ থেকে অন্য শব্দে সরানোর জন্য এই পদক্ষেপের ক্ষুদ্রতম ক্রম সন্ধান করা।

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


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

1
"আপনি যে বিষয়ে আগ্রহী তা হ'ল একটি শব্দ থেকে অন্য শব্দে সরানোর জন্য এই পদক্ষেপের ক্ষুদ্রতম ক্রম সন্ধান করা।" আমি মনে করি না এটি সঠিক। উদাহরণস্বরূপ, যদি এন = 4, অদলবদলের (1 2) ওজন 2 হয় তবে স্বাপের (2 3) ওজন 3 থাকে Your আপনার গণনার পদ্ধতিতে এই দুটি পৃথক হয় না।
সোসোশি ইতো

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

0

Cholecystrododenostomy / duodenocholecystostome- এর জন্য আমি লক্ষ্য করেছি যে আপনি প্রতিটি চরিত্রকে একটি ব-দ্বীপ হিসাবে কতটা স্থানান্তরিত হয়েছে তা বর্ণনা করে যদি আপনি একটি সংখ্যা নির্ধারণ করেন তবে আপনার কাছে 7 7 এর পরে 8 -7, এর পরে 6 0 এর মতো কিছু থাকবে। এটি সঠিক নয় কারণ কিছু অক্ষর পুনরাবৃত্তি হতে পারে (দ্বিতীয় সি কেবল 2 এগিয়ে যায়, 7 পিছনে নয়) ইত্যাদি তবে তবুও খুব "রান দৈর্ঘ্য এনকোডেবল" কারণ আপনি একটি সারিতে একই ডেল্টা দেখতে পান।

উপকূলরেখার / বিভাগীয় সাথে তুলনা করুন, যেখানে আপনি (+ 2) (+ 5) (+ 5) (- 3) (- 1) (+ 3) .... অনেক কম "রান দৈর্ঘ্যের এনকোডেবল" এর মতো দেখতে পান।

সম্ভবত ডেল্টাসের এলোমেলোতা আপনাকে একটি "স্কোর" দিতে পারে যে এনগ্রাগমটি কতটা আকর্ষণীয়?

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