কিছু ভাষা কেন নিকটতম ইভেন পূর্ণসংখ্যার সাথে মিলিত হয়?


44

প্রোগ্রামিং ভাষাগুলির মতো স্কিম (আর 5 আরএস) এবং পাইথন ( এই প্রশ্নটি দেখুন ) কাছাকাছি সমান পূর্ণসংখ্যার দিকে যখন মান হুবহু আশেপাশের পূর্ণসংখ্যার মধ্যে থাকে।

এর পিছনে যুক্তি কী?
এমন কোনও গাণিতিক ধারণা রয়েছে যা নিম্নলিখিত গণনাগুলি সম্পর্কে যুক্তিযুক্ত করে তোলে?

(আর 5 আরএস আইইইই ভাসমান পয়েন্ট স্ট্যান্ডার্ডকে এই আচরণের উত্স হিসাবে উল্লেখ করে))



1
আইইইই একাধিক রাউন্ডিং মোডের অনুমতি দেয়। এই হল তাদের একজন। কিছু ভাষা এমনকি মৃত্যুদন্ড কার্যকর করার সময় রাউন্ডিং মোড পরিবর্তন করার অনুমতি দেয়।
টোবিয়াস ব্র্যান্ড্ট

5
আপনি উইকিপিডিয়ায় রাউন্ডিংয়ের জন্য টাই-ব্রেকিং অধ্যায়টি পড়তে এবং তাদের প্রত্যেকের পিছনে যুক্তি যুক্তি যুক্ত করতে চাইবেন।


1
"যদিও ভাসমান পয়েন্ট সংখ্যাগুলি নিয়ে সঠিক আলোচনার বিষয়" এটি কোনও আলোচনার বিষয় নয়, এটি খুব সুনির্দিষ্টভাবে নির্দিষ্ট করা হয়েছে। উদাহরণস্বরূপ, সংখ্যাগুলি এখানে প্রাসঙ্গিক (42.5 এর মতো) হুবহু উপস্থাপন করা যেতে পারে, কারণ সেগুলি বাইনারি ভগ্নাংশ। দশমিক ভগ্নাংশ সহ বাইনারি ব্যতীত অন্য ভগ্নাংশ হ'ল যা প্রতিনিধিত্ব করা যায় না।
এসভিচ

উত্তর:


39

কিছুক্ষণ আগে আমি ধারাবাহিক রাউন্ডিংয়ের জন্য একটি পরীক্ষা প্রোগ্রাম তৈরি করেছি, কারণ এটি মূলত একটি গোলাকার অ্যালগরিদমের জন্য সবচেয়ে খারাপ-স্ট্রেস টেস্ট।

0 থেকে 9,999 এর প্রতিটি সংখ্যার জন্য এটি প্রথমে নিকটস্থ 10, তার পরে নিকটতম 100, তারপরে নিকটতম 1000 এ প্রদক্ষিণ করে ((আপনি এটি 0,1) এর 10,000 টি পয়েন্ট হিসাবেও ভাবতে পারেন 3 টি জায়গায় গোল করে, তারপরে 2 এ, তারপরে 1 টি)) সংখ্যার এই সেটটির গড় মূল্য আছে 4999.5।

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

0     445
1000  1000
2000  1000
3000  1000
4000  1000
5000  1000
6000  1000
7000  1000
8000  1000
9000  1000
10000 555

ফলাফলটি একক "রাউন্ড হাফ আপ" থেকে 10,000 এর মধ্যে নিকটতম হাজার 550 বারের চেয়ে পৃথক হয় এবং গড় বৃত্তাকার মান 5055 (55.5 দ্বারা মূল গড়ের চেয়ে বেশি)।

যদি তিনটি রাউন্ডিং "রাউন্ড হাফ ডাউন" দ্বারা করা হয়, তবে ফলাফলগুলি হ'ল:

0     556
1000  1000
2000  1000
3000  1000
4000  1000
5000  1000
6000  1000
7000  1000
8000  1000
9000  1000
10000 444

ফলাফলটি একক "বৃত্তাকার অর্ধেক ডাউন" থেকে 10,000 এর মধ্যে নিকটতম হাজার 550 বারের চেয়ে পৃথক হয় এবং গড় বৃত্তাকার মান 4944 (55.5 দ্বারা খুব কম) হয়।

তিনটি রাউন্ডিং যদি "রাউন্ড হাফ বিজোড়" ব্যবহার করে করা হয়, ফলাফল:

0     445
1000  1111
2000  889
3000  1111
4000  889
5000  1111
6000  889
7000  1111
8000  889
9000  1111
10000 444

ফলাফলটি একটি একক "বৃত্তাকার অর্ধ বিজোড়" থেকে 10,000 এর মধ্যে নিকটতম হাজার 550 বারের থেকে পৃথক হয় এবং গড় বৃত্তাকার মান 4999.5 (সঠিক) হয়।

অবশেষে, তিনটি রাউন্ডিং যদি "রাউন্ড অর্ধ এমনকি" ব্যবহার করে করা হয় তবে ফলাফলগুলি হ'ল:

0     546
1000  909
2000  1091
3000  909
4000  1091
5000  909
6000  1091
7000  909
8000  1091
9000  909
10000 1091

ফলাফলটি একটি একক "বৃত্তাকার অর্ধ এমনকি" থেকে 10,000 এর মধ্যে নিকটতম হাজার 450 বারের চেয়ে পৃথক হয় এবং গড় বৃত্তাকার মান 4999.5 (সঠিক) হয়।

আমি মনে করি এটি স্পষ্ট যে অর্ধেক আপ এবং বৃত্তাকার অর্ধেক নীচে বৃত্তাকার মানগুলি পক্ষপাতিত্ব করে, যাতে বৃত্তাকার মানগুলির গড় আর মূল মূল্যগুলির গড়ের মতো একই প্রত্যাশা না থাকে এবং "বৃত্তাকার অর্ধ এমনকি" এবং "বৃত্তাকার অর্ধেক বিজোড় "অর্ধেক সময় পাঁচবার এক উপায় এবং অন্য অর্ধেকভাবে চিকিত্সা করে পক্ষপাতটি সরান। ক্রমাগত বৃত্তাকার পক্ষপাতিত্বকে বহুগুণ করে।

গোল অর্ধেক এমনকি রাউন্ড অর্ধ বিজোড় বিতরণে তাদের নিজস্ব ধরণের পক্ষপাতের পরিচয় দেয়: যথাক্রমে সমান এবং বিজোড় অঙ্কগুলির প্রতি একটি পক্ষপাতিত্ব। উভয় ক্ষেত্রেই, আবার, এই পক্ষপাতটি ক্রমাগত বৃত্তাকার দ্বারা গুণিত হয়, তবে এটি গোল অর্ধেক বিজোড়ের জন্য আরও খারাপ। আমি মনে করি যে এই ক্ষেত্রে ব্যাখ্যাটি সহজ: 5 একটি বিজোড় সংখ্যা, সুতরাং বৃত্তাকার অর্ধেকের চেয়ে বেশি গোলের অর্ধেকেরও বেশি ফলাফল হয় - এবং এর ফলে আরও ফলাফল যা পরবর্তী রাউন্ডিংয়ের দ্বারা বিশেষভাবে পরিচালনা করতে হবে ।

সুতরাং যাইহোক, চারটি নির্বাচনের মধ্যে কেবল দুটি পক্ষপাতহীন, এবং দুটি পক্ষপাতহীন পছন্দগুলির মধ্যে, রাউন্ড অর্ধেক বারবার বৃত্তাকার সাপেক্ষে সর্বোত্তম আচরণযুক্ত বিতরণ দেয়।


55

একে ব্যাংকারদের রাউন্ডিং বলে। ধারণাটি হ'ল বহু রাউন্ডিং ক্রিয়াকলাপ থেকে ক্রমবর্ধমান ত্রুটি হ্রাস করা।

আপনাকে সর্বদা .5 নীচে রাউন্ড করুন বলে দেয়। এই সমস্ত অল্প সুদের অর্থ প্রদানের কথা ভাবেন, প্রতিবারের মতো ব্যাংক অর্ধেক পকেট ...

আপনি সর্বদা .5 আপকে গোল করে বলুন। অ্যাকাউন্টিং চিৎকার করতে চলেছে কারণ আপনার উচিতের চেয়ে বেশি সুদ প্রদান করছেন।


6
কিন্তু কেন এবং এমনকি বিজোড় না?
ratchet freak

17
@ratchetfreak - শূন্য থেকে দূরে নয়, এত ছোট সংখ্যা। তা ছাড়া, এটি স্বেচ্ছাচারী - কিছু হতে হবে।
জোনাথন দুরসি

15
@ratchetfreak: আপনি যদি 1 নম্বর দিয়ে শুরু করেন, 2 দ্বারা বিভক্ত করেছেন এবং বিজোড়ের সাথে গোল করেন তবে কি হবে? আপনি 0.5 কে 1 গোল করে পাবেন? আপনি আবার 2 দিয়ে ভাগ করলে কী হবে? আপনি 0.5 থেকে 1 গোল করে পাবেন And কখনই শূন্য হয় না।
gnasher729

13
আমি মনে করি এমনকি সংখ্যাগুলিকেও বিজোড় সংখ্যার পক্ষে অগ্রাধিকার দেওয়া হবে কারণ তারা পরবর্তী গোলাকার দ্বিধায়নের প্রয়োজনের সম্ভাবনা কমিয়ে দেয় । (ঠিক) দু'জন দ্বারা অনুশীলন করে বরং ঘন ঘন অপারেশন হচ্ছে।
মার্ক ভ্যান লিউউইন

4
এটি পরিসংখ্যানের ক্ষেত্রেও গুরুত্বপূর্ণ। যদি কোনও ডেটা সেটের প্রতিটি ভগ্নাংশের সদস্যকে বৃত্তাকার করে দেওয়া হয়, তবে বর্ণনামূলক পরিসংখ্যান যেমন গড়টি গোল হয়ে গেলে তার চেয়ে (সামান্য) বেশি হবে। কেনেথ রোথম্যানের এপিডেমিওলজির ভূমিকা বিশেষত সর্বদা গোলাকার টার্মিনাল .5 (বা .005, বা যাই হোক না কেন) উল্লেখ করে ধীরে ধীরে উচ্চতর সংখ্যার দিকে একটি ডাটাবেস বায়সিং হিসাবে দেখা যায়, তবে সর্বদা একটি সমান বা বিজোড় সংখ্যার সাথে গোল করা গড়ের পক্ষপাতিত্ব করে না।
উইল মারফি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.