मैं एक पास-एल्गोरिथ्म की तलाश कर रहा हूं जो क्रमचय की समता की गणना करता है। मुझे लगता है कि एक इनपुट क्रमचय धारा द्वारा दिया जाता है । उत्पादन क्रमपरिवर्तन की समता होना चाहिए। सवाल यह है कि मैं एक निर्धारित एल्गोरिथ्म का उपयोग कितनी मेमोरी में करना चाहता हूं। क्या समस्या के लिए कोई यादृच्छिक एल्गोरिदम है?
मुझे पता है कि कंप्यूटिंग एक पास में व्युत्क्रम की संख्या का उपयोग करता है स्मृति। ऊपरी सीमा को आसानी से किसी भी BST के साथ प्राप्त किया जा सकता है। निचली सीमा यहाँ प्रस्तुत की गई है: http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.112.5622
काश, कागज में निचली सीमा के प्रमाण को समता के मामले तक नहीं बढ़ाया जा सकता (या यह मेरे लिए इतना स्पष्ट नहीं है)।
इसके अलावा मुझे पता है कि एक क्रमपरिवर्तन के लिए रैंडम एक्सेस के साथ एक छोटे से अंतरिक्ष में कंप्यूटिंग समता में किया जा सकता समय और स्मृति नियतात्मक एल्गोरिथ्म द्वारा या में समय और यादृच्छिक एक द्वारा स्मृति। Http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256 देखें
मुख्य विचार यह है कि क्रमपरिवर्तन की समता सूत्र द्वारा गणना की जा सकती है , जहां सी चक्र की संख्या है और n आकार है। लेखक एक क्रमचय का चक्र अपघटन करते हैं। तो कोई आसानी से चक्रों की संख्या की गणना कर सकता है।
किसी को भी एक प्रभावी एल्गोरिथ्म पता है या स्ट्रीमिंग मॉडल में समानता के लिए स्मृति पर कम बाध्य है? यादृच्छिक सिक्का से बेहतर यादृच्छिक एल्गोरिदम मेरे लिए भी दिलचस्प हैं।