প্রশ্নটি ফ্রেম করতে কম্পিউটার বিজ্ঞানে প্রায়শই আমরা বেশ কয়েকটি সম্ভাবনার পণ্য গণনা করতে চাই:
P(A,B,C) = P(A) * P(B) * P(C)
সরলতম পদ্ধতিটি কেবল এই সংখ্যাগুলিকে গুন করা এবং এটিই আমি করতে যাচ্ছিলাম। তবে, আমার বস জানিয়েছেন সম্ভাবনার লগ যুক্ত করা আরও ভাল:
log(P(A,B,C)) = log(P(A)) + log(P(B)) + log(P(C))
এটি লগের সম্ভাবনা দেয় তবে প্রয়োজনের পরে আমরা সম্ভাবনাটি পেতে পারি:
P(A,B,C) = e^log(P(A,B,C))
লগ সংযোজন দুটি কারণে ভাল বিবেচনা করা হয়:
- এটি "আন্ডারফ্লো" রোধ করে যার ফলে সম্ভাবনার পণ্যগুলি এত ছোট যে এটি গোলাকৃত হয়ে যায়। এটি প্রায়শই ঝুঁকিপূর্ণ হতে পারে কারণ সম্ভাবনাগুলি প্রায়শই খুব কম থাকে small
- এটি আরও দ্রুত কারণ অনেকগুলি কম্পিউটার আর্কিটেকচার গুণনের চেয়ে আরও দ্রুত সম্পাদন করতে পারে।
আমার প্রশ্ন দ্বিতীয় বিষয় সম্পর্কে। এইভাবে আমি এটি বর্ণনাতে দেখেছি, তবে এটি লগ পাওয়ার অতিরিক্ত মূল্য বিবেচনা করে না! আমাদের "লগের ব্যয় + যোগের ব্যয়" "গুণনের ব্যয়" এর সাথে তুলনা করা উচিত। বিষয়টি আমলে নেওয়ার পরেও কি এটি আরও ছোট?
এছাড়াও, উইকিপিডিয়া পৃষ্ঠা ( লগ সম্ভাব্যতা ) এই ক্ষেত্রে বিভ্রান্ত করছে, উল্লেখ করে "লগ ফর্ম রূপান্তর ব্যয়বহুল, তবে একবারেই ব্যয় হয়েছে।" আমি এটি বুঝতে পারি না, কারণ আমি মনে করি যোগ করার আগে আপনার প্রতিটি পদটির লগ স্বাধীনভাবে নেওয়া উচিত। আমি কী মিস করছি?
পরিশেষে, "কম্পিউটারগুলি সংখ্যাবৃদ্ধির চেয়ে আরও দ্রুত সম্পাদন করে" এই ন্যায্যতাটি এক ধরণের অস্পষ্ট। এটি কি x86 নির্দেশের সাথে নির্দিষ্ট, বা এটি প্রসেসরের আর্কিটেকচারের আরও কিছু মৌলিক বৈশিষ্ট্য?