দুটি বহুপদী (গাছ হিসাবে উপস্থাপিত) মধ্যে দূরত্ব সন্ধান করা


20

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


দুটি বহুপদী বিবেচনা করুন যা তাদের অভিব্যক্তি গাছ দ্বারা প্রতিনিধিত্ব করা হয়। উদাহরণস্বরূপ, x32x+1 এবং x2+4 নীচে চিত্রিত:

নিয়মাবলী:

  1. প্রতিটি নোড হয় একটি চলক নাম ( x,y,z, ), একটি সংখ্যা , বা একটি ক্রিয়াকলাপ (+, -, ×)।
  2. গাছের অর্ডার ক্রমবিন্যাসের ফলে বৈধ বহুপদী হওয়া উচিত।
  3. অপারেশন নোডগুলি ইন-ডিগ্রি 2 থাকে। অন্যান্য নোডের ইন-ডিগ্রি 0 থাকে। সমস্ত নোডের আউট-ডিগ্রি 1 থাকে (রুট ছাড়া, যার আউট-ডিগ্রি 0 হয়)।

গাছের একটি নোডে নীচে বেসিক অপারেশনটি সংজ্ঞায়িত করুন :

  1. x×
  2. একটি প্রাথমিক ক্রিয়াকলাপ N এর উপরে একটি এক্সপ্রেশন ট্রি তৈরি করতে পারে (নীচের উদাহরণটি দেখুন)।

টাইপ 1 এর মৌলিক ক্রিয়াকলাপের ব্যয় ১। টাইপ 2 এর জন্য নতুন নির্মিত এক্সপ্রেশন ট্রিতে {+, -, ×} ক্রিয়াকলাপের সমান।

টাইপ 2 এর উদাহরণ: নিম্নলিখিত মৌলিক ক্রিয়াকলাপের ব্যয় 2, যেহেতু নোড এন এর উপরে নির্মিত এক্সপ্রেশন ট্রি দুটি অপারেশন (- এবং।) ব্যবহার করে।

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

সমস্যা: টি 1 এবং টি 2 দেওয়া, একটি অ্যালগরিদম উপস্থাপন করুন যা তাদের দূরত্ব গণনা করে।

উদাহরণ 1: টি 1 এবং টি 2 এই পোস্টের শুরুতে চিত্রিত দুটি গাছ trees বাম গাছের ডান গাছকে রূপান্তর করতে, কেউ × এর উপরে তিনটি দামের একটি গাছ তৈরি করতে পারে এবং 4 থেকে 1 পরিবর্তন করতে পারে (মোট ব্যয় হয় 4)।

x4x4+4x3+6x2+4x+1x(x+1)4x4x36x24x


2
যদি "মুছুন" অপারেশনটি অনুমোদিত না হয় তবে দূরত্বটি কোনও দূরত্ব নয়। উদাহরণস্বরূপ: একটি গাছ টি 1 = (x * x) +4 টি 2 = x তে রূপান্তরিত হতে পারে না, তবে টি 2 টি 1 টি যোগ করে (* x) এবং তারপরে (+4) এক্স এর উপরে রূপান্তরিত হতে পারে। ঠিক আছে ? অথবা আপনার T1 কে টি 2 বা টি 2 কে টি 1 তে রূপান্তর করতে প্রয়োজনীয় ন্যূনতম ক্রিয়াকলাপ হিসাবে দূরত্বটি নির্ধারণ করা উচিত।
মারজিও ডি বায়াসি

4
প্রদত্ত দুটি (বিভাগ-মুক্ত) গাণিতিক সূত্রগুলি একই বহুবচকে উপস্থাপন করে তবেই ব্যয় 0 এর সমান হয়। যদি আমি এটি সঠিকভাবে মনে রাখি তবে এটি কোআরপিতে একটি সাধারণ সমস্যা (এলোমেলোভাবে নিয়োগের মাধ্যমে) যা পি তে জানা যায় না
সোসোশি ইতো

4
@ শুয়োশি: ওহ, আমি দেখছি। আপনি বহুপদী পরিচয় পরীক্ষার সমস্যার দিকে ইশারা করছেন । (ভাল তথ্যসূত্র: [1 ] এবং [2 ])। আমি অবশ্যই এই সম্পর্কে চিন্তা করা উচিত। ইতিমধ্যে, যে কোনও পরামর্শ স্বাগত।
এমএস দৌস্তি

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

2
@ ভোর: বর্তমান সূচনায়, ইনপুট টি 1 আসলেই একটি গাছ এবং ইনপুট টি 2 একটি বহুপদী যা কেবলমাত্র নিম্নলিখিত অর্থে গাছ হিসাবে দেওয়া হবে। একই গাছ বহির্ভূত প্রতিনিধিত্ব করে এমন একটি আলাদা গাছে টি 1 পরিবর্তন করা উত্তরকে সাধারণভাবে পরিবর্তন করতে পারে, অন্যদিকে একইভাবে টি 2 পরিবর্তন করা যায় না।
Tsuyoshi Ito

উত্তর:


10

গাছ সম্পাদনা দূরত্ব স্ট্রিং সম্পাদনা দূরত্বের একটি সাধারণীকরণ। দুটি গাছের মধ্যে দূরত্ব হ'ল নোড সন্নিবেশের ন্যূনতম সংখ্যা tions মুছে ফেলা \ এবং একটি গাছকে অন্য গাছে পরিণত করতে প্রয়োজনীয় রিবেল। (যখন আমরা নোড ভি মুছি, v এর বাচ্চারা পিতামাতার সন্তান হয়ে যায় (v))) সমস্যাগুলি এনপি-হার্ড হয় যখন গাছগুলি আনর্ডারড করা হয়, তবে যখন তাদের আদেশ করা হয় (যেমন, ভাইবোনদের মধ্যে বাম থেকে ডান দিকের ক্রম থাকে) O (n ^ 3) সময়ে সমস্যাটি সমাধানযোগ্য হয় (যেমন কাগজে লেখা আছে যে সাদেক উল্লেখ করেছেন)। একটি ভাল সমীক্ষা যা এটি বর্ণনা করে: http://portal.acm.org/citation.cfm?id=1085283


1
ধন্যবাদ আভিভ আপনি নিজের প্রতিক্রিয়াগুলি মার্জ করে দিলে দুর্দান্ত হবে (আমার মনে হয় আপনার আগের অ্যাকাউন্টটি ব্যবহার করার ক্ষেত্রে আপনার সমস্যা আছে)। আপনি এই পোস্টে পরামর্শগুলি (বিশেষত, এই লিঙ্কটি ) ব্যবহার করতে পারেন ।
এমএস দৌস্তি

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