2010-02-11 17 views
5

एक द्वि-आयामी ग्रिड (विमान में सामान्य जाली) पर विचार करें। मेरे उद्देश्यों के लिए, पैटर्न या व्यवस्था ग्रिड बिंदुओं के कुछ जुड़े सबसेट में संख्या 1 और 2 का असाइनमेंट है। उदाहरण के लिए, निम्न से पता चलता है तीन अलग-अलग व्यवस्था:फास्ट द्वि-आयामी पैटर्न मिलान

.......1.....1.... 
.222...2.....12... 
.111...2.....2.... 
.222...22...12211. 
.......1....11.1.. 

मैं कहता हूँ कि एक छोटा सा पैटर्न एक बड़ी एक है, तो छोटे एक घुमाया या इस तरह परिलक्षित किया जा सकता है से मेल खाता है कि इसकी संख्या के सभी बड़े में संख्या से छोटे हैं एक।

...... 
.1212. 
....2. 
...... 

यह मेल नहीं खाता वाम-पंथी व्यवस्था से ऊपर है क्योंकि यह घुमाया नहीं जा सकता है या एक 3x3 वर्ग में फिट करने के लिए परिलक्षित: उदाहरण के लिए, पैटर्न पर विचार करें। यह मध्य व्यवस्था से मेल खाता है क्योंकि इसे घुमाया जा सकता है और नीचे फिट करने के लिए प्रतिबिंबित किया जा सकता है। हालांकि, यह सही व्यवस्था से मेल नहीं खाता है, हालांकि यह सही व्यवस्था में फिट होने के लिए घूर्णन या प्रतिबिंबित होता है, बड़ी व्यवस्था के मुकाबले छोटे पैटर्न में संख्याएं बड़ी होती हैं। (यदि मेरे किसी भी उदाहरण अस्पष्ट हैं या आपको अधिक जानकारी की आवश्यकता है, तो केवल टिप्पणी क्षेत्र में पूछें। कुछ स्पष्टीकरण अग्रिम में: पैटर्न को बढ़ाया नहीं जा सकता है, और इसे घुमाया नहीं जा सकता है, इसलिए यह ग्रिड के संबंध में विकर्ण है । इसका मतलब है कि चार चक्र और चार प्रतिबिंब कुल, जिनमें से प्रत्येक अनुवाद किया जा सकता देखते हैं)

मैं निम्नलिखित प्रश्नों के बारे में सोच रहा हूँ:।

  1. मैं जल्दी से कैसे करता है, तो एक छोटा सा पैटर्न एक से मेल खाता है परीक्षण कर सकते हैं बड़ी व्यवस्था?

  2. मान लीजिए कि मेरे पास बहुत छोटे पैटर्न हैं। क्या मैं उन्हें किसी भी तरह से पूर्व-प्रक्रिया कर सकता हूं कि कम से कम एक उनमें से एक व्यवस्था से मेल खाता है?

मुझे लगता है यह शांत एक समाधान एक अधिक सामान्य समस्या का हल है, तो (मनमाने ढंग से नंबर की तरह - न केवल 1 और 2 - या अनुमति देता है कट आकार) होगा, लेकिन मैं वास्तव में केवल मामले के बारे में ऊपर परवाह । धन्यवाद।

+0

अच्छी तरह से आप जांच सकते हैं कि व्यवस्था में अंक एकत्र करके कोई भी मिलान नहीं करता है। यदि पैटर्न की योग सबसे बड़ी व्यवस्था के योग से अधिक है तो निश्चित रूप से एक मैच नहीं है। मुझे पता है कि यह वह नहीं है जिसे आपने पूछा था, बस इसे बाहर फेंक दिया। – RedDeckWins

+0

यह सच है और एक अच्छा अवलोकन है। (आप 2 एस की संख्या भी गिन सकते हैं।) मेरे मामलों में, मुझे लगता है कि मेरे पैटर्न-मिलान प्रश्नों में से कुछ बहुत ही व्यवस्थित होंगे। –

उत्तर

5

2 डी रूपांतरण।
(जटिलता एन * लॉग (एन) है जहां तत्वों की संख्या में n) और बड़े matrices के लिए अच्छा हो सकता है।

दोनों मैट्रिक्स मिलान और समान आकार के समान मिलान करें।

प्रत्येक संख्या के लिए अलग-अलग परीक्षण। उदाहरण - नंबर कश्मीर serchung मैट्रिक्स में cheking (बड़ा) 0

पर 1 दूसरे सेट पर 1
पर 0 अन्य मानों पर सेट संख्या> = k patteren मैट्रिक्स सेट मूल्यों में < = k कहाँ घुमाव का परिणाम है 0 मारा जाता है और प्रत्येक रोटेशन और परछाई (8 कुल)

मतलब यही है कि आम comlexity कश्मीर n लॉग (एन) जहां कश्मीर नंबरों की संख्या (अपने मामले 2 में) है के लिए मैच

चेक और बड़ी मैट्रिक्स के तत्वों की संख्या)

+0

ग्रेट! मैं इसे 5 घंटे में उखाड़ फेंक दूंगा। (मेरी दैनिक वोट सीमा तक पहुंच गई थी।) क्या आपके पास भाग 2 के लिए कोई विचार है? –

संबंधित मुद्दे