為什麼考試很多人不及格時,老師會開根乘10讓大家及格?這個演算法是怎樣來的?


因為大學考試不像高中考試那麼好控制難度和範圍。

高中考試這麼多年的大樣本重複試驗,已經總結出了套路,能夠保證區分度的同時,還能控制好試題難度。

而大學則不然,如果老師手一抖,出題特別難的話,可能一個班也沒幾個人及格,這種情況有時候都算教學事故,而且這課第二年也別指望有人選了。例如上海交通大學電院有門課,就因為掛科率太高引起了爭議(轉自BBS:請放學生一條生路-信號與系統掛科率近50%! - 【人人分享-人人網】)

因此在大學考試中,算分公式便是非常重要的。有句老師名言叫做「你及格不是你努力的成果,而是我努力的成果!」

其中比較常見的便是:
y=10sqrt{x}
其中x代表原始分數,y代表算分後的分數,所以只要同學的卷面成績大於36分,那算分後的成績就會大於60分。

這個函數好在:

  • 單調遞增;
  • 上凸函數;
  • 能保證0分還是0分,100分還是100分;

基本上凸函數都能滿足算分需求,只是效果不一樣。我還聽說過一個更變態的,那就是:
y=50mathrm{log}_{10}(x)
這個算分公式16分就能及格,而且也是單調的,而且100分還是100分。

簡單就是如下圖所示:


把一個區間連續單調地映射到同一區間,有一個普遍方法,就是圖像處理中的 gamma校正 (Gamma correction)。考慮函數 f(x) = x^gamma, x in [0, 1], 對任意 gamma > 0, 有 f(0) = 0, f(1) = 1, f(x) [0, 1] 區間內連續單調。通過調節gamma值的大小,可以調節函數在[0, 1]區間內上升的緩急。
如果映射的區間不是 [0, 1]
怎麼辦呢,如一般分數的值是 [0, 100], 此時只需要用一個線性變化把值先轉換到 [0, 1]之間,用 gamma
變換處理一遍,再用先前的線性變換的逆變換回到相同區間。對於分數 a in [0, 100]映射到新的分數 a.
{ a
整理好得
a.
這是一個 gamma = frac{1}{2}的伽馬校正。
為什麼選 gamma = frac{1}{2}? 因為開根號是一個簡單的操作,就算在沒有計算器的時代還可以手動演算,如果是 f(x) = x^{0.3}那就遠沒如此容易了。現在有計算器了,這裡不需要太過拘泥,假如你當老師,想讓 48 分以上的同學都及格,而不是 36 分以上,那隻要求解 frac{60}{100} = left(frac{48}{100}
ight)^gamma 即可。
如果滿分不是 100, 而是 120 或者 150 呢,也只需要把上式的 100 替換成實際分數即可。


中國科學技術大學檔案館
「他還介紹了中國科大考試分數中「開根號乘以10」公式源自錢學森的趣事。」

http://alumni.ustc.edu.cn/view_notice.php?msg_id=1072

錢先生的考試是1962年1月的一個上午,事後和老師談起錢先生的考題,老師都做不出來!考試第一道題是概念題,30分,拿到20分沒有問題。第二道題是「從地球上發射一枚火箭,繞過太陽,再返回到地球上來,請列出方程求出解。」題目很明確,可我們就是沒法下手,因為邊界條件確定十分困難。從8:30開考到中午無人交卷,我們明白火箭速度必定要達到第二宇宙速度,但先脫離地球的引力,也即首先達到第一宇宙速度,再加速至第二宇宙速度;火箭的運行軌跡一定要與地球繞日軌跡在同一平面,但地球附近還有月球,地球本身還在自轉。這些條件交織在一起,造成考場上四個人暈倒,包括烏克力,還有一位女生,反正四個人被抬出去。原始成績95%不及格,錢先生想了一個辦法:所有的成績開方之後乘以10,36分換算之後是60,加上平時成績,大部分都及格了。我考試時方程列出來了,邊界條件也用上了,但是地球自轉時產生的科利奧利力忘掉了。這個考試終身難忘,心驚肉跳!


這演算法真心不錯.....

$(function () {
canvas1 = $("#oimg")[0];
canvas1.width = 391;
canvas1.height = 220;
canvas2 = $("#nimg")[0];
canvas2.width = 391;
canvas2.height = 220;
var image = new Image();
image.src = "/cty.jpg";
image.onload = function () {
canvas1.getContext("2d").drawImage(image, 0, 0);
var context = canvas2.getContext("2d");
context.drawImage(image, 0, 0);

var data = context.getImageData(0, 0, 391, 220);
for (var i = 0; i &< data.data.length; i++) { if ((i + 1) % 4 != 0) data.data[i] = Math.round(Math.sqrt(data.data[i] / 2.55) * 10 * 2.55); } context.putImageData(data, 0, 0); }; });


調分函數要滿足以下幾個條件:
1. 嚴格遞增。
2. 上凸。
3. 零分和滿分為不動點。

根號乘十就是這種函數中比較簡單的一個。


數學上的來源大家已經說了,還有些其他的因素大概是怎麼考都有好多人考不到60,又不能掛那麼多人,掛科率太高是教學事故(某旦),所以就妥協了。


調分函數的作用是什麼?
調分函數的自變數(可以認為是一個連續型隨機變數)是一整個班(或者整個學校)某門期末考試的卷面成績。這個卷面成績根據題目的難度等各種參數的不同遵循著不同的分布函數。
而調分函數的作用就是把原本的pdf給變成Normal Distribution。
此外調分函數要保證一點:若f(x)的定義域是[0,100],值域則必須是[a,100],a&>0,並且f要把100映射到100。
這個normal distribution的參數怎麼定比較合適呢?
很顯然,平均分應當在75~80分(別問我為什麼,你想回家過年沒這平均分能看?),即μ=80(平均分越高學生越開心啊!)。
考慮到優秀率的限制,85~100分段的人須只有30%,那麼我們就可以解方程了:
frac{int_{0}^{85}f(x;sigma)dx}{int_{85}^{100}f(x;sigma)dx}=7/3
Mathematica得到兩個數值解,大約分別是10.910和17.175。顯然如果方差太大那麼正態分布函數會顯得太胖,因此90~100分段的人相較85~90分段的人會有點過多,因此取方差小的結果。

這是我們得到的fleft(x
ight)=frac {1} {10.910 sqrt{
    2pi}} e^{frac {left (x - 80 
ight)} {2	imes 10.910^{2}}}
然後我們把題主的調分函數y=10sqrt{x}反著代進去,得到卷面分數的分布如下:

你瞧,原本的分布平均分在60出頭,優秀率只有10%;調分後平均分到了80,優秀率則到了30%,皆大歡喜不是嗎?
當然,老師和學校的決定權也很重要!


看來不少老師都這麼干過吧……
不過其重大前提肯定是:該試卷的滿分為 100 分。
不過我在初中的時候,倒是碰到過有老師用的是這個函數:y=frac{3x}{4}+30(滿分為 120 分)或y=frac{3x}{4}+25(滿分為 100 分)。
至於題目所說的y=10sqrt{x},我畫了下圖像:

沒錯,正好 0 分還是 0 分,而 100 分還是 100 分,只不過中段的成績被拉了上來,穿幫不太明顯。


我不是來回答問題的,我只是反駁答主的「考試很多人不及格時,老師會開根號乘10讓大家及格」,正確的理解應該是老師在出卷子的時候就已經想好要開根號乘10了。

出一張保證及格率又讓學生成績相對正態分布的卷子——很難!

如果按照老教授的尿性隨便出幾道題,估計會做的人寥寥無幾。

但是他可以開根號乘10啊!

什麼?開根號乘10完了還是只有五十來分?

那就再開根號乘10!

只要我有1分!經過4次開根號乘10我就能及格了,想想就好激動(?????????)

10次以後!我就滿分啦?? ( ′? ? `? ) ??


記得我數學系的同學說有的考試處理分數是除以2加50。。。


其實是把合格 60 分當滿分再給你一次機會吧: 60/100 == 36/60


這個演算法很合理。0分的是0分,100分的還是100分,但36分就及格了,太合理了。 類似於圖像處理的gamma校正,變換之後整幅圖像閃亮了。
上個公式的曲線圖:

有合理就有非理,假如將演算法改為:y = x*x/100就得到77.5分才能及格的變換:

相關:如何進行五十分及格制和六十分及格制的換算? - 葉飛影的回答


反對現有的答案里要求concave的所有答案.

滿足f(x)ge x的單調增加函數就好了, 不一定要concave的.


西工大附中2016屆在高一期末考試的時候就使用了這個方法,當時以為是玩笑,沒想到還有這個典故。。


sqrt{36}	imes 10=60 sqrt{100}	imes 10=100


非專業相關,但我還真就見過親歷者講這個故事:這個典故是發生在武漢大學,那位老師確實是三錢之一的一位,但上文提到錢學森到底是不是我不是很確定了現在,應該不是。
我在成都上學,在乒乓球館碰到一位90歲的老人打球,姓名陳永寧,去年在球館依然跟我們談笑風生,表示之後馬上就要去西班牙參加世界老年錦標賽,還當場背誦唐詩三百首,琵琶行背的比我們熟,剛才搜了一下,老人獲得了世界冠軍。在這之前CCTV也做過一期專訪,剛才沒搜到。
九旬老人陳永寧堅持每天倒四次車去打球……-搜狐體育
老人給我們講他小時候的故事,那時候很窮,窮到沒鞋穿,去了學校他是一個人赤腳報道的,吃飯吃不起,經歷在此不贅述,後來他去了武漢大學當教導員還是什麼,說到大學學習的時候老人是這麼說的,他也當過大學教員,他說學生不及格很大一部分原因是老師的責任(老人是這麼說的,勿撕,時代背景已經差很多了,現在的老師不是那時候的老師,學生也不是那時候的學生),也有的學生實在學不會但是也還是得讓學生及格吧,當時錢老班上一個學生最低分是36,然後就想到了開方乘10的這個辦法,最低分及格了,最高分100還是100分,至於這個方法當時有沒有想那麼多就不得而知了。


其實同時改變所有人的成績就相當於在原來的成績上套一個函數,然後我們現在的目的是:提高低分段的分數,但要保持現在的排名,因此對於分數越高的人我們應該給他提高的分數越少,所以最好的方式就是在原成績上套一個函數滿足如下性質
①單調遞增
②凹函數(中文我老搞混反正英文是concave如果中文我說反了請指正下)
③函數一定要經過(100,100),因為滿分一百經過變換後不能再高了。
因此最容易想到的就是y=10√x這個函數了,題主你可以驗證一下看看它是不是正好滿足上述3個條件
實際上除此之外還有很多這樣的函數,用哪個都無所謂,一般用上面那個只是因為它比較簡單好算。


其實隨便一個[0,100]到[0,100]的單調增加的凹的雙射都可以……


這種演算法的來源我不清楚,但在我校,這麼算很清真~


使線性系變為對數系,更符合人類直覺的感知


推薦閱讀:

哪些停止運營的網站,至今讓你懷念?
飛機的黑匣子是不是過時的產物?飛機的信息可不可以實時傳遞迴地面,而不是事後打撈?
如果有乳釘或乳環機場安檢能查出來么?如何機智委婉的告訴安檢人員?
為什麼自己叫自己名字的時候會感覺很彆扭呢?
水流或空氣的潔牙器能達到牙線的效果嗎?

TAG:數學教育 | 冷知識 | 大學考試 |