# 去中心化期中考互評系統
[Github Link](https://github.com/Showyuan/decentralized-midterm-peer-evaluation/tree/master?tab=readme-ov-file)
## 一、專案背景
### 1.1 問題陳述
現行評分與互評流程中,存在以下問題:
- **人工批改負擔沉重且難以一致**:教授/助教需批改大量題目,且有一致性困難。
- **評分流程高度中心化,缺乏透明與可驗證性**:過去評分權集中在單一助教/老師手上,,學生難以查證評分過程與依據,若出現爭議時,缺乏公開、可追溯的申訴機制,降低評分公信力。
- **匿名性與公平性不足,易受人為因素干擾**:學生在互評過程中,可能因人際關係、偏見或壓力而影響評分結果,缺乏有效的匿名與雙盲機制,導致評分結果不夠客觀與公正。
- **缺乏動態調整與聲譽機制,難以鼓勵高品質參與**
過去互評系統多以平均分數為主,無法根據評分者的歷史表現或評分品質動態調整其影響力,導致部分學生可能隨意評分,影響最終結果的準確性與公平性。
### 1.2 解決策略
本提案設計一套融合作業系統排程邏輯、聲譽權重、區塊鏈技術與激勵機制的去中心化匿名評分平台,來提升評分流程的公平性、透明度與抗操控性。包括:
- **自動化考試答案上傳與任務分派**:上傳學生作答檔案(.csv),系統隨機且公平地分配批改任務,確保每份考卷由多位評分者審查,降低單一評分者的主觀影響。
<!-- - **AI 模型輔助模擬評分**:結合 AI 模型模擬評分行為。 -->
- **激勵機制設計**:參考 CrowdGrader 等前沿研究成果,平台將學生的最終成績設計為「共識分數」與「審核成分」的組合。
- 共識分數:學生提交答案的品質與集體評分的結果。
- 審核成分:根據學生在批改他人考卷時的努力程度與評分準確性動態計算。以此激勵制度鼓勵學生投入認真、客觀的評分,並抑制隨意或極端評分行為,提升整體評分品質與參與度。
- **評分過程上鏈**:所有評分紀錄、過程與權重調整均寫入區塊鏈資料結構,確保每一步都可追溯、不可竄改,提升評分流程的透明度與信任度。
- **完善的申訴與再評機制**:學生可對成績提出申訴,觸發再評流程,並將申訴與再評紀錄同步寫入區塊鏈,保障學生權益並強化系統公信力。
## 二、文獻回顧
### 2.1 匿名互評 (anonymous peer assessment)
- 減少社會偏見:匿名有助於緩解壓力和不認同的恐懼,進而讓人更誠實的評分。保持匿名性時,學生對評分過程感到更積極,並且會減少負面的社會影響 (Vanderhoven et al., 2015; Raes et al., 2011)。
- 增加回饋品質:匿名通常會引發更多批評和回饋,因為學生可以更自由地表達真實意見,不害怕冒犯同儕 (Lin, 2018; Wadhwa et al., 2006)。
- 改善學習體驗:學生認為匿名評分是一種有價值的學習工具,因其能以不同的觀點互動並獲得具有建設性的回饋,提高他們的理解和技能 (Basheti et al., 2010; Kumar et al., 2019)。
- 提高客觀性:課堂響應技術(CRT)和移動響應技術(MRT)等工具可促進匿名評分,減少人際變量的影響,並促進客觀評分 (Raes et al., 2011; Rotsaert et al., 2015)。
### 2.2 雙盲評分 (double-blind grading)
- 減少偏見:雙盲有助於消除與性別,年齡和地點有關的偏見,這些偏見在單盲或開放審查方法中常見。研究表明雙盲同行評估對研究品質提供公平評估更有效的研究 (Tvrznikova, 2018;Tvrznikova, n.d.)。
- 改善公平和客觀性:對學者進行的一項調查發現對雙盲同行評審的強烈支持,71% 的受訪者認為該評審在評估過程中確保公平和客觀性方面有效 (Kmietowicz, 2008)。
- 與最終成績的相關性:在教育環境中,雙盲同行評審方法顯示與最終成績有中度至高的關聯性,表明它們在準確預測學生表現方面的有效性 (Prazina & Okanovic, 2019)。
### 2.3 群眾評分演算法 (crowd grading algorithm)
- CrowdGrader 使用以信譽為基礎的算法將學生提供的成績合併為共識成分。這個系統會反覆精準化每個學生的共識成績和評分準確度的估計,有助於管理由評論者偏見引起的錯誤 (Alfaro & Shavlovsky, 2013)。
- 激勵計劃對於激勵準確評估至關重要。CrowdGrader 結合了一個系統,學生成績受到他們的審核努力和準確性的影響,為質量審查提供實際的激勵 (Shavlovsky, 2017)。
### 2.4 去中心化評分 (Decentrailize grading)
- 去中心化評分使用區塊鏈技術執行時,可以顯著提高分級過程的公平性和透明度。區塊鏈的不可篡改的帳本確保所有評分記錄都是透明且防止篡改的,增強學生和教育者的信任 (Alipour et al., 2024)。
- 被證明,如 Blockment 這樣的去中心化系統可以提高評分的可靠性和速度,並鼓勵學生更積極地參與評分過程 (Alipour et al., 2024)。
### 2.5 Key Paper
- Implementing Double-Blind Peer Assessment in Virtual Classroom
- 為參與歐盟-伊朗 STEM/UNITEL 項目的課程設計和實施匿名電子 PA (Peer Assessment) 系統。研究人員使用數位工具模擬雙盲 PA 過程,確保評估人和被評估者都保持匿名
- 根據學生自己定義的標準和權重使用評分,使評估過程對學生更相關和易於理解
- 該研究收集了 70 名學生的成績,實施的系統在其目標方面獲得好評且有效
- CrowdGrader: Crowdsourcing the Evaluation of Homework Assignments.
- CrowdGrader 是一種工具,讓學生提交並協作對作業進行評分
- 可拒絕無法評分的作業,避免錯誤評分(需要老師介入評分)
- 引入回饋評分機制,提升評語品質(紀錄Reputation)
- 匿名自動分配評審,避免偏見與作弊。每次僅分配一份作業,防止評語混淆。
- 聲譽系統(Reputation System):使用 Vancouver 演算法根據評分者的變異數調整權重,採用訊息傳遞與迭代更新,估計作業分數與學生可信度
- 激勵機制(Incentives Schemes):為鼓勵學生認真又精準的審查,該研究設計了一種激勵機制。每個學生獲得的成績是他們提交的共識分數和反映他們的審核努力和準確性的審核成分組合,發現這種激勵制度在實踐中有效
## 三、作業系統概念
### 3.1 Linux 程序的優先序 PRI 與 NI
在 Linux 作業系統中,PRI 與 NI 是管理 process 執行順序的兩個重要指標。
#### PRI(Priority,優先序)
- PRI 代表程序的實際排程優先權,數值越小,優先權越高,該程序越快獲得 CPU 執行機會。
- Linux 內部將所有程序的優先權分為 140 級,分為兩大類:
- **實時程序(Real-time)**:PRI 0~99,優先權最高。
- **一般程序(User-space)**:PRI 100~139,優先權較低,這部分由 nice 值決定。
- PRI 是由系統根據多項因素動態調整,使用者無法直接修改 PRI。
#### NI(Nice 值,友善值)
- NI 是一個使用者可設定的參數,範圍為 **-20(最高優先權)到 19(最低優先權)**,預設為 0。
- NI 數值越小,該程序越「不友善」(即越自私),會搶佔更多 CPU;數值越大,則越「友善」,願意讓出 CPU 給其他程序。
- 使用 `nice` 或 `renice` 指令可調整 NI,普通用戶只能調高(降低優先權),root 可調低(提升優先權。
#### PRI 與 NI 的關係
- 一般程序的 PRI 計算方式為:
$$
PRI = 20 + NI
$$
例如,NI = -20 時 PRI = 0(最高),NI = 19 時 PRI = 39(最低)。
- 這樣設計讓使用者能間接影響程序的實際優先權,但最終由核心排程器根據整體系統狀況動態調整。
### 3.2 聲譽機制與本案設計的關聯
#### 聲譽分數的類比
Linux 的 NI/PRI 機制本質上類似於分散式系統或評分平台中的聲譽分數(reputation score)設計:
- 聲譽分數反映一個用戶或節點在系統中的可信度、貢獻度或優先權,影響其能獲得的資源或決策權重。
- NI 值就像是一個「聲譽指標」:數值低(聲譽高)者獲得更多資源,數值高(聲譽低)者則讓出資源給他人。
- 在分散式評分系統中,信譽分數會根據參與者的歷史表現、評分品質等動態調整,類似於 Linux 程序根據 NI 動態調整 PRI。
#### 本案設計的啟發
- **動態權重分配**:每位評分者的「權重」可根據其歷史評分準確度、穩定性等動態調整,類似於 NI 影響 PRI。
- **公平與抗操控**:高信譽的評分者(如低 NI)對最終成績影響較大,低信譽者影響較小,防止惡意操控。
- **去中心化共識**:如同分散式信譽機制,系統根據多方評分與信譽權重,整合出最終公平成績,而非單一權威決定。
## 四、系統設計
### 4.1 系統流程
<!--  -->

<!-- #### 權限與查詢設計 -->
<!--
| 角色 | 可執行操作 | 查詢範圍 |
|:-----------|:-------------------------------------|:--------------------|
| 學生 | 互評、申訴、查詢最終成績、評分軌跡| 查詢公開資料|
| 管理者 | 處理申訴、調整參數| 查詢所有資料 |
-->
<!-- #### API 設計(RESTful)
#### 1. 使用者認證
- `POST /api/auth/login`
- 輸入:email, password
- 輸出:JWT token
- `POST /api/auth/register`
- 輸入:email, password, name, role
- 輸出:註冊結果
#### 2. 考卷上傳與查詢
- `POST /api/submission`
- 輸入:assignmentId, file (上傳至 IPFS), studentId
- 輸出:submissionId, ipfsHash
- `GET /api/submission/{submissionId}`
- 輸入:submissionId
- 輸出:submission 資訊(含 IPFS hash)
#### 3. 評分與查詢
- `POST /api/review`
- 輸入:submissionId, reviewerId, score, comment, weight
- 輸出:reviewId
- `GET /api/review/{submissionId}`
- 輸入:submissionId
- 輸出:所有評分紀錄
#### 4. 聲譽與激勵查詢
- `GET /api/reputation/{userId}`
- 輸入:userId
- 輸出:reputation 分數、評分歷史
#### 5. 申訴與再評
- `POST /api/appeal`
- 輸入:submissionId, studentId, reason
- 輸出:appealId
- `GET /api/appeal/{appealId}`
- 輸入:appealId
- 輸出:申訴處理狀態
#### 6. 成績查詢
- `GET /api/grade/{studentId}`
- 輸入:studentId
- 輸出:所有考卷與最終成績 -->
<!-- #### 資料庫設計(PostgreSQL 範例)
#### 1. users
| 欄位 | 型態 | 說明 |
| ------------ | ----------- | ------------ |
| id | SERIAL PK | 用戶ID |
| name | VARCHAR | 姓名 |
| email | VARCHAR | 電子郵件 |
| password | VARCHAR | 密碼雜湊 |
| role | VARCHAR | 角色 |
| reputation | INTEGER | 信譽分數 |
#### 2. assignments
| 欄位 | 型態 | 說明 |
| ------------ | ----------- | ------------ |
| id | SERIAL PK | 考卷ID |
| title | VARCHAR | 標題 |
| description | TEXT | 說明 |
| deadline | TIMESTAMP | 截止時間 |
#### 3. submissions
| 欄位 | 型態 | 說明 |
| ------------ | ----------- | ------------ |
| id | SERIAL PK | 上傳ID |
| assignment_id| INTEGER FK | 考卷ID |
| student_id | INTEGER FK | 學生ID |
| ipfs_hash | VARCHAR | IPFS Hash |
| timestamp | TIMESTAMP | 上傳時間 |
#### 4. reviews
| 欄位 | 型態 | 說明 |
| ------------ | ----------- | ------------ |
| id | SERIAL PK | 評分ID |
| submission_id| INTEGER FK | 上傳ID |
| reviewer_id | INTEGER FK | 評分者ID |
| score | INTEGER | 分數 |
| comment | TEXT | 評語 |
| weight | FLOAT | 權重 |
| timestamp | TIMESTAMP | 評分時間 |
#### 5. appeals
| 欄位 | 型態 | 說明 |
| ------------ | ----------- | ------------ |
| id | SERIAL PK | 申訴ID |
| submission_id| INTEGER FK | 上傳ID |
| student_id | INTEGER FK | 學生ID |
| reason | TEXT | 申訴理由 |
| status | VARCHAR | 狀態 |
| result | TEXT | 結果 |
| timestamp | TIMESTAMP | 申訴時間 | -->
<!-- ### 2.2 主要程式規劃
| 程式 | 說明 |
|---------|-----------|
|csv_loader.py|輸入考試成績CSV|
|assignment.py|隨機公平分配批改任務|
|ai_grader.py|利用AI模擬學生批改答案|
|consensus.py|整合評分|
|blockchain/|區塊鏈儲存評分過程|
|appeal.py|學生申訴、重新評分| -->
## 五、評分加權模型(Weighted Scoring)
### 5.1 符號定義
- $U$:學生集合(評分者 + 提交者)
- $S$:考卷集合
- $E \subseteq S \times U$:評分關係($(i, j) \in E$ 表示 $j$ 評 $i$)
- $g_{ij}$:$j$ 對 $i$ 的評分
- $\hat{q}_i$:考卷 $i$ 的共識分數
- $\hat{v}_j$:學生 $j$ 的評分變異數估計
- $w_j = \frac{1}{\hat{v}_j}$:評分權重
- $R_j$:評分者聲譽分數
- $\theta_j$:激勵權重
### 5.2 共識分數計算(基於 Vancouver 演算法)
加權平均:
$$
\hat{q}_i = \frac{\sum_{(i,j) \in E} w_j \cdot g_{ij}}{\sum_{(i,j) \in E} w_j}
$$
### 5.3 評分變異數估計(每位學生)
$$
\hat{v}_j = \frac{1}{|S_j|} \sum_{i \in S_j} (g_{ij} - \hat{q}_i)^2
$$
其中 $S_j = \{ i \mid (i, j) \in E \}$
> 補充:為什麼要除以 $|S_j|$?
>
> 讓誤差估計真正反映「平均準確度」。
>
> $|S_j|$ 是學生 $j$ 所評分的作業數量,除 $|S_j|$ 的目的,是為了計算每位學生的平均每次評分誤差,也就是均方誤差(MSE, Mean Squared Error)。
>- 若僅使用誤差總和,評分次數較多的學生會因「累積誤差」而被不公平懲罰。
>- 除以 $|S_j|$ 後,才能得到與「每次評分品質」有關的指標,不同學生之間才具有**公平性與可比性**。
### 5.4 聲譽分數計算
#### 方法一
參考 Linux 作業系統中 PRI = 20 + NI 的排程邏輯,定義學生評分者的聲譽分數如下:
$$
R_j = \max\left(0, R_{\text{max}} - \lambda \cdot \sqrt{\hat{v}_j} \right)
$$
其中:
- $\hat{v}_j$:學生 \(j\) 的平均評分誤差
- $R_{\text{max}}$:聲譽分數上限,通常設為 1
- $\lambda = \frac{R_{\text{max}}}{\bar{v}_G}$:懲罰斜率
- $\bar{v}_G$:容許誤差上限,當 $\hat{v}_j \geq \bar{v}_G$ 時,聲譽將降為 0
為了讓聲譽系統具備合理的可解釋性與調整彈性,引入三個控制參數:
- $R_{\text{max}}$:最大聲譽值(預設為 1)
- $\bar{v}_G$:誤差容忍上限,當 $\hat{v}_j \geq \bar{v}_G$ 時,視為評分失效
- 線性懲罰斜率:$\lambda = \frac{R_{\text{max}}}{\bar{v}_G}$
<!-- #### 方法二
也可以選擇開根號形式進行非線性懲罰,以保留鼓勵與容錯特性:
$$
R_j = 1 - \sqrt{ \frac{\min(\hat{v}_j, \bar{v}_G)}{\bar{v}_G} }
$$
-->
### 5.5 最終成績設計(含激勵)
每位學生 $j$ 的最終成績:
$$
\text{FinalGrade}_j = (1 - \alpha) \cdot \hat{q}_j + \alpha \cdot \theta_j
$$
其中:
$$
\theta_j = \frac{\min(m_j, N)}{N} \cdot R_j
$$
* $m_j$:學生實際完成的評審數量
* $N$:系統指定的最少評審數量
* $\alpha \in [0, 1]$:評審成分佔比
### 5.6 上鏈紀錄格式
評分過程與最終結果皆記錄於區塊鏈中:
$$
Ledger = {
(i, j, g_{ij}, \hat{q}_i, \hat{v}_j, R_j, \theta_j, \text{FinalGrade}_j)
}
$$
## 六、實驗分析
### 6.1 最少評審數量 $N$ 的選擇與標準差分佈
在設計評分系統時,如何選擇每位學生(評審者)最少需完成的評審數量 $N$,直接影響最終分數的公正性與穩定性。以下以「學生評分誤差分數為正負 10 分」為例,說明 $N$ 的選擇原則與標準差分佈的意義。
#### 標準差與評分誤差的關係
假設每份考卷分數範圍為 0-100 分,每位學生評分的誤差分布範圍為 $\pm 10$ 分,代表評分「母體標準差」約為 $10$。標準差描述了所有評分者分數與真實分數之間的平均差距。標準差越大,表示評分分布越分散,個別評審的結果波動越大。
#### 樣本平均數的標準誤差
中央極限定理指出,當每份作業有多位評審時,這些評分的平均值會更穩定,且其分布會趨近常態分布。平均數的不確定性由「標準誤差」衡量,其計算公式為:
$$
SE = \frac{\sigma}{\sqrt{N}}
$$
其中 $\sigma$ 為母體標準差(此處為 10),$N$ 為評審人數。
#### $N$ 的選擇原則
- **$N$ 越大,平均分數越穩定**:隨著 $N$ 增加,標準誤差 $SE$ 會下降,分數估計更精確。
- **以標準差 $10$ 為例**:不同 $N$ 值下的標準誤差 $SE$ 如下表所示:
| 評審人數 $N$ | 標準誤差 $SE$ | 95% 信賴區間(約 $\pm 1.96SE$) |
|:------------:|:--------------:|:-------------------------------:|
| 1 | 10.00 | $\pm 19.60$ |
| 2 | 7.07 | $\pm 13.86$ |
| 3 | 5.77 | $\pm 11.32$ |
| 5 | 4.47 | $\pm 8.77$ |
| 10 | 3.16 | $\pm 6.20$ |
- 當 $N=1$ 時,平均分數的 95% 信賴區間寬達近 20 分,表示不確定性極高。當 $N=5$ 時,信賴區間縮小至約 $\pm 9$ 分,$N=10$ 時僅約 $\pm 6$ 分,分數穩定度顯著提升。
- **$N=3$ 為最低要求**:依中央極限定理,$N \geq 3$ 時平均數分布開始趨近常態,能進行統計推論。
- **$N=5 \sim 7$ 為較佳選擇**:此時標準誤差已降至原始標準差的一半以下,分數穩定性佳,評審負擔亦合理。
- **$N \geq 10$ 最為穩定**:但學生工作量也相對增加,需衡量精確度與執行效率。
選擇 $N$ 時,應根據預期的評分誤差(標準差)、目標精確度與學生可承擔的評審負擔進行綜合考量。以誤差標準差為 10 分的情境而言,建議每份作業至少由 3 至 5 人評審,能兼顧分數穩定性與操作可行性。$N$ 越高,結果越穩定,但實務上也需控制負荷。
### 6.2 變異數縮減與 precision 提升
探討不同評審人數 $N$ 對分數穩定性與 precision 提升的實際影響。
#### 變異數縮減的數學基礎
若每位評審的評分誤差獨立且具有相同變異數 $\sigma^2$,則 $N$ 位評審的平均分數,其總體變異數為:
$$
\text{Var}(\bar{X}) = \frac{\sigma^2}{N}
$$
標準誤差為:
$$
SE = \frac{\sigma}{\sqrt{N}}
$$
這表示隨著評審人數 $N$ 增加,平均分數的波動性會顯著下降,分數將更穩定地接近真實值。
#### 不同評審人數下的變異數與 precision
以下表格顯示了不同評審人數下,平均分數的變異數、precision 提升倍數,以及每增加一位評審時的邊際效益:
| $N$ | 變異數縮減(%) | precision 提升倍數 | 邊際效益 |
|:---------------:|:--------------:|:--------------:|:---------:|
| 1 | 100.0 | 1.0x | 0.0% |
| 2 | 50.0 | 1.4x | 50.0% |
| 3 | 33.3 | 1.7x | 16.7% |
| 4 | 25.0 | 2.0x | 8.3% |
| 5 | 20.0 | 2.2x | 5.0% |
| 6 | 16.7 | 2.4x | 3.3% |
| 7 | 14.3 | 2.6x | 2.4% |
| 8 | 12.5 | 2.8x | 1.8% |
| 9 | 11.1 | 3.0x | 1.4% |
| 10 | 10.0 | 3.2x | 1.1% |
- **變異數縮減**:當 $N=1$ 時,平均分數的變異數為 $\sigma^2$;$N=2$ 時立即減半;$N=5$ 時僅剩五分之一;$N=10$ 時剩下十分之一。
- **precision 提升**:以標準誤差縮減計算。$N=4$ 時 precision 約為原始的 2 倍,$N=9$ 時可達 3 倍以上。
- **邊際效益**:每多一位評審,效益遞減。從 $N=1 \to 2$ 增加 50% 效益,但 $N=9 \to 10$ 僅約 1.1%。
- 多評審制度可顯著提升評分穩定性與可信度,即使只多 1-2 位評審也有明顯幫助。
### 6.3 變異數上限 $\bar{v}_G$ 參數分析
$\bar{v}_G$ 是誤差容忍上限,代表系統能接受的最大評分變異數
**考試情境的特殊考量**:
- 考試評分相對客觀,變異數通常較小
- 需要平衡嚴格性和包容性
- 過小的 $\bar{v}_G$ 可能導致過度懲罰,$\bar{v}_G$ ↓ → $\lambda$ ↑ → 對高變異數評分者懲罰較重
- 過大的 $\bar{v}_G$ 可能無法有效區分評分質量,$\bar{v}_G$ ↑ → $\lambda$ ↓ → 對高變異數評分者懲罰較輕
#### 分析目標
- 分析不同 $\bar{v}_G$ 值對學生考試互評系統的影響
- 尋找15人班級設定下的最佳 $\bar{v}_G$ 參數
- 確保評改工作量分配的公平性(每人評改4份考卷)
#### 學生群體設定(15人班級)
| 學生類型 | 人數 | 評分能力 | 評分變異數 | 誤差範圍 |
|---------|------|----------|------------|----------|
| 優秀學生 | 3人 | 90分 | 3.0 | ±2-3分 |
| 良好學生 | 5人 | 80分 | 7.0 | ±3-4分 |
| 一般學生 | 4人 | 70分 | 12.0 | ±4-5分 |
| 尾端學生 | 2人 | 60分 | 20.0 | ±5-7分 |
| 極端學生 | 1人 | 55分 | 25.0 | ±5分 |
<!-- #### 成績差異度計算
$$\text{成績差異度} = \text{std}(\text{所有作品的最終成績})$$
每個作品的最終成績由多位評分者的加權平均得出,權重基於評分者的聲譽分數。 -->
##### 關鍵vG值比較
| vG值 | λ值 | 平均聲譽 | 有效聲譽者比例 | 系統特性 |
|------|-----|----------|----------------|----------|
| 2.0 | 0.500 | 0.220 | 40.0% | 懲罰較重,區分度高 |
| 4.0 | 0.250 | 0.409 | 73.3% | 平衡狀態 |
| 6.0 | 0.167 | 0.558 | 86.7% | 較為寬鬆,包容性強 |
| 8.0 | 0.125 | 0.653 | 100.0% | 過於寬鬆 |
#### 最佳參數推薦
- **最佳 $\bar{v}_G$ 值**: 6.19
- **對應 $\lambda$ 值**: 0.162
| 指標 | 數值
|------|------|
| 聲譽分數範圍 | [0.0, 1.0] |
| 平均聲譽 | 0.492 |
| 聲譽標準差 | 0.285 |
| 有效聲譽者比例 | 86.7% |
| 成績差異度 | 11.445 |

#### 6.3.1. Overall System Performance (左上)
**圖表內容**: 綜合得分 vs vG 值
- **X軸**: vG 值範圍 (0.5 - 8.0)
- **Y軸**: 綜合得分 (0 - 1.0)
- **關鍵特徵**:
- 藍色實線顯示綜合得分隨 vG 值的變化趨勢
- 紅色虛線標示最佳 vG 值 (5.16)
- 紅色水平線標示最佳綜合得分 (0.805)
- 紅色點標示最佳配置位置
- 綜合得分考慮了聲譽分佈(30%)、有效聲譽比例(25%)、變異數控制(20%)、系統穩定性(15%)、成績區分度(10%)
- 曲線顯示 vG 值過小或過大都會降低系統性能
- 最佳點 vG=5.16 代表各項指標的最佳平衡
#### 6.3.2.Reputation Distribution (中上)
- **綠色實線**: 平均聲譽分數
- **橙色實線**: 聲譽標準差
- **灰色虛線**: 理想目標值
- 平均聲譽隨 vG 增加而上升(懲罰減輕)
- 聲譽標準差先增後減,反映區分能力的變化
- 理想平均聲譽約 0.55,標準差約 0.25
- vG=5.16 處達到良好的平衡
#### 6.3.3. System Coverage (右上)
- **紫色實線**: 有效聲譽者比例 (聲譽 > 0.1)
- **綠色陰影區**: 理想範圍 (60%-90%)
- vG 過小導致過度懲罰,有效聲譽者比例過低
- vG 過大導致懲罰不足,失去區分效果
- 86.7% 的有效聲譽者比例處於理想範圍內
- 反映系統的包容性和有效性平衡
#### 6.3.4. Penalty Mechanism Strength (左下)
- **棕色實線**: λ = 1/vG 的變化
- **紅色點**: 最佳 λ 值 (0.194)
- λ 值反映懲罰機制的強度
- vG 越小,λ 越大,懲罰越嚴厲
#### 6.3.5. Grade Discrimination Ability (中下)
- **青綠色實線**: 成績標準差
- 在本實驗中,成績差異度保持穩定 (10.267)
- 在不同 vG 值下都能維持良好的區分效果
#### 6.3.6. Reputation Score Range (右下)
- **藍色實線**: 最高聲譽分數
- **藍色虛線**: 最低聲譽分數
- **淺藍色陰影**: 聲譽分數範圍
- vG 較大時,聲譽分數範圍變窄(區分度降低)
- 最佳 vG 值處保持了適當的聲譽範圍 0-1
### 6.4 ALPHA 參數分析
#### 分析摘要
- **最佳 ALPHA 參數**: 0.1
- **最佳綜合評分**: 61.28
- **分析範圍**: 0.1 ~ 0.9

#### 綜合評分趨勢 (Composite Score Trend)
- **X軸**: ALPHA 參數值 (0.1 到 0.9)
- **Y軸**: 綜合評分 (基於上述五個指標的加權計算)
1. **最終成績相關性 (Final Correlation)** - 權重: 40%
- 衡量最終成績與學生真實能力的相關性
- 數值越高表示評估結果越準確
2. **共識評分相關性 (Consensus Correlation)** - 權重: 20%
- 評估共識分數與真實能力的相關性
- 反映同儕評估的一致性程度
3. **聲譽系統相關性 (Reputation Correlation)** - 權重: 15%
- 測量聲譽系統評估的有效性
- 驗證聲譽機制是否能正確識別評估能力
4. **系統穩定性 (System Stability)** - 權重: 15%
- 評估系統在不同參數下的穩定表現
- 計算公式: 1 - (標準差 / 平均值)
5. **激勵機制適當性 (Incentive Appropriateness)** - 權重: 10%
- 評估激勵機制的平衡性
- 最佳值設定為 0.3,偏離此值會降低評分
- **綠色星號**: 標記最佳參數點 (ALPHA = 0.1, 評分 = 61.28)
- **參數 0.1 表現最佳**: 獲得最高綜合評分 61.28
#### 成績分佈分析 (Grade Distribution Analysis)
- **X軸**: ALPHA 參數值 (0.1 到 0.9)
- **Y軸**: 成績範圍 (最高分與最低分的差距)
- **散點顏色**: 以色彩編碼表示平均成績 (colorbar 顯示對應關係)
- **Viridis 色彩圖**: 深色表示較低平均分,亮色表示較高平均分
## 七、實驗成果
### 7.1 實驗設計
#### 7.1.1 測試場景
- **模擬對象**: 20 位學生進行 6 次考試互評
- **評審要求**: 每位學生需完成至少 4 次評審
- **總互評次數**: 480 次評分
- **固定參數**:
- 最大聲譽值 (R_MAX): 1.0
- 評審成分佔比 (ALPHA): 0.1
- 評審數量 (N): 4
#### 7.1.2 測試實驗對比
| 配置 | V_G | λ (懲罰斜率) | 保護機制 | 測試目的 |
|------|----------|-------------|---------|----------|
| 實驗1 | 6.0 | 0.167 | 無 | 驗證原始算法的問題 |
| 實驗2 | 6.0 | 0.167 | 有 | 測試保護機制效果 |
| 實驗3 | 8.0 | 0.125 | 有 | 測試更寬鬆的參數是否有加分效果 |
### 7.2 主要發現
#### 7.2.1 問題一:無保護機制時的分數懲罰現象
在**實驗1**(V_G=6.0,無保護機制)中,發現激勵機制的嚴重缺陷:
##### 案例分析:student_02
```
真實能力: 88.0
共識分數: 78.25
激勵權重: 0.6651
計算過程:
加權分數 = (1-0.1) × 78.25 + 0.1 × 0.6651 × 100
= 0.9 × 78.25 + 6.651
= 77.07
最終成績: 77.07 (比共識分數低 1.18 分)
```
##### 問題分析:
- 學生幫忙評分,但因激勵權重 < 共識分數/100,反而被扣分
- 違反激勵機制的設計初衷:**鼓勵參與評分**
#### 7.2.2 改進一:導入保護機制 (V_G=6.0)
在**實驗2**中實施保護邏輯:`最終成績 = max(共識分數, 加權分數)`
##### 保護機制效果
```
student_02 案例:
共識分數: 86.13
計算加權分數: (1-0.1) × 86.13 + 0.1 × 0.6651 × 100 = 84.17
最終成績: max(86.13, 84.17) = 86.13
```
##### 激勵分佈分析 (V_G=6.0)
| 聲譽等級 | 百分比 | 激勵權重範圍 |
|----------|--------|--------------|
| 優秀 (>0.8) | 20% | 0.999910 |
| 良好 (0.5-0.8)| 40% | 0.640-0.667 |
| 一般 (<0.5)| 40% | 0.482 |
**問題**: 仍有 40% 的學生權重偏低,無法獲得評分獎勵
#### 7.2.3 改進二:調整容忍上限 (V_G=8.0)
在**實驗3**中放寬誤差容忍上限至 8.0:
##### 聲譽分數計算影響
```
λ = R_MAX / V_G = 1.0 / 8.0 = 0.125 (更寬鬆)
範例計算:
評分變異數 = 9.665
聲譽分數 = max(0, 1.0 - 0.125 × √9.665)
= max(0, 1.0 - 0.125 × 3.109)
= max(0, 0.611) = 0.611
```
##### 激勵分佈改善 (V_G=8.0)
| 聲譽等級 |百分比 | 激勵權重範圍 |
|----------|--------|--------------|
| 優秀 (>0.8) |20% | 0.999932 |
| 良好 (0.5-0.8) |80% | 0.611-0.750 |
| 一般 (<0.5) |0% | - |
**顯著改善**:
- **100%** 的學生獲得有效激勵 (>0.5)
- 讓大部分學生都有加分機會,只是讓評分更精準的學生可以加更多分
##### 參數影響分析
| V_G | λ值 | 特性 | 適用場景 |
|----------|-----|------|----------|
| 6.0 | 0.167 | 嚴格標準 | 專業評審、高要求場合 |
| 8.0 | 0.125 | 平衡標準 | **推薦用於學生互評** |
| 10.0+ | <0.1 | 寬鬆標準 | 初學者、探索性評審 |
### 7.4 實際應用建議
基於實驗結果,建議學生考試互評採用:
- V_G = 8.0 (誤差容忍上限)
- R_MAX = 1.0 (最大聲譽值)
- ALPHA = 0.1 (評審成分佔比)
- N = 4 (最少評審數量)
- 啟用分數保護機制
<!-- * 依評分準確度動態調整影響力
* 聲譽機制促進公平與長期參與
* 成績組成透明、可追蹤、有獎懲意義
* 上鏈保障可驗證性與資料不可竄改性 -->
## 八、去中心化期中考互評系統實驗成果
處理本次期中考 20 位學生的互評,模擬每位學生評分 4 份作業,總計 80 次評分。
### 數據統計
#### 原始數據統計
- **學生總數**: 20 人
- **評分總數**: 80 次
- **分數總數**: 400 個 (Q1~Q5)
- **原始單題平均分**: 15.84
- **加總分數範圍**: 49 ~ 98 分
- **加總分數平均**: 79.19 分
- **加總分數標準差**: 8.47
#### Vancouver算法參數
- **R_max**: 1.0 (最大聲譽值)
- **v_G**: 8.0 (誤差容忍上限)
- **alpha**: 0.1 (評審成分佔比)
- **N**: 4 (最少評審數量)
### Vancouver算法結果
#### 整體統計
- **平均最終成績**: 79.04 分
- **平均共識分數**: 78.71 分
- **平均聲譽分數**: 0.285
- **使用保護機制學生數**: 17 人 (85%)
- **最終成績標準差**: 7.15
#### 最終排名結果前10名學生成績
| 排名 | 學生ID | 原始總分 | Vancouver共識 | 聲譽分數 | 最終成績 | 保護機制 |
|------|--------|----------|---------------|----------|----------|----------|
| 1 | N14 | 82.25 | 86.00 | 1.000 | 87.40 | 否 |
| 2 | A01 | 87.75 | 86.00 | 0.414 | 86.00 | 是 |
| 3 | J10 | 81.50 | 86.00 | 0.000 | 86.00 | 是 |
| 4 | L12 | 63.50 | 86.00 | 0.125 | 86.00 | 是 |
| 5 | S19 | 86.00 | 85.66 | 0.012 | 85.66 | 是 |
| 6 | Q17 | 86.50 | 84.00 | 0.000 | 84.00 | 是 |
| 7 | D04 | 78.00 | 81.77 | 0.375 | 81.77 | 是 |
| 8 | I09 | 85.00 | 80.89 | 0.000 | 80.89 | 是 |
| 9 | K11 | 88.00 | 80.89 | 0.245 | 80.89 | 是 |
| 10 | H08 | 85.50 | 80.89 | 0.073 | 80.89 | 是 |
## 九、結論
1. VG 參數決定了多少人能因為幫忙評分而改變最終分數的比例
2. N 值的增加可以降低整體標準差,讓評分更精準,應根據班級人數和每個人評分的工作量來決定
3. 可視老師是否想懲罰評分過差的學生,來決定是否要加入分數保護機制
4. 此專案已開源程式碼至 [Github Link](https://github.com/Showyuan/decentralized-midterm-peer-evaluation/tree/master?tab=readme-ov-file),未來可嘗試在真實教學場域,驗證此算法的有效性
## 參考資料
1. <div class="csl-entry">Vanderhoven, E., Raes, A., Montrieux, H., Rotsaert, T., & Schellens, T. (2015). What if pupils can assess their peers anonymously? A quasi-experimental study. <i>Computer Education</i>, <i>81</i>, 123–132. https://doi.org/10.1016/J.COMPEDU.2014.10.001</div>
2. <div class="csl-entry">Raes, A., Schellens, T., & Vanderhoven, E. (2011). Increasing anonymity in peer assessment using classroom response technology. <i>Computer Supported Collaborative Learning</i>, <i>2</i>, 922–923. https://biblio.ugent.be/publication/1999128</div>
3. <div class="csl-entry">Lin, G.-Y. (2018). Anonymous versus identified peer assessment via a Facebook-based learning application. <i>Computer Education</i>, <i>116</i>, 81–92. https://doi.org/10.1016/J.COMPEDU.2017.08.010</div>
4. <div class="csl-entry">Wadhwa, G., Schulz, H., & Mann, B. L. (2006). <i>Effects of Anonymity and Accountability During Online Peer Assessment</i> (pp. 302–333). IGI Global. https://doi.org/10.4018/978-1-59140-732-4.CH020</div>
5. <div class="csl-entry">Basheti, I. A., Ryan, G., Woulfe, J., & Bartimote-Aufflick, K. (2010). <i>INSTRUCTIONAL DESIGN AND ASSESSMENT Anonymous Peer Assessment of Medication Management Reviews</i>.</div>
6. <div class="csl-entry">Kumar, K., Sharma, B. N., Nusair, S., & Khan, G. J. (2019). Anonymous online peer assessment in an undergraduate course: An analysis of Students’ perceptions and attitudes in the South Pacific. <i>IEEE International Conference on Engineering and Technology</i>, 1–8. https://doi.org/10.1109/TALE48000.2019.9226008</div>
7. <div class="csl-entry">Rotsaert, T., Raes, A., & Schellens, T. (2015). <i>Anonymous peer assessment through mobile response technology in higher education: effects of interpersonal variables and students’ preferred type of teacher guidance</i>. https://biblio.ugent.be/publication/6897212</div>
8. <div class="csl-entry">Tvrznikova, L. (2018). Case for the double-blind peer review. <i>arXiv: Digital Libraries</i>. https://dblp.uni-trier.de/db/journals/corr/corr1807.html#abs-1807-01408</div>
9. <div class="csl-entry">Tvrznikova, L. (n.d.). <i>Case for the Double-Blind Peer Review</i>. https://doi.org/10.48550/arxiv.1807.01408</div>
10. <div class="csl-entry">Kmietowicz, Z. (2008). Double blind peer reviews are fairer and more objective, say academics. <i>BMJ</i>, <i>336</i>(7638), 241. https://doi.org/10.1136/BMJ.39476.357280.DB</div>
11. <div class="csl-entry">Prazina, I., & Okanovic, V. (2019). Methods for Double-Blind Peer Review and Grade Prediction of Student Software Projects. <i>International Convention on Information and Communication Technology, Electronics and Microelectronics</i>, 693–696. https://doi.org/10.23919/MIPRO.2019.8757122</div>
12. <div class="csl-entry">Nassiri-Mofakham, F., Hassanvand, F., & Mojoodi, N. (2024). <i>Implementing Double-Blind Peer Assessment in Virtual Classroom</i>. 1–6. https://doi.org/10.1109/icelet62507.2024.10493064</div>
13. <div class="csl-entry">Alfaro, L., & Shavlovsky, M. (2013). CrowdGrader: Crowdsourcing the Evaluation of Homework Assignments. <i>arXiv: Social and Information Networks</i>. https://arxiv.org/abs/1308.5273</div>
14. <div class="csl-entry">Shavlovsky, M. B. (2017). <i>Reputation Systems and Incentives Schemes for Quality Control in Crowdsourcing</i>. https://escholarship.org/content/qt0fc0b73x/qt0fc0b73x.pdf?t=othofw</div>
15. <div class="csl-entry">Alipour, S., Elahimanesh, S., Jahanzad, S., Mohammadi, I., Morassafar, P., Neshaei, S. P., & Tefagh, M. (2024). Improving Grading Fairness and Transparency with Decentralized Collaborative Peer Assessment. <i>Proceedings of the ACM on Human-Computer Interaction</i>, <i>8</i>(CSCW1), 1–24. https://doi.org/10.1145/3637350</div>
<!-- 1. **DRA-FLchain**
Decentralized Ring Authentication for Federated Learning Chains
IEEE Transactions on Dependable and Secure Computing, 2023
2. **RBFT: Reputation-based Byzantine Fault Tolerance**
ACM SIGOPS Operating Systems Review, Vol. 56, No. 3, 2022
3. **A Hybrid Indexing Structure for Blockchain Systems**
VLDB Journal, Springer, 2024
4. **PCS-BFT: Pipeline Consensus with Sharding for Blockchain**
Proceedings of the USENIX Annual Technical Conference (USENIX ATC), 2023
https://github.com/lucadealfaro/vancouver/tree/master/analysis
Random 連分配者都不知道的分配題目方式
用NTU Cool放分數上去? Telegram?
Linux priority lice?linece? -19~20 給 task 優先權, 給 mapping 經驗值
huristic 先有一個 metrix, 再加上宏觀調控設計上/下 bound? 讓大家都有好處/壞處? 系統就會運作?
-->