ACM-ICPC 國際大學生程序設計競賽亞洲區數據分析:Part 1

2021-02-15 數據魔術師

在剛剛結束的第43屆ACM國際大學生程序設計競賽亞洲區總決賽(Asia-East Continent Final)中,由中山大學數據科學與計算機學院的三名本科生組成的隊伍,在郭嵩山老師的帶領下,獲得了學校亞軍,同時獲得了2019年參加第43屆在葡萄牙舉行的國際大學生程序設計競賽全球總決賽資格。

據悉,該賽事吸引了全國380餘支隊伍,180多所高校計算機領域的頂尖選手參加,是國內大學生計算機學科的最高賽事,獲獎選手得到了各大著名IT企業的青睞。

圖1:比賽頒獎現場,左二至五為中山大學教練張子臻,選手王凱祺、範儉豪、黃鎮。

 

ACM/ICPC是由美國計算機協會(Association for Computing Machinery)於1970年發起組織的國際大學生程序設計競賽(International Collegiate Programming Contest, 簡稱ACM-ICPC),是一項旨在展示大學生創新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度競賽。

經過近40多年的發展,ACM國際大學生程序設計競賽已經發展成為最具影響力的大學生計算機競賽,被譽為計算機軟體領域的奧林匹克競賽,到2018年底為止已經舉辦了43屆。賽事由各大洲區域預賽(regional)和全球總決賽(world final)兩個主要階段組成。

根據各賽區規則,每站前若干名的學校自動獲得參加全球總決賽的資格,決賽安排在每年的3-4月舉行,而區域預賽一般安排在上一年的9-12月舉行。一個大學可以有多支隊伍參加區域預賽,但只能有一支隊伍參加全球總決賽。

ACM/ICPC以團隊的形式代表各學校參賽,每隊最多由3名隊員組成,每位隊員必須是在校學生,取得學士學位超過兩年或進行研究生學習超過兩年的學生不符合參賽隊員的資格,並且最多可以參加2次全球總決賽和5次區域選拔賽。

區域賽一般分別按10%,20%,30%的比例頒發金,銀,銅獎。各預賽區第一名自動獲得參加全球總決賽的資格,其餘總決賽名額按一定規則進行分配。

ACM/ICPC競賽是計算機學科的盛宴,其歷史悠久,影響力大。我們何不把歷年的比賽情況數據拿來分析一番?

我們收集了2010年至2018年間中國大陸各高校機構參加ACM/ICPC的情況。(數據來源於網際網路,歷年香港賽區數據沒有納入統計,2018年部分賽區沒有採集到數據,數據統計可能稍有偏差)

部分高校機構歷年參加ACM-ICPC中國各區域賽區的獲獎情況如下所示(年平均獲獎牌數):

我們整理了各高校機構歷年參加中國各賽區區域賽的數據如下表:

其中特徵含義為:

特徵

含義(包含2010-2018年的統計)

gold_sum

金牌總數

silver_sum

銀牌總數

Bronze_sum

銅牌總數

Final_sum

進入全球總決賽次數

Sponsor_sum

擔任比賽承辦方次數

Team_sum

參加比賽總場次

Solved_avg

每場次平均解題數

Time_avg

每場次平均罰時

Rank_avg

每場次平均排名

Solved_best

歷場比賽最多解題數

Rank_best

歷場比賽最好排名

在執行主成分分析之前,我們需要假設變量之間存在線性相關關係。為此,用KMO檢驗和Bartlett's檢驗分析選擇的變量是否適合做主成分分析。KMO檢驗主要用於主成分提取的數據情況。一般來說,KMO檢驗係數分布在0到1之間,如果係數值大於0.6,則認為樣本符合數據結構合理的要求。

Bartlett's檢驗的原假設是研究數據之間的相關矩陣是一個完美矩陣,即所有對角線上的係數為1,非對角線上的係數均為0。在這種完美矩陣的情況下,各變量之間沒有相關關係,即不能將多個變量簡化為少數的成分,沒有進行主成分提取的必要。因此,我們希望拒絕Bartlett's檢驗的零假設。

計算結果顯示KMO檢驗係數為0.742,我們認為我們使用的研究數據結構是一般的;Bartlett's檢驗的顯著性小於0.01,拒絕零假設,即認為研究數據可以進行主成分提取。

 

該輸出結果顯示了通過主成分分析提取的因子數量為3,提取的因子對所有變量的累積方差貢獻率達到81.413%,說明因子對變量的解釋能力較好。

 

為了使因子更具有可解釋性,我們進行因子旋轉,旋轉方法採用最大方差法。旋轉的目的在於調整變量在各因子負荷量的大小,旋轉後變量在每個因子的負荷量不是變大(接近1)就是變得更小(接近0),這就使對公因子的解釋變得更容易。

上圖為旋轉後的成分矩陣,第一個因子上載荷量絕對值較大的為’solved_avg』、’time_avg』和』rank_avg』,其中』rank_avg』與第一個因子呈負相關,因此第一個因子主要反映的是一所學校學生程序設計能力的平均水平。

第二個因子載荷較大的變量為’silver_sum』、』bronze_sum』和’team_sum』,主要反映學生參賽的積極性。

第三個因子載荷較大的變量為』gold_sum』和』final_sum』,反映的是競賽成績的拔尖程度。

 

圖5:基於3個因子的散點圖分布

 

由於該三維圖不易於觀察,我們將其投影至二維。

 

圖7:因子2和因子3得分的散點圖分布

我們得到的3個因子分別從不同方面反映了各個高校機構參加ACM/ICPC的總體水平,單獨使用某一公因子很難做出綜合評價,因此考慮以各公因子對應的方差貢獻率比例為權重計算綜合得分情況。計算綜合得分的公式為:

綜合得分 = (因子1的貢獻率/總貢獻率)*因子1上的得分+(因子2的貢獻率/總貢獻率)*因子2上的得分+(因子3的貢獻率/總貢獻率)*因子3上的得分

FAC_sum= (30.936/81.413)*FAC1_1 + (29.213/81.413)*FAC2_1 + (21.264/81.413)*FAC3_1

得到部分綜合得分及綜合排名結果如下:

 

注意該排名不是實力排名,而是基於選取特徵下的綜合排名。

 

我們根據3個因子的得分,對各個高校機構進行了K-means聚類分析,將495個高校機構分為5類(K=5),得到每個聚類中的案例數和最終聚類中心如下圖:

通過5個類的最終聚類中心情況,我們可以看到聚類第3類高校機構的學生程序設計能力是比較強的,同時參加ACM/ICPC取得的成績是非常拔尖的,這類高校機構綜合排名也是最高的,第3類高校機構如下圖:

同時,可以看到聚類第2類高校機構的程序設計能力平均水平也是較強的,但是他們的參賽積極性很低,可以判斷該類是以一些非高校為主的組織機構,第2類高校機構部分如下圖:

 

感謝您,

支持學生們的原創熱情!

鄭重承諾

打賞是對工作的認可

所有打賞所得

都將作為酬勞支付給辛勤工作的學生

指導老師不取一文


文案 :鄭光柱(中山大學數據科學與計算機學院本科四年級, 1030477833@qq.com)

編輯 && 排版:鄧發珩(華中科技大學管理學院本科二年級:2638512393@qq.com)

校對 :鄧發珩(華中科技大學管理學院本科二年級:2638512393@qq.com)

指導老師: 張子瑧(中山大學數據科學與計算機學院副教授,zhangzzh7@mail.sysu.edu.cn)



相關焦點

  • 第31屆ACM/ICPC(國際大學生程序設計競賽)亞洲區西安預賽
    ACM/ICPC(ACM International Collegiate Programming Contest)是由國際計算機界歷史悠久、頗具權威性的組織ACM (Association for Computing Machinery)主辦的,世界上公認的規模最大、水平最高的國際大學生
  • 計算學子在ICPC國際大學生程序設計競賽亞洲區南京站比賽中斬獲金獎!
    計算學子在ICPC國際大學生程序設計競賽亞洲區南京站比賽中斬獲金獎!學院經緯12月19日至20日,第45屆ICPC國際大學生程序設計競賽亞洲區域賽南京站比賽在線上舉行,本次南京站比賽吸引了北京大學、清華大學、浙江大學等幾乎國內所有程序設計競賽強校,累計200多所高校的近
  • 我校學生在ACM國際大學生程序設計競賽亞洲區賽中獲金獎
    哈工大報訊(龐東賀 文/圖)11月21日,ACM國際大學生程序設計競賽亞洲區賽在福州落下帷幕,我校計算機學院本科生汪晟、陸子龍、郭濤組成的團隊從150餘支參賽隊中脫穎而出獲得金獎,取得了明年在埃及舉行的世界總決賽參賽資格。我校另有兩支參賽隊分獲銀獎和銅獎。
  • ACM國際大學生程序設計競賽亞洲分區賽將在北大舉行
    ACM國際大學生程序設計競賽亞洲分區賽將在北大舉行 日前,由北京大學主辦,北京大學信息科學技術學院承辦,方正科技有限公司贊助的第29屆ACM國際大學生程序設計競賽亞洲區北京賽區競賽網上預賽已經結束
  • 2018第42屆ACM-ICPC程序設計競賽 亞洲區選拔結果揭曉
    本屆ACM國際大學生程序設計競賽全球總決賽,將於2018年4月15日至20日在北京大學舉行。微信公眾號)年賽季,我校隊參加第42屆ACM國際大學生程序設計競賽(ACM-ICPC)亞洲區域賽中共奪得14金、7銀的佳績,金牌總數國內高校第二,並獲ACM-ICPC全球總決賽的資格,這是中山大學參加ACM-ICPC競賽21年來第17次衝出亞洲,走向世界。
  • 戴爾支持ACM-ICPC國際大學生程序設計競賽在京舉辦
    中國,北京,2015年11月16日 — 第40屆ACM-ICPC國際大學生程序設計競賽北京賽區昨日於北京大學圓滿舉行,戴爾今年也特別贊助本賽事,以支持學界一同培養、發掘頂尖計算機科學人才。 培育我國計算機科學頂尖人才  中國,北京,2015年11月16日 — 第40屆ACM-ICPC國際大學生程序設計競賽北京賽區昨日於北京大學圓滿舉行,戴爾今年也特別贊助本賽事,以支持學界一同培養、發掘頂尖計算機科學人才。
  • 中國人民大學代表隊獲第39屆ACM國際大學生程序設計競賽亞洲區北京...
    11月15日至16日,第39屆ACM-ICPC國際大學生程序設計競賽亞洲區北京賽區現場賽在北京師範大學舉行。由中國人民大學信息學院朱青老師指導,學生蘇蕉、汪道鵬、王瀚達組成的中國人民大學ACM隊「Kingbase_Acme」,在5個小時的比賽中發揮出色,最終獲得金牌,取得了全場排名第四的成績。
  • ACM國際大學生程序設計競賽亞洲區北京賽區預選賽昨舉行
    第三十屆ACM國際大學生程序設計競賽亞洲區北京賽區預選賽暨「方正科技杯」全國大學生程序設計邀請賽在陽光大廳進行,國內多所著名高校的選手雲集於此,為爭奪進軍全球總決賽的資格進行著一場高水平的程序設計角逐。
  • 吉大代表隊獲 第39屆acm-icpc 亞洲區域賽冠軍
    【光明網】城市晚報訊昨日,記者從吉林大學獲悉,第39屆acm-icpc國際大學生程序設計競賽亞洲區域賽牡丹江站比賽結果出爐。經過激烈的角逐,由吉林大學計算機學院2013級本科生唐家銘、2012級本科生陳海敏和軟體學院2012級本科生藥剡組成的「天命之戰」隊力拔頭籌,率先解出7個題目,名列第1名,獲冠軍。
  • 西北工業大學榮獲第42屆ACM國際大學生程序設計競賽亞洲區亞軍晉級...
    西工大新聞網11月30日電(劉君瑞 姚堯)11月26日,第42屆ACM-ICPC國際大學生程序設計競賽亞洲區域賽在南寧舉行,來自亞洲141所高校的227支隊伍參與角逐。此項成績刷新了我校ACM競賽記錄,西北工業大學首次晉級世界總決賽,取得了歷史性的重要突破,實現了「站穩亞洲區、晉級總決賽、躋身世界強隊」第二階段的目標。
  • 首屆大學生ACM程序設計競賽成功舉辦
    日前,中國西部高校首屆暨四川省第四屆大學生ACM程序設計競賽在成都東軟學院舉行,來自29所大學的83支代表隊參與了競賽。經過5個小時的激烈角逐,本次大賽最終決出一等獎13個,二等獎36個,三等獎21個。其中,成都電子科技大學5隊獲得冠軍,成都東軟學院的學生也斬獲了佳績。
  • 第44屆ICPC國際大學生程序設計競賽亞洲區域賽在東北大學舉行
    11月16—17日,第44屆ICPC國際大學生程序設計競賽亞洲區域賽(瀋陽站)在東北大學劉長春體育館舉行,這是學校自2015年以來連續第5年承辦此項賽事。來自北京大學、上海交通大學、香港大學、朝鮮理科大學和朝鮮金日成綜合大學等136所亞洲區高校的200支代表隊600人參賽。
  • 我校學生在第40屆ACM-ICPC國際大學生程序設計競賽亞洲區預賽中獲...
    新聞網訊:10月18日,第40屆ACM-ICPC國際大學生程序設計競賽亞洲區域賽長春站在東北師範大學舉行,由信息工程學院學生孫曉冬、江學磊、胡鈺程組成的我校代表隊獲銅獎。ACM-ICPC國際大學生程序設計競賽是由國際計算機界歷史悠久、頗具權威性的組織ACM主辦的年度性競賽活動,是世界上公認的規模最大、水平最高的國際大學生程序設計競賽,比賽由IBM全程贊助。本次比賽吸引了來自124所高校的200多支代表隊。
  • 中國西部高校首屆大學生ACM程序設計競賽落幕
    中國西部高校首屆大學生ACM程序設計競賽落幕   中新網成都6月3日電 (林峰)中國西部高校首屆暨四川省第四屆大學生ACM程序設計競賽在成都東軟學院落幕,最終決出一等獎13個,二等獎36個,三等獎21個,成都電子科技大學5隊獲得冠軍,成都東軟學院在每個獎項上均有斬獲。
  • 南方科技大學在ACM國際大學生程序設計競賽亞洲區域賽中再獲金牌
    中國教育在線訊2018年11月24日-25日,第43屆ACM國際大學生程序設計競賽(ACM-ICPC)亞洲區域賽(焦作)在河南理工大學舉行,來自亞洲區包括清華大學、北京大學、香港中文大學在內的186所高校,3所中學的298支隊伍參加比賽。
  • 南開大學代表隊獲ACM國際大學生程序設計競賽亞洲區域賽金獎
    南開新聞網訊(通訊員 高春燕)在12月8日舉辦的2013年度ACM國際大學生程序設計競賽亞洲區預賽長春站比賽中,南開大學代表隊取得金牌。這是我校代表隊在ACM競賽正式選拔賽中獲得的首枚金牌,取得歷史性突破。  2013年度,南開大學ACM代表隊取得優異成績,累計在上半年邀請賽中獲得三枚金牌後,在下半年的亞洲區正式選拔賽中,共獲得一金四銀一銅的歷史最好成績。  ACM國際大學生程序設計競賽由美國計算機協會主辦,已有30年歷史,是世界範圍內歷史最悠久、規模最大、最具影響性的程序設計競賽。
  • 我校學子在2017年ACM國際大學生程序設計競賽(ACM-ICPC)亞洲區賽中...
    近日,第42屆ACM國際大學生程序設計競賽亞洲區域賽落下帷幕。我校學生凌宇、任思霖、潘恆分別獲得1個銀獎(北京站),2個銅獎(西安站和上海站),其中北京站所獲銀獎是我校歷史上第一枚ACM-ICPC區域現場賽銀獎。
  • ACM-ICPC中國·黑龍江省第九屆大學生程序設計競賽開賽
    ACM-ICPC中國·黑龍江省第九屆大學生程序設計競賽在黑龍江大學開賽。 人民網哈爾濱5月11日電(楊海全)5月10日,ACM-ICPC中國·黑龍江省第九屆大學生程序設計競賽在黑龍江大學開賽。本屆競賽共有30家單位的153支隊伍報名參賽,其中含25所省內高校、2所省外高校、3所高級中學,賽事規模堪稱歷屆之最,創該項賽事開展以來參賽高校最多、隊伍數量最多、參賽人數最多三項紀錄。 本次競賽由黑龍江省計算機學會和ACM-ICPC中國·黑龍江省大學生程序設計競賽組織委員會主辦,黑龍江大學承辦。開幕式後選手們立刻進入到熱身賽環節。
  • ACM/ICPC程序設計競賽亞洲區域賽舉行 清華大學折桂
    ACM/ICPC程序設計競賽亞洲區域賽舉行 清華大學折桂 2015-11-22 19:00:37作者:${中新記者姓名}責任編輯:   中新網上海11月22日電(房樹芬 張婷)第40屆ACM/ICPC國際大學生程序設計競賽亞洲區域賽
  • 吉林大學獲ACM-ICPC世界總決賽歷史最好成績
    6月22至26日,第38屆ACM國際大學生程序設計競賽世界總決賽在俄羅斯舉行。通過94個國家(地區)的2286所學校參與的大洲區域賽角逐,全球122所知名高校晉級世界總決賽。由軟體學院2011級本科生蔡俊雄、計算機科學與技術學院2013級本科生章佳豪和邵帥組成的吉林大學代表隊首次獲得世界總決賽資格。