संभव प्रीप्रोसेसिंग के साथ तेजी से विरल बूलियन मैट्रिक्स उत्पाद


12

दो बहुत विरल बूलियन मेट्रिसेस को गुणा करने के लिए सबसे व्यावहारिक रूप से कुशल एल्गोरिदम क्या हैं (कहते हैं, एन = 200 और बस कुछ 100-200 गैर-शून्य तत्व हैं)?

दरअसल, मुझे यह फायदा है कि जब मैं A को B से गुणा कर रहा हूं, तो B पूर्वनिर्धारित हैं और मैं उन पर मनमाने ढंग से जटिल प्रीप्रोसेसिंग कर सकता हूं। मुझे यह भी पता है कि उत्पादों के परिणाम हमेशा मूल मैट्रिस के रूप में विरल होते हैं।

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


1
मुझे संदेह है कि हम आउटपुट के प्रति शब्द के 10 मशीन निर्देशों को लगातार हरा सकते हैं। क्या यह संभव है कि आउटपुट के कुछ निहित रूप स्वीकार्य होंगे?
वॉरेन शूडी

हाँ जब तक इसे Bs द्वारा कई गुना आगे बढ़ाया जा सकता है।
जेकफ

इसके अलावा और गुणन ऑपरेशन (बिट्स के लिए) मैट्रिक्स गुणन को किस आधार पर परिभाषित किया गया है? आपके भोले एल्गोरिदम का सुझाव है कि उत्तर क्रमशः "या" और "है, लेकिन यह एक अजीब मैट्रिक्स गुणा है क्योंकि वे एक क्षेत्र को परिभाषित नहीं करते हैं। क्या आपका मतलब "या" के बजाय "xor" है?
वॉरेन शूडी

नहीं, मेरा मतलब है "या" और "और"। मुझे किसी फ़ील्ड को परिभाषित करने के लिए ऑपरेशनों की आवश्यकता नहीं है, यह वास्तव में एक ग्राफ़ रीचबिलिटी जैसी समस्या है (मैं कई एक से कई कार्यों की संरचना की गणना कर रहा हूं)।
5

जवाबों:


11

मैं इसका उत्तर देने में संकोच कर रहा था, क्योंकि इन पंक्तियों के साथ-साथ एकमात्र सैद्धांतिक परिणाम मुझे पता है कि कागज पर मेरा नाम है ...

n×nAAn

(नोट: यह एल्गोरिथ्म केवल उस स्थिति के लिए उपयोगी है जहाँ एक मैट्रिक्स घनी है और दूसरी विरल है। यह मामला बहुत अधिक उभर कर आता है, उदाहरण के लिए, जब एक विरल ग्राफ के ट्रांजेक्टिव क्लोजर की गणना की जाती है, तो ट्रांज़ेक्टिव क्लोजर मैट्रिक्स अंततः घना हो जाएगा। मूल आसन्न मैट्रिक्स की तुलना में।)

कागज है

गाइ ई। ब्लेलोक, वर्जीनिया वासिलेवस्का, रेयान विलियम्स: स्पार्स ग्राफ प्रॉब्लम्स के लिए एक नया कॉम्बिनेटरियल अप्रोच। ICALP (1) 2008: 108-120

ε>0O(n2+ε)n×nA

vtAvO(n(t/k+n/)/logn)k(k)nε=logcnk=ε(logn)/loglognnt/logn+n2/logcnc

- से पंक्ति और कॉलम अपडेट की गणना समय में की जा सकती है।AO(n1+ε)

हमने इस डेटा संरचना का उपयोग अपारदर्शी रेखांकन में APSP के लिए तेजी से सैद्धांतिक एल्गोरिदम देने के लिए किया।


3
मैंने अभी देखा कि आप यह भी मानते हैं कि मैट्रिक्स गुणन का आउटपुट भी विरल है। उस स्थिति में, और भी तेज़ एल्गोरिदम हैं; "आउटपुट-संवेदी मैट्रिक्स गुणन" के लिए एक वेब खोज करें।
रयान विलियम्स

रयान विलियम्स - मेरे पास एक त्वरित प्रश्न है: क्या आप जानते हैं, या क्या आपने किसी ऐसी विधि का पता लगाया है, जो विरल करने के लिए -रूपित मेट्रिसेस (केवल बूलियन के बजाय)? {1,0,1}
एलेक्जेंडर कैसगैन

5

मुझे लगता है कि आप जिसे "हाइपरस्पर्स" मैट्रिक्स कहते हैं (nnz <n)। मैंने कुछ साल पहले एक पेपर लिखा था कि उन्हें कैसे गुणा किया जाए। अनिवार्य रूप से, यह एक बाहरी-उत्पाद है जो एक चतुर बहु-मार्ग विलय के साथ मध्यवर्ती त्रिगुणों की प्राप्ति को समाप्त करता है।

Buluc और Gilbert, IPDPS 2008: http://gauss.cs.ucsb.edu/publication/hypersparse-ipdps08.pdf

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