সমস্ত স্ট্র্যাসেনের মতো অ্যালগরিদমগুলির জন্য স্থানের ব্যবহার সর্বাধিক (যেমন বীজগণিত অনুসারে ম্যাট্রিক্স গুণনের র্যাঙ্কের উপরের উপর ভিত্তি করে)। দেখুন কপারস্মিথ-Winograd আলগোরিদিম স্পেস জটিলতাও ( এন)2)
যাইহোক, আমি আমার পূর্ববর্তী উত্তরে বুঝতে পেরেছিলাম যে স্থানটির ব্যবহার কেন হয় তা আমি ব্যাখ্যা করিনি ... সুতরাং এখানে কিছু কিছু হাতের avyেউয়ে goes স্ট্র্যাসেনের মতো অ্যালগরিদম কী করে তা বিবেচনা করুন। এটি ম্যাট্রিক্স গুণনের জন্য একটি নির্দিষ্ট অ্যালগরিদম থেকে শুরু হয় যা কিছু ধ্রুবক জন্য গুণকে ব্যবহার করে । বিশেষত, এই অ্যালগরিদম (এটি যাই হোক না কেন) ডাব্লুএইচএলজি লিখতে পারে যাতে:কে × কে কে সি সি < 3ও ( এন)2)কে× কেকেগসি < 3
এটি বিভিন্ন ম্যাট্রিক্স গণনা করে যা বিভিন্ন দ্বারা প্রথম ম্যাট্রিক্স এবং দ্বিতীয় ম্যাট্রিক্স থেকে ম্যাট্রিক্স দ্বারা গুণিত হয় একটি অনুরূপ ফর্ম,এল 1 , … , এল কে সি এ কে সি আর 1 , … , আর কে সি বিকেগএল1, … , এলকেগএকজনকেগআর1, … , আরকেগবি
এটি পরে এই লিনিয়ার সংমিশ্রণগুলিকে বহুগুণ করেএলআমি। আরআমি
এটি বিভিন্ন দ্বারা এন্ট্রিগুলিকে গুণ করে, তারপরে অর্জন করতে এই সমস্ত ম্যাট্রিকগুলি প্রবেশের দিকে বাড়িয়ে । এ ⋅ বিএলআমি। আরআমিএ ⋅ বি
(এটি একটি তথাকথিত "বিলিনিয়ার" অ্যালগরিদম, তবে দেখা যাচ্ছে যে প্রতিটি "বীজগণিত" ম্যাট্রিক্সের গুণ গুণ এইভাবে লেখা যেতে পারে)) প্রতিটি এই অ্যালগরিদমটি কেবল বর্তমান পণ্য এবং বর্তমান মান (প্রাথমিকভাবে অল- সেট করা) যে কোনও বিন্দুতে স্মৃতিতে সংরক্ষণ করুন, তাই স্থানের ব্যবহার হ'ল ।এল আই ⋅ আর আই এ ⋅ বি হে ( কে 2 )i = 1 , … , কেগএলআমি। আরআমিএ ⋅ বিও ( কে2)
এই সসীম অ্যালগরিদম দেওয়া, তারপরে এটিকে নির্বিচারে ম্যাট্রিকগুলিতে প্রসারিত করা হয় , বড় ম্যাট্রিকগুলি এর আকারের ব্লকে বিভক্ত করে , ব্লক ম্যাট্রিকগুলিতে সীমাবদ্ধ অ্যালগরিদম প্রয়োগ করে এবং যখনই যখন দুটি ব্লককে গুণিত করার প্রয়োজন হয় তখন পুনরাবৃত্তভাবে অ্যালগরিদম কল করে। পুনরাবৃত্তির প্রতিটি স্তরে, আমাদের কেবল ফিল্ড উপাদানগুলি মেমরিতে রাখতে হবে ( বিভিন্ন ম্যাট্রিকেস) সংরক্ষণ করতে হবে। ম্যাট্রিক্স গুণনের জন্য স্থান ব্যবহার অনুমান করে কে × কে কে ℓ - 1 × কে ℓ - 1 কে × কে ও ( কে 2 ℓ ) ও ( 1 ) কে ℓ × কে ℓ কে ℓ - 1 × কে ℓ - 1 এস ( ℓ - 1 ) এস ( ℓ ) ≤ এস ( ℓ - 1 )কেℓ× কেℓকে× কেকেℓ - 1× কেℓ - 1কে× কেও ( কে2 ℓ)ও ( 1 )কেℓ× কেℓKℓ−1×Kℓ−1S(ℓ−1)এই পুনরাবৃত্ত অ্যালগরিদমের স্থান ব্যবহার হ'ল , যা জন্য সমাধান করে ।এস ( 1 ) = 2 কে 2 এস ( ℓ ) ≤ ও ( কে 2 ℓ )S(ℓ)≤S(ℓ−1)+O(K2ℓ)S(1)=2K2S(ℓ)≤O(K2ℓ)