সম্ভাব্য প্রিপ্রোসেসিংয়ের সাথে দ্রুত স্পর্স বুলিয়ান ম্যাট্রিক্স পণ্য


12

দুটি খুব স্পার্স বুলিয়ান ম্যাট্রিকেসকে গুণানোর জন্য সবচেয়ে কার্যকরভাবে অ্যালগরিদমগুলি কী কী (বলুন, এন = 200 এবং কেবলমাত্র 100-200 অ-শূন্য উপাদান রয়েছে)?

প্রকৃতপক্ষে, আমার সুবিধাটি হল যে যখন আমি A কে B দ্বারা গুণিত করি তখন বি এর পূর্বনির্ধারিত হয় এবং আমি এগুলি নির্বিচারে জটিল প্রাকপ্রসেসিং করতে পারি। আমি আরও জানি যে পণ্যগুলির ফলাফলগুলি সর্বদা মূল ম্যাট্রিক্সের মতোই বিরল।

"বরং নিষ্পাপ" অ্যালগরিদম (সারি দ্বারা A কে স্ক্যান করুন; এ-সারির প্রতিটি 1 বিটের জন্য, বা বি এর সাথে সংযুক্ত সারির ফলাফল) খুব দক্ষ হয় এবং একক পণ্য গণনা করার জন্য কেবল কয়েক হাজার সিপিইউ নির্দেশনা প্রয়োজন , সুতরাং এটিকে অতিক্রম করা সহজ হবে না এবং এটি কেবল ধ্রুবক ফ্যাক্টর দ্বারা অতিক্রম করা যায় (কারণ ফলাফলের মধ্যে শতগুলি এক বিট রয়েছে)। তবে আমি আশা হারাচ্ছি না এবং সম্প্রদায়ের কাছে সাহায্য চাইছি :)


1
আমি সন্দেহ করি যে আমরা আউটপুট শব্দ প্রতি 10 মেশিন নির্দেশাবলীর একটি ধ্রুবক উল্লেখযোগ্যভাবে हरा করতে পারি। এটা কি সম্ভব যে আউটপুটটির কিছু অন্তর্ভুক্ত রূপটি গ্রহণযোগ্য হবে?
ওয়ারেন শুডি

হ্যাঁ যতক্ষণ না এটি আরও বিএস দ্বারা গুণ করা যায়।
jkff

ম্যাট্রিক্সের গুণনকে ভিত্তিতে সংজ্ঞায়িত করা (বিটগুলির জন্য) সংযোজন এবং গুণগত ক্রিয়াগুলি কী কী? আপনার নিষ্পাপ অ্যালগরিদম উত্তরটি যথাক্রমে "বা" এবং "এবং" হ'ল এটির প্রস্তাব দেয় তবে এটি একটি অদ্ভুত ম্যাট্রিক্সের গুণ কারণ যেগুলি কোনও ক্ষেত্রকে সংজ্ঞায়িত করে না। আপনার অর্থ "বা" এর পরিবর্তে "জোর"?
ওয়ারেন স্কুডি 5'10

না, আমার অর্থ "বা" এবং "এবং"। কোনও ক্ষেত্র সংজ্ঞায়িত করার জন্য আমার অপারেশনগুলির দরকার নেই, এটি আসলে একটি গ্রাফের পুনঃব্যবহারযোগ্যতার মতো সমস্যা (আমি বেশ কয়েকটি এক থেকে একাধিক ফাংশনের সংমিশ্রণটি করছি)।
jkff

উত্তর:


11

আমি এর উত্তর দিতে নারাজ, কারণ এই রেখাগুলিগুলির সাথে আমার জানা একমাত্র তাত্ত্বিক ফলাফলের কাগজে আমার নাম রয়েছে ...

তাত্ত্বিকভাবে, একটি ঘন বুলিয়ান ম্যাট্রিক্স প্রিপ্রোসোস করা সম্ভব যাতে ফলস্বরূপ চলমান সময়ের তুলনায় (ওআর এবং এন্ডের সিমিরিংয়ের ওভার) দিয়ে স্পার্স ম্যাট্রিক্স-ভেক্টর গুণগুলি সম্পন্ন করা যায়। সম্ভবত এটি কার্যকরভাবে প্রয়োগ করার জন্য একটি উল্লেখযোগ্য পরিমাণ হ্যাকিংয়ের প্রয়োজন হবে, তবে আমি মনে করি এটি যথেষ্ট পরিমাণে এন এবং সঠিক প্রয়োগের জন্য অনুশীলনে ভালভাবে ভাড়া নিতে পারে ।n×nAAn

(দ্রষ্টব্য: এই অ্যালগরিদম কেবলমাত্র সেই ক্ষেত্রে ক্ষেত্রে কার্যকর যেখানে একটি ম্যাট্রিক্স ঘন এবং অন্যটি বিস্মৃত। মূল সংলগ্ন ম্যাট্রিক্সের সাথে তুলনা করুন))

কাগজটি হ'ল

গেই ই। আইসিএএলপি (1) 2008: 108-120

ও কাগজের থেকে প্রাসঙ্গিক ফলাফলের যে জন্য যে , একটি হল হে ( 2 + + ε ) সময় অ্যালগরিদম যে কোনো এন × এন 0-1 ম্যাট্রিক্স একটি নিম্নলিখিত অপারেশন সমর্থিত:ε>0O(n2+ε)n×nA

vtAvO(n(t/k+n/)/logn)k=লগসিএনকে=ε(লগএন)/লগলগএনএনটি/লগএন+এন2/লগসিএনসি(k)nε=logcnk=ε(logn)/loglognnt/logn+n2/logcnc

- এতে সারি এবং কলাম আপডেট মধ্যে নির্ণিত করা যেতে পারে সময়।O ( n 1 + ε )AO(n1+ε)

আমরা এই ডেটা স্ট্রাকচারটি এপিএসপি-র ক্ষেত্রে অপ্রকাশিত অদ্বিতীয় গ্রাফগুলিতে দ্রুত তাত্ত্বিক অ্যালগরিদম দিতে ব্যবহার করি।


3
আমি শুধু খেয়াল আপনার কাছে অনুমান যে আউটপুট ম্যাট্রিক্স গুণ এর আরো বিক্ষিপ্ত হয়। সেক্ষেত্রে আরও দ্রুত অ্যালগরিদম রয়েছে; "আউটপুট-সংবেদনশীল ম্যাট্রিক্স গুণন" এর জন্য একটি ওয়েব অনুসন্ধান করুন।
রায়ান উইলিয়ামস

রায়ান উইলিয়ামস - আমার একটি দ্রুত প্রশ্ন আছে: আপনি কি সচেতন, বা আপনি এমন কোনও পদ্ধতি আবিষ্কার করেছেন যা সাধারনভাবে val মূল্যমানের ম্যাট্রিকেস (কেবলমাত্র বুলিয়ানের চেয়ে) আলাদা করতে পারে? {1,0,1}
আলেকজান্দ্রে ক্যাসাগনে

5

আমি মনে করি আপনি যাকে কল করবেন এটি একটি "হাইপারস্পার্স" ম্যাট্রিক্স (এনএনজেড <এন)। সেগুলি কীভাবে বৃদ্ধি করা যায় সে সম্পর্কে কয়েক বছর আগে আমি একটি কাগজ লিখেছিলাম। মূলত, এটি একটি বহিরাগত পণ্য অন্তর্বর্তী ট্রিপলগুলির উপলব্ধি দূর করতে চতুর বহু-উপায় সংযুক্তির সাথে যুক্ত হয়।

বুলুক এবং গিলবার্ট, আইপিডিপিএস ২০০৮: http://gauss.cs.ucsb.edu/publication/hypersparse-ipdps08.pdf

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.