การตรวจสอบเครื่องมือคำนวณคะแนน

การเปรียบเทียบอิสระของเครื่องมือคำนวณคะแนน Flying Start กับผลลัพธ์ Sailwave จริง 75,693 รายการจาก 96 สโมสรเรือใบใน 10 ประเทศ

75,693
การเปรียบเทียบ
4,144
แข่งขัน
96
สโมสร
0
ข้อบกพร่องที่พบ

คำตัดสิน: พร้อมใช้งานจริง

ใน 75,693 การเปรียบเทียบแต่ละรายการ เครื่องมือคำนวณคะแนน Flying Start ตรงกับ Sailwave ด้วย อัตราความตรงกัน 99%ไม่พบข้อบกพร่องด้านคะแนนเลย ความไม่ตรงกันทั้งหมดอธิบายได้จากคุณภาพข้อมูลทดสอบหรือความแตกต่างในการปัดเศษเล็กน้อยที่ไม่เคยส่งผลต่อผลลัพธ์

เนื้อหา

  1. วิธีการ
  2. สรุปผลลัพธ์
  3. สิ่งที่เราทดสอบ
  4. แหล่งข้อมูล — 96 สโมสร 10 ประเทศ
  5. การวิเคราะห์ความไม่ตรงกัน
  6. ข้อแปลกของ Sailwave ที่ค้นพบ
  7. ข้อจำกัดและข้อควรระวัง
  8. ข้อมูลดิบและการทำซ้ำได้

1. วิธีการ

เราเขียนชุดทดสอบอัตโนมัติที่รับข้อมูลผลลัพธ์ Sailwave ประมวลผลผ่านเครื่องมือคำนวณคะแนนของ Flying Start และเปรียบเทียบค่าที่คำนวณทุกค่ากับที่ Sailwave สร้างขึ้น การทดสอบตรวจสอบสามสิ่งต่อผู้แข่งต่อการแข่งขัน:

  1. เวลาที่แก้ไข — สูตรแฮนดิแคปของเราให้จำนวนวินาทีเดียวกันหรือไม่?
  2. ตำแหน่ง — เรากำหนดตำแหน่งเข้าเส้นชัยเดียวกันหรือไม่?
  3. คะแนน — เราคำนวณคะแนนเดียวกันหรือไม่?

การเปรียบเทียบใช้โหมดการตรวจสอบสองโหมด:

การตรวจสอบเชิงลึก (พร้อมเวลาที่ผ่านไป)

เมื่อข้อมูลต้นทางรวมเวลาที่ผ่านไปและเรตติ้งแฮนดิแคป เราคำนวณเวลาที่แก้ไขใหม่ตั้งแต่ต้นโดยใช้สูตรที่เหมาะสม (PY, IRC, YTC เป็นต้น) และเปรียบเทียบกับเวลาที่แก้ไขของ Sailwave ซึ่งตรวจสอบขั้นตอนทั้งหมด: ผ่านไป → แก้ไข → ตำแหน่ง → คะแนน

การตรวจสอบคะแนน (โดยไม่มีเวลาที่ผ่านไป)

เมื่อข้อมูลต้นทางมีเพียงตำแหน่งและคะแนน (พบบ่อยในหน้าสรุปซีรีส์) เราตรวจสอบว่าการแมปตำแหน่งกับคะแนนเป็นไปตามกฎระบบคะแนนที่ถูกต้อง ซึ่งตรวจสอบการกำหนดคะแนนโทษ การคำนวณคะแนนโบนัส และการคำนวณ SCP

วิธีที่เราเก็บข้อมูล

เราเขียนโปรแกรมดึงข้อมูลที่ค้นหาอย่างเป็นระบบใน ไดเรกทอรีผลลัพธ์สาธารณะของ Sailwaveซึ่งเก็บผลลัพธ์ที่เผยแพร่จากสโมสรเรือใบทั่วโลก สำหรับแต่ละสโมสร เราดึงหน้าผลลัพธ์สูงสุด 40 หน้า ดึงข้อมูลผู้แข่ง ผลการแข่งขัน และรหัสโทษ จากนั้นแปลงเป็นรูปแบบที่มีโครงสร้างสำหรับการตรวจสอบ

สำหรับกองเรือ Falmouth Sailing Week 2025 หกกอง เราดึงหน้าการแข่งขันแต่ละหน้าด้วยตนเองซึ่งรวมเวลาที่ผ่านไปและเวลาที่แก้ไขแบบเต็ม ทำให้สามารถตรวจสอบเวลาที่แก้ไขเชิงลึกได้

2. สรุปผลลัพธ์

แหล่งที่มา ไฟล์ แข่งขัน การเปรียบเทียบ ตรงกัน สำคัญ เล็กน้อย
ดึงข้อมูล (96 สโมสร) 655 4,088 74,391 99% 0 1,068
Falmouth Week (เชิงลึก) 6 56 1,302 99% 3 19
ทั้งหมด 661 4,144 75,693 99% 3 1,087

ไม่มีความไม่ตรงกันสำคัญที่เกิดจากตรรกะของเครื่องมือ ความไม่ตรงกันสำคัญ 3 รายการล้วนเป็นปัญหาคุณภาพข้อมูลในข้อมูลทดสอบของเรา (อธิบายรายละเอียดด้านล่าง)

3. สิ่งที่เราทดสอบ

เครื่องมือคำนวณคะแนนใช้งานฟีเจอร์ RRS (กฎการแข่งเรือใบ) ต่อไปนี้ ทั้งหมดถูกทดสอบระหว่างการทดสอบ:

คุณสมบัติความครอบคลุม
แฮนดิแคป PY (เรือดิงกีสหราชอาณาจักร)ทดสอบในสโมสรสหราชอาณาจักร 60+ แห่ง
แฮนดิแคป IRC (เรือยอร์ชนานาชาติ)ทดสอบกับกองเรือ Falmouth Week IRC1/2/3
แฮนดิแคป YTC (เรือสำราญสหราชอาณาจักร)ทดสอบกับกองเรือ Falmouth Week YTCE/YTCQ
การคำนวณ Low Pointทดสอบในทุกการแข่งขัน 4,144 ครั้ง
การคำนวณ Bonus Pointทดสอบในสโมสรที่ใช้
โทษ DNS / DNF / DNCทดสอบในทุกสโมสร
OCS / DSQ / RET / UFD / BFDทดสอบในที่ที่ปรากฏในผลลัพธ์
กฎ RRS A5.3 (การคำนวณโทษแบบทางเลือก)ค่าเริ่มต้นสำหรับการทดสอบทั้งหมด — เรือในพื้นที่ + 1 กับผู้ลงทะเบียน + 1
SCP (โทษคะแนน)ทดสอบในสโมสรที่ใช้โทษเป็นเปอร์เซ็นต์
โปรไฟล์การตัดผลทดสอบผ่านการเปรียบเทียบอันดับซีรีส์
การตัดสินเสมอ RRS Appendix A8ทดสอบผ่านการเปรียบเทียบตำแหน่งในกองเรือที่เสมอกัน

4. แหล่งข้อมูล — 96 สโมสร 10 ประเทศ

เราทดสอบอย่างจงใจในช่วงทางภูมิศาสตร์และองค์กรที่หลากหลาย การแข่งในสโมสรที่ Solent มีลักษณะแตกต่างจากการแข่งเย็นวันพุธบนอ่างเก็บน้ำในเวลส์หรือการแข่ง O'pen Skiff ของออสเตรเลีย เครื่องมือคำนวณคะแนนต้องจัดการได้ทั้งหมด

สหราชอาณาจักร (60+ สโมสร)

Hayling Island SC, Parkstone YC, Poole YC, Warsash SC, Torbay SC, Cardiff Bay YC, Delph SC, Mengeham Rythe SC, Burghfield SC, Oxford SC, Chichester YC, Brancaster Staithe SC, Bexhill SC, Salcombe YC, Paignton SC, Brixham YC, Medway YC, Bartley SC, Northampton SC, Largo Bay SC, RCYC, Ranelagh SC, Twickenham YC, Cambridge YC, Ogston SC, Rutland SC, Bala SC, Maylandsea Bay SC, Royal Lymington YC, Flushing SC, Chase SC, Chipstead SC, Rock SC, BCYC, YDSC และสมาคมประเภทเรือมากมาย (Solo, Osprey, Fireball, 29er, ILCA UK, ITCA, UKWA, Redwings)

นิวซีแลนด์ (8 สโมสร)

New Plymouth YC, Nelson YC, Wakatere Boating Club, Lake Taupo YC, NZ Paper Tiger, Yachting NZ

ออสเตรเลีย (6 สโมสร)

Manly YC, Perth SC, Maroochy, Hobie WA, Lake Cootharaba SC, ประเภทเรือ Open Skiff (การแข่งขันระดับชาติและรัฐ)

ประเทศอื่น ๆ

แอฟริกาใต้ (Bloemfontein YC), สวีเดน (KSSS), ฮังการี (ผลลัพธ์ผ่าน hunresults), โปรตุเกส, สหรัฐอเมริกา (KHYC — King Harbor YC), แคนาดา (Whitby YC)

Falmouth Sailing Week 2025

กองเรือหกกองจากเส้นทาง Bay — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner และ Firebird — พร้อมเวลาที่ผ่านไปและเวลาที่แก้ไขแบบเต็มที่ดึงจากหน้าการแข่งขันแต่ละหน้าที่เก็บอยู่ที่ sailwave.com/results/FSW.

5. การวิเคราะห์ความไม่ตรงกัน

จาก 75,693 การเปรียบเทียบ 1,090 รายการไม่ตรงกันพอดี ต่อไปนี้คือทุกประเภทของความไม่ตรงกัน สาเหตุ และว่ามีความสำคัญหรือไม่

ความไม่ตรงกันสำคัญ (รวม 3 รายการ)

ทั้งสามรายการเป็นปัญหาคุณภาพข้อมูลในข้อมูลทดสอบของเรา ไม่ใช่ข้อบกพร่องของเครื่องมือคำนวณคะแนน

YTCE Falmouth R4 — Percy (John & Julie Roberts)

ความไม่ตรงกัน: คะแนน — Sailwave บอก 11, Flying Start บอก 8

สาเหตุหลัก: การแข่ง Wednesday Champagne Race มีเรือรับเชิญ 3 ลำ (Autarky, Infinity, Passion) ที่ไม่ได้อยู่ในซีรีส์ปกติ XML ที่ดึงมาของเราไม่รวมพวกเขา ดังนั้นขนาดกองเรือเป็น 10 แทนที่จะเป็น 13 Percy เข้าเส้นชัยอันดับ 8 จาก 10 ในข้อมูลของเราเทียบกับอันดับ 11 จาก 13 ใน Sailwave

คำตัดสิน: เครื่องมือคำนวณคะแนนทั้งสองถูกต้อง ความแตกต่างอยู่ที่ข้อมูลนำเข้า ไม่ใช่การคำนวณ

YTCE Falmouth R4 — Aardvarc (Philip Cook)

ความไม่ตรงกัน: คะแนน — Sailwave บอก 12, Flying Start บอก 9

สาเหตุหลัก: เหมือนกับข้างต้น เรือรับเชิญทำให้ขนาดกองเรือในข้อมูลของ Sailwave ใหญ่เกิน

YTCQ Falmouth R4 — Tahini (Guy English)

ความไม่ตรงกัน: เวลาที่แก้ไข — Sailwave บอก 1:10:13, Flying Start บอก 1:08:32

สาเหตุหลัก: Tahini แล่นด้วยเรตติ้ง YTC ที่ต่างกันในวันพุธ (1054) จากส่วนที่เหลือของซีรีส์ (1080) XML ของเราใช้ 1080 สำหรับทุกการแข่งขัน สูตรเวลาที่แก้ไขคือ elapsed × 1000 ÷ rating, ดังนั้นเรตติ้งที่ต่างกัน = เวลาที่แก้ไขแล้วที่ต่างกัน

คำตัดสิน: สูตรทั้งสองถูกต้อง ความแตกต่างอยู่ที่ข้อมูลแฮนดิแคป ไม่ใช่การคำนวณ

ความไม่ตรงกันเล็กน้อย (รวม 1,087 รายการ)

ความไม่ตรงกันเล็กน้อยทั้ง 1,087 รายการแบ่งเป็นสองประเภท:

การปัดเศษเวลาที่แก้ไข (19 รายการ)

ความแตกต่าง 1–3 วินาทีระหว่าง Sailwave และ Flying Start เกิดจากการปัดเศษกลางในลูกโซ่การคำนวณของ Sailwave ตัวอย่างเช่น เวลาที่แก้ไข IRC = ผ่านไป × TCC ถ้าผ่านไป = 3,428 วินาที และ TCC = 1.072:

ผลกระทบ: ไม่มี ความแตกต่าง 1–3 วินาทีในเวลาที่แก้ไขไม่เคยเปลี่ยนตำแหน่งเข้าเส้นชัย — เรือโดยทั่วไปห่างกันหลายนาที

การปัดเศษคะแนนในการคำนวณ bonus/SCP (1,068 รายการ)

ความแตกต่าง 0.1–0.3 คะแนนที่คะแนนโบนัสเศษส่วนของ Sailwave หรือการคำนวณเปอร์เซ็นต์ SCP แตกต่างเล็กน้อย ตัวอย่างเช่น อันดับ 3 ในการคำนวณ bonus point ควรเป็น 5.7 พอดี แต่บาง Sailwave เวอร์ชันดูเหมือนจะใช้ความแม่นยำทศนิยมที่ต่างกันเล็กน้อยภายใน

ผลกระทบ: ไม่มีนัยสำคัญ ความแตกต่างเศษส่วนเหล่านี้ไม่เคยเปลี่ยนอันดับเพราะเล็กกว่าช่องว่างระหว่างตำแหน่งเข้าเส้นชัยสองตำแหน่งใด ๆ

6. ข้อแปลกของ Sailwave ที่ค้นพบ

ระหว่างการทดสอบ เราพบพื้นที่หนึ่งที่พฤติกรรมของ Sailwave ไม่สอดคล้องกันในสโมสรต่าง ๆ เราไม่ได้อ้างว่านี่เป็นข้อบกพร่อง อาจเป็นตัวเลือกการกำหนดค่าโดยเจตนา แต่คุ้มค่าที่จะบันทึกไว้สำหรับเจ้าหน้าที่แข่งขันที่ย้ายจาก Sailwave

TLE (เกินเวลาจำกัด) — การคำนวณคะแนนที่ไม่สอดคล้อง

Sailwave ใช้ TLE เป็นรหัสโทษสำหรับเรือที่ไม่เข้าเส้นชัยภายในเวลาจำกัด รหัสนี้ไม่ปรากฏในกฎการแข่งเรือใบ (RRS) รหัส RRS ที่เทียบเท่าคือ DNF (ไม่เข้าเส้นชัย)

เราพบว่า Sailwave จัดการ TLE ไม่สอดคล้องกันในสโมสรต่าง ๆ:

Flying Start จัดการ TLE เทียบเท่ากับ DNF (starters + 1) ซึ่งตรงกับพฤติกรรม Sailwave ที่พบบ่อยที่สุดและสอดคล้องกับหลักการ RRS ที่เรือซึ่งสตาร์ทแต่ไม่เข้าเส้นชัยได้รับ starters + 1 คะแนน

ความไม่สอดคล้องนี้คิดเป็นส่วนหนึ่งของความไม่ตรงกันเล็กน้อยของเรา หากสโมสรของคุณใช้ TLE กับกฎคะแนนเฉพาะ โปรด แจ้งให้เราทราบ และเราจะให้แน่ใจว่า Flying Start ตรงกับวิธีปฏิบัติของคุณ

ไม่พบข้อบกพร่องของ Sailwave

แม้จะทดสอบ 4,144 การแข่งขัน เราไม่พบกรณีใดที่ Sailwave สร้างผลลัพธ์ที่ไม่ถูกต้องตามกฎ RRS ความไม่ตรงกันทั้งหมดอธิบายได้ด้วยการปัดเศษ คุณภาพข้อมูล หรือความคลุมเครือของ TLE ที่อธิบายไว้ข้างต้น Sailwave เป็นมาตรฐานอุตสาหกรรมมากกว่า 20 ปีด้วยเหตุผลที่ดี — มันคำนวณคณิตศาสตร์ได้ถูกต้อง

7. ข้อจำกัดและข้อควรระวัง

สิ่งที่การทดสอบนี้ไม่ครอบคลุม

เราสังเกตด้วยว่าการเปรียบเทียบส่วนใหญ่ของเรา (74,391 จาก 75,693) เป็นการเปรียบเทียบเฉพาะคะแนนจากหน้าสรุปซีรีส์ การตรวจสอบเวลาที่แก้ไขเชิงลึกครอบคลุม 1,302 การเปรียบเทียบจาก Falmouth Week เรายินดีรับการเข้าถึงกิจกรรมเพิ่มเติมที่มีเวลาที่ผ่านไปและเวลาที่แก้ไขที่เผยแพร่เพื่อเสริมสร้างการตรวจสอบนี้

8. ข้อมูลดิบและการทำซ้ำได้

ชุดทดสอบ ข้อมูลที่ดึงมา และผลลัพธ์แบบเต็มถูกเผยแพร่ในพื้นที่เก็บโอเพนซอร์สเฉพาะ:

github.com/IDSTUK/SW-FS-Scoring-Engine-Verification
ซอร์สเครื่องมือคำนวณคะแนน • ตัวตรวจสอบ • ชุดทดสอบ • แหล่งข้อมูลที่ดึง 1,266 แหล่ง

เส้นทางคำอธิบาย
scripts/soak-test.tsตัวเรียกใช้ทดสอบ CLI — แยกวิเคราะห์ XML เรียกใช้การตรวจสอบ สร้างรายงาน
scripts/scrape-sailwave.tsโปรแกรมดึงข้อมูลเว็บสำหรับหน้าผลลัพธ์ HTML ของ Sailwave
verifier/sailwaveVerifier.tsเครื่องมือเปรียบเทียบ — คำนวณเวลาที่แก้ไข ตำแหน่ง คะแนนใหม่
scoring-engine/เครื่องมือคำนวณคะแนนเอง — raceScorer, seriesScorer, handicapCalculator, tieBreaker
data/sources.jsonบันทึกครบถ้วนของ URL แหล่งที่มาที่ดึงทั้ง 1,266 รายการ
data/soak-results.jsonผลลัพธ์การทดสอบแบบเต็มพร้อมอัตราการตรงกันต่อไฟล์และรายละเอียดความไม่ตรงกัน
REPORT.mdรายงานผลการค้นพบโดยละเอียด

ทำซ้ำการทดสอบ

cd rc-admin npm install npx tsx scripts/scrape-sailwave.ts # ดึงข้อมูลใหม่ npx tsx scripts/soak-test.ts <directory> # เรียกใช้การตรวจสอบ

โปรแกรมดึงข้อมูลจะไม่ดึง URL ที่ดึงไปก่อนหน้านี้ซ้ำ (ติดตามใน sources.json) และจะดึงเฉพาะหน้าใหม่ ชุดทดสอบทั้งหมดทำงานในเวลาน้อยกว่า 60 วินาทีบนข้อมูลที่ดึงมา

ข้อมูลผลลัพธ์ Sailwave ทั้งหมดมาจากผลลัพธ์ที่เผยแพร่สาธารณะที่ sailwave.com/resultsSailwave เป็นเครื่องหมายการค้าของ Jon Mayall Flying Start ไม่มีความเกี่ยวข้องกับ Sailwave