If you're seeing this message, it means we're having trouble loading external resources on our website.

তোমার যদি কোন ওয়েব ফিল্টার দেওয়া থাকে, তাহলে দয়া করে নিশ্চিত কর যে *.kastatic.org এবং *.kasandbox.org ডোমেইনগুলো উন্মুক্ত।

মূল বিষয়বস্তু

কোর্স: কম্পিউটার বিজ্ঞান > অধ্যায় 2

পাঠ 6: মৌলিক সংখ্যা যাচাই

স্থান কালের ট্রেডঅফ

আমাদের মেমোরির সীমা কতটুকু? স্থান ব্যয় করার মাধ্যমে আমরা কীভাবে সময় বাঁচাতে পারি? এটি তৈরি করেছে ব্রিট ক্রুজ

আলোচনায় অংশ নিতে চাও?

কোন আলাপচারিতা নেই।
ইংরেজি জানো? খান একাডেমির ইংরেজি সাইটে আরো আলোচনা দেখতে এখানে ক্লিক কর।

ভিডিও ট্রান্সক্রিপ্ট

## আগামী ও গ্রামীণফোন এর সহযোগিতায় অনূদিত ## নতুন তথ্য হল নাসার প্রকৌশল বিভাগের সাথে যোগাযোগ করে জানা গেল যে নতুন রোভারটি কিউরিসিটি রোভারের মত একই মেমরী প্লাটফর্ম ব্যবহার করছে কিউরিসিটি রোভার দু'টি কম্পিউটার দ্বারা সজ্জিত ছিল কিন্তু যেকোন একটি কার্যকর থাকত এবং এটা এভাবে সজ্জিত ছিল । দুই গিগাবাইট ফ্ল্যাশ মেমরী ২৫৬ মেগাবাইট র‍্যান্ডম একসেস মেমরী এবং ২৫৬ কিলোবাইট রিড অনলি মেমরী যা কোর সিস্টেম রুটিন ধারন করে । আমরা আমাদের পুরো প্রোগ্রাম কে র‍্যামে ধারন করতে চাই কিন্তু আমাদেরকে এই জায়গা অন্য প্রোগ্রাম এর সাথেও ভাগ করে নিতে হবে আমাদের জন্য র‍্যাম এর ৫% বরাদ্দ করা হয়েছে, আমরা সর্বোচ্চ এটাই ব্যবহার করতে পারি এটা হল সব মিলিয়ে ১২.৮ মেগাবাইট। আমি এটা বলছি কারন আমি টাইম স্পেস ট্রেড অফ" বা স্পেস টাইম ট্রেড অফ সম্পর্কে ধারনা দিতে চাই যা কম্পিউটার বিজ্ঞানে বহূল ব্যবহ্রত একটি পরিভাষা আমি IV৪৬ এ সম্পাদিত একটি প্রোগ্রাম দেখছিলাম এবং সেখানে তাদের ১০ লক্ষ মৌলিক অ্যারে ছিল তাই পরীক্ষামূলক বন্টন প্রাইমালিটি পদ্ধতির ক্ষেত্রে অ্যালগরিদম যতটুকু সম্ভব শুধু মৌলিক সংখ্যায় কাজ করে, এতে প্রশ্ন আসে যা, যতগুলো মৌলিক সংখ্যা আমাদের দরকার সেগুলো কিছু অ্যারেতে লিপিবধ না করে আমরা কেন এ অবস্থায় গণনা করছি? আমরা আগের ভিডিও তে বলেছিলাম যে পরীক্ষামূলক বন্টন অ্যালগরিদমের ক্ষেত্রে এটা কার্যকর যদিও তুমি দেখে থাকতে পার যে, তার অ্যালগরিদম বেশী ধাপ ব্যবহার করে না এটা খুব ধীরে চলা শুরু করে । এবং শেষ সীমায় যাবার আগে ভেঙ্গে পড়ে তাহলে পূর্বে উল্লেখিত আকারের ক্ষেত্রে এটি দ্রুত সমাধান করতে পারছে না । এবং এক্ষেত্রে, তারা জায়গার পরিবর্তে পুনরাবৃত্তিক পরীক্ষার মাধ্যমে সময় কে পরিবর্তন করছে । যা অ্যারেকে ধরে রাখার একটি মেমরী। এখন এটা কেন কাজ করলনা ? যদি এই পদ্ধতিতে মেমরী সীমাকে ব্যবহার করে আমাদের জানার ভিত্তি করে একটি খসড়া গণনা করি । মনে রেখ আমাদেরকে ৯ কোয়াড্রিলিয়ানের বেশী সংখ্যা নিয়ে কাজ করতে হবে পরীক্ষামূলক বন্টন অ্যালগরিদমকে শুধুমাত্র একটি সংখ্যার বর্গমূ্লের উৎপাদক পরীক্ষা করে দেখতে হবে এবং এটা যদি কোন উৎপাদক খুঁজে না পায় তাহলে শতভাগ বা না তা না হলেও সংখ্যাটি মৌলিক। এখন এই সীমার মধ্যে কতগুলো মৌলিক সংখ্যার বর্গমূল পর্যন্ত আছে, যেখানে ৯ কোয়াড্রিলিয়ান এর বর্গমূল হল ৯৪৯ লক্ষ? ৯৫০ লক্ষের মাঝে কতগুলো মৌলিক আছে? সৌভাগ্যক্রমে, মৌলিক সংখ্যা উপপাদ্য ব্যবহার করে এই উত্তর নির্ণয়ের একটি গাণিতিক সমাধান আমরা শিখেছি। তাহলে x এর মাঝে কতগুলো মৌলিক সংখ্যা আছে? আসলে, এটি হল x ভাগ x এর স্বাভাবিক লগারিদম এবং x যদি ৯৪৯ লক্ষের একটু বেশী হয়, আমরা প্রায় ৫১ লক্ষ মৌলিক সংখ্যা খুজে পাব।এখন যেহেতু আমরা এই মৌলিক সংখ্যাগুলো জমা করে রাখছি, আমাদের কে সবচেয়ে বড় মৌলিক সংখ্যাটি কত তা জানতে হবে বা এক্ষেত্রে, ৫১ লক্ষতম মৌলিক সংখ্যা গড়পড়তা ভাবে আমাদের জানা মতে ৯৪৯ লক্ষের থেকে ছোট কোন সংখ্যা হবে। এখন, আমি দুইবার এটা পরীক্ষা করছি, এবং আমাদের সীমার বর্গমুলের মধ্যে এই মৌলিক সংখ্যার আসল মান হল ৮৯,০৭৮,৬১১ এখন এই একক মৌলিক সংখ্যার জন্য কতখানি মেমরী প্রয়োজন? বেশ, এটা খুঁজে বের করতে, আমরা একে বাইনারী রাশিতে রুপান্তর করি, যার মাধ্যমে কম্পিউটারের সংখ্যাকে মেমরিতে সংরক্ষন করবে আমরা এটা কম্পিউটার মেমরী ভিডিও তে শিখেছিলাম বিটে, সর্বোচ্চ মৌলিক সংখ্যাটি দেখতে এমন দেখায়, যা হল ২৪ বিটস বা ৩ বাইট প্রয়োজনে এই সংখ্যাকে সংরক্ষণ করতে হয়। তাহলে মনে করি আমাদের মেমরিতে প্রতিটি সংখ্যা জমা করতে হবে এবং যেহেতু আমরা জানি যে সবচেয়ে বড় সংখ্যাটি সংরক্ষণ করতে ২৪ বিট প্রয়োজন, তাহলে আমরা ২৪ বিটের বড় একটি তালিকা কল্পনা করতে পারি । তাহলে এই পুরো তালিকার জন্য কত বিট প্রয়োজন? এরজন্য মেমরীর সংখ্যার মান কিংবা মৌলিক সংখ্যার পরিমাণের সাথে প্রতিটি মানের স্থানের গুন করা দরকার। তাহলে আমাদের আছে প্রায় ৫১ লক্ষ মান গুন প্রতি মানের জন্য ২৪ বিট, যা হল ১২৪০ লক্ষ বিটস, বা যদি আমরা একে বাইট এ রুপান্তরিত করি তাহলে এটি হবে ১৪৭ লক্ষ বাইটস। এটাকে প্রায় ১৫ মেগাবাইট বলা যায়। তাহলে আমাদের সীমার মধ্যে এ সংখ্যাগুলোর তালিকা জমা করা সম্ভব নয় এটা একটা ছোট উদাহরণ। এটা আসলে একটা ধারনা যে তোমার কি প্রয়োজন উদাহরন স্বরূপ একটি অ্যারের প্রতিটি বিষয়ের পয়েন্টারের জন্য স্থান দরকার বিট যন্ত্রের প্রতিটি পয়েন্টার হল ৪ বাইট। তাহলে মোট মেমরী আসলে ১৫ মেগাবাইট থেকে আরো বেশি লাগবে আমরা জানি যে, আমাদের মেমরী সীমার মধ্যে বর্গমূল পর্যন্ত সকল মৌলিক সংখ্যা জমা করা সম্ভব নয়। আমরা এটা এভাবে করতে পারবনা ঠিক আছে, যখন মান কমে হাজারে একটি বা দশ হাজারে একটি উৎপাদক হয় তখন কি হবে? আধুনিক যুগের ক্রিপ্টোগ্রাফিক সিস্টেম ৫১২ বিট বা আরো বড় সংখ্যা ব্যবহার করে যা গণনা কে সম্ভব করে তোলে এখন উদাহরন স্বরূপ, কেউ যদি তোমাকে ২০০ অঙ্ক বিশিষ্ট সংখ্যা পর্যন্ত সকল মৌলিক সংখ্যা নির্নয় করতে বলে, তাহলে তোমার একে বিবেচনা করা উচিত নয়, কারন যে হার্ড ড্রাইভে এই মৌলিক সংখ্যাগুলো জমা হবে, সেটি তখন ভারী হয়ে যাবে আমি এটা গণনা করার ভার তোমার উপর ছেড়ে দিচ্ছি রং এবং পুরো টেবিলজুড়ে সমাধান কর। কিন্তু মনে রেখ দৃশ্যমান বিশ্বতে ১০ থেকে ৮০ টি পরমানু থাকে এটা একটি ৮০ অঙ্কের সংখ্যা এখানে বুঝতে হবে, আমরা কতটুকু মেমরীতে প্রবেশ করব তার একটা সীমা আছে যত সময়ই লাগুক না কেন আমাদের সমস্যাটি সমাধান করার জন্য সময় এবং জায়গা নিয়ে সবসময় কাজ করে যেতে হবে প্রাইমালিটি পরীক্ষা এই সমস্যা সমাধান করার জন্য ছোট আকারের সময় এবং ছোট আকারের জায়গা নিয়ে কাজ করতে হবে, আমাদেরকে এ ব্যপারে নতুন করে শুরু করতে হবে । ## আগামী ও গ্রামীণফোন এর সহযোগিতায় অনূদিত ##