यहाँ कम से कम superstring समस्या है: आप दिए गए हैं तार रों 1 , ... , एस एन कुछ वर्णमाला से अधिक Σ और तुम पर कम से कम स्ट्रिंग लगाना चाहते हैं Σ जिसमें प्रत्येक एस मैं लगातार पात्रों में से किसी परिणाम, यानी सबस्ट्रिंग के रूप में।ns1,…,snΣΣsi
जब हम समस्या के लिए सटीक एल्गोरिदम के बारे में बात करते हैं, तो सबसे छोटी सुपरस्ट्रिंग की लंबाई को अधिकतम संपीड़न C खोजने के बराबर होता है, जो अंतिम सुपरस्ट्रिंग में सभी लगातार स्ट्रिंग ओवरलैप का योग है, अर्थात C = exact i | s i | - एल ।LCC=∑i|si|−L
जहां तक मुझे पता है, सबसे छोटी सुपरस्टारिंग के लिए सबसे तेज सटीक एल्गोरिदम ( 2 एन ) में चलता है जहां n स्ट्रिंग्स की संख्या है। यह एक सरल गतिशील प्रोग्रामिंग एल्गोरिथ्म है जो सबसे लंबे पथ (और अन्य समस्याओं) के लिए गतिशील प्रोग्रामिंग एल्गोरिथ्म के समान है:O∗2nn
तार के प्रत्येक सबसेट के लिए और स्ट्रिंग वी में एस हम भर superstrings पर अधिकतम संपीड़न गणना एस जहां वी पहली स्ट्रिंग, superstring में प्रदर्शित होने के ((सी के रूप में इस भंडारण है वी , एस ))। हम पहले केवल एक ही तत्व के साथ सभी सबसेट प्रसंस्करण, और फिर सी का निर्माण कर ऐसा करते हैं (( वी , एस )) सबसेट के लिए मूल्यों एस पर कश्मीर पर उन लोगों से तार कश्मीर - 1 तार। विशेष रूप से:SvSSvv,Sv,SSkk−1
प्रत्येक स्ट्रिंग के लिए हम सब सबसेट देखने के एस ' पर कश्मीर - 1 तार नहीं है कि शामिल यू और के लिए (मान सेट यू , यू ∪ एस ' अधिकतम करने के लिए) से अधिक तार v में एस ' अधिकतम के योग का के ओवरलैप यू के साथ वी सी ((साथ वी , एस ' ))।uS′k−1uu,u∪S′vS′uvv,S′
अंतिम रनटाइम O ( ) से अधिक नहीं है जहाँ l अधिकतम स्ट्रिंग लंबाई है।n22n+n2ll
बेहतर एल्गोरिदम हैं यदि आप मानते हैं कि छोटा है, या जोड़ीदार ओवरलैप छोटा है, वर्णमाला का आकार छोटा है, लेकिन मुझे किसी भी एल्गोरिथ्म के बारे में पता नहीं है जो 2 एन से अधिक तेज है ।l2n