दो बहुपदों (पेड़ों के रूप में प्रतिनिधित्व) के बीच की दूरी का पता लगाना


20

आनुवांशिक प्रोग्रामिंग पर काम करने वाले एक सहयोगी ने मुझसे निम्नलिखित प्रश्न पूछे। मैंने पहली बार एक लालची दृष्टिकोण के आधार पर इसे हल करने की कोशिश की, लेकिन एक दूसरे विचार पर, मुझे लालची एल्गोरिथ्म का एक प्रतिरूप मिला। इसलिए, मैंने सोचा कि यह यहाँ ध्यान देने योग्य है।


दो बहुपदों पर विचार करें जो उनकी अभिव्यक्ति पेड़ों द्वारा दर्शाए गए हैं। उदाहरण के लिए, एक्स3-2एक्स+1 और एक्स2+4 नीचे दिए गए हैं:

नियम:

  1. प्रत्येक नोड या तो एक चर नाम ( एक्स,y,z,... ), एक संख्या , या एक ऑपरेशन (+, -, ×) है।
  2. पेड़ के इन-ऑर्डर ट्रैवर्सल का परिणाम एक वैध बहुपद में होना चाहिए।
  3. ऑपरेशन नोड्स में डिग्री-2 है। अन्य नोड्स में डिग्री-डिग्री 0. सभी नोड्स में आउट-डिग्री 1 (रूट को छोड़कर, जिनकी आउट-डिग्री 0 है)।

पेड़ के नोड एन पर, निम्नानुसार मूल ऑपरेशन को परिभाषित करें :

  1. एक मूल ऑपरेशन नोड के लेबल को बदल सकता है। उदाहरण के लिए, एक्स को 3 में बदला जा सकता है, या + को × बदला जा सकता है ।
  2. एक मूल ऑपरेशन एन के ऊपर एक अभिव्यक्ति पेड़ का निर्माण कर सकता है (नीचे उदाहरण देखें)।

टाइप 1 के मूल संचालन की लागत 1. टाइप 2 की लागत नव निर्मित अभिव्यक्ति पेड़ में {+, -, ×} संचालन की संख्या के बराबर है।

टाइप 2 के लिए उदाहरण: निम्न मूल ऑपरेशन की लागत 2 है, क्योंकि नोड एन के शीर्ष पर निर्मित अभिव्यक्ति ट्री दो ऑपरेशन (- और ×) का उपयोग करता है।

बता दें कि T1 और T2 दो एक्सप्रेशन ट्री हैं जो पॉलीनॉमियल का प्रतिनिधित्व करते हैं। टी 1 और टी 2 की दूरी को निम्नानुसार परिभाषित करें : टी 1 को टी 2 में परिवर्तित करने के लिए बुनियादी संचालन की न्यूनतम लागत। ध्यान दें कि हमें T2 जैसी संरचना के लिए परिवर्तित वृक्ष की आवश्यकता नहीं है। हम बस यह चाहते हैं कि यह टी 2 के समान बहुपद की गणना करे। (उदाहरण के लिए टिप्पणियाँ देखें।)

समस्या: टी 1 और टी 2 को देखते हुए, एक एल्गोरिथ्म प्रस्तुत करें जो उनकी दूरी की गणना करता है।

उदाहरण 1: T1 और T2 दो पेड़ हैं जिन्हें इस पोस्ट की शुरुआत में चित्रित किया गया है। दाएं पेड़ को बाएं पेड़ में बदलने के लिए, कोई × 3 के ऊपर लागत 3 का पेड़ बना सकता है, और 4 से 1 बदल सकता है (कुल लागत 4 है)।

एक्स4एक्स4+4एक्स3+6एक्स2+4एक्स+1एक्स(एक्स+1)4एक्स4एक्स36एक्स24एक्स


2
यदि "हटाएं" ऑपरेशन की अनुमति नहीं है, तो दूरी एक दूरी नहीं है। उदाहरण के लिए: एक पेड़ T1 = (x * x) +4 को T2 = x में रूपांतरित नहीं किया जा सकता है, लेकिन T2 को x के शीर्ष पर T1 (* x) और फिर (+4) में बदल दिया जा सकता है। ठीक है न ? या आपको दूरी को परिभाषित करना चाहिए क्योंकि टी 1 को टी 2 या टी 2 को टी 1 में बदलने के लिए आवश्यक माइनम संचालन।
मार्जियो डी बियासी

4
लागत 0 के बराबर है यदि और केवल यदि दो दिए गए (विभाजन-मुक्त) अंकगणितीय सूत्र समान बहुपद का प्रतिनिधित्व करते हैं। अगर मुझे यह ठीक से याद है, तो यह coRP (रैंडम असाइनमेंट द्वारा) में एक विशिष्ट समस्या है, जो पी। में होने के लिए ज्ञात नहीं है
त्सुयोशी इतो

4
@ त्सुयोशी: ओह, मैं देख रहा हूं। आप बहुपद पहचान परीक्षण समस्या की ओर इशारा कर रहे हैं । (अच्छे संदर्भ: [१ ] और [२ ])। मुझे इस बारे में सोचना चाहिए। इस बीच, किसी भी सुझाव का स्वागत है।
एमएस डौस्ती 19

4
हाँ बस यही। ऐसा लगता है कि बहुपद पहचान परीक्षण समस्या के विशिष्ट संस्करण में, दो इनपुट बहुपद सर्किट के रूप में दिए गए हैं, सूत्र नहीं। इसलिए मेरा वर्जन यह है कि सूत्र संस्करण "टिपिकल" शायद गलत था। वैसे भी P में फॉर्मूला वर्जन लगाना एक खुली समस्या लगती है।
२०:३० पर त्सुयोशी इतो

2
@Vor: वर्तमान सूत्रीकरण में, इनपुट T1 वास्तव में एक पेड़ है और इनपुट T2 एक बहुपद है, जो कि केवल एक पेड़ के रूप में दिया जाता है, निम्नलिखित अर्थों में। T1 को एक अलग पेड़ में बदलना जो एक ही बहुपद का प्रतिनिधित्व करता है, सामान्य रूप से उत्तर को बदल सकता है, जबकि T2 को इसी तरह से बदलना नहीं है।
त्सुयोशी इतो

जवाबों:


10

ट्री एडिट डिस्टेंस, स्ट्रिंग एडिट डिस्टेंस का एक सामान्यीकरण है। दो पेड़ों के बीच की दूरी, नोड सम्मिलन \ विलोपन की न्यूनतम संख्या है और एक पेड़ को दूसरे में बदलने के लिए आवश्यक रिलेबल। (जब हम नोड v को हटाते हैं, तो v के बच्चे अभिभावक (v) के बच्चे बन जाते हैं)। यह समस्या एनपी-हार्ड है, जब पेड़ अनियंत्रित होते हैं, लेकिन जब उन्हें आदेश दिया जाता है (यानी, भाई-बहनों के बीच बाएं से दाएं आदेश होता है) समस्या O (n ^ 3) समय में हल करने योग्य है (कागज के अनुसार) सादिक ने उल्लेख किया)। एक अच्छा सर्वेक्षण जो इसका वर्णन करता है: http://portal.acm.org/citation.cfm?id=1085283


1
धन्यवाद अविव। यह बहुत अच्छा होगा यदि आप अपनी प्रतिक्रियाओं को मर्ज करते हैं (मुझे लगता है कि आपके पास अपने पिछले खाते का उपयोग करके समस्याएं हैं)। आप इस पोस्ट (विशेष रूप से, इस लिंक ) में सलाह का उपयोग कर सकते हैं ।
एमएस डौस्टी

यह दृष्टिकोण अलग-अलग वृक्षों को
एकसमान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.