การเปรียบเทียบอิสระของเครื่องมือคำนวณคะแนน Flying Start กับผลลัพธ์ Sailwave จริง 75,693 รายการจาก 96 สโมสรเรือใบใน 10 ประเทศ
ใน 75,693 การเปรียบเทียบแต่ละรายการ เครื่องมือคำนวณคะแนน Flying Start ตรงกับ Sailwave ด้วย อัตราความตรงกัน 99%ไม่พบข้อบกพร่องด้านคะแนนเลย ความไม่ตรงกันทั้งหมดอธิบายได้จากคุณภาพข้อมูลทดสอบหรือความแตกต่างในการปัดเศษเล็กน้อยที่ไม่เคยส่งผลต่อผลลัพธ์
เราเขียนชุดทดสอบอัตโนมัติที่รับข้อมูลผลลัพธ์ Sailwave ประมวลผลผ่านเครื่องมือคำนวณคะแนนของ Flying Start และเปรียบเทียบค่าที่คำนวณทุกค่ากับที่ Sailwave สร้างขึ้น การทดสอบตรวจสอบสามสิ่งต่อผู้แข่งต่อการแข่งขัน:
การเปรียบเทียบใช้โหมดการตรวจสอบสองโหมด:
เมื่อข้อมูลต้นทางรวมเวลาที่ผ่านไปและเรตติ้งแฮนดิแคป เราคำนวณเวลาที่แก้ไขใหม่ตั้งแต่ต้นโดยใช้สูตรที่เหมาะสม (PY, IRC, YTC เป็นต้น) และเปรียบเทียบกับเวลาที่แก้ไขของ Sailwave ซึ่งตรวจสอบขั้นตอนทั้งหมด: ผ่านไป → แก้ไข → ตำแหน่ง → คะแนน
เมื่อข้อมูลต้นทางมีเพียงตำแหน่งและคะแนน (พบบ่อยในหน้าสรุปซีรีส์) เราตรวจสอบว่าการแมปตำแหน่งกับคะแนนเป็นไปตามกฎระบบคะแนนที่ถูกต้อง ซึ่งตรวจสอบการกำหนดคะแนนโทษ การคำนวณคะแนนโบนัส และการคำนวณ SCP
เราเขียนโปรแกรมดึงข้อมูลที่ค้นหาอย่างเป็นระบบใน ไดเรกทอรีผลลัพธ์สาธารณะของ Sailwaveซึ่งเก็บผลลัพธ์ที่เผยแพร่จากสโมสรเรือใบทั่วโลก สำหรับแต่ละสโมสร เราดึงหน้าผลลัพธ์สูงสุด 40 หน้า ดึงข้อมูลผู้แข่ง ผลการแข่งขัน และรหัสโทษ จากนั้นแปลงเป็นรูปแบบที่มีโครงสร้างสำหรับการตรวจสอบ
สำหรับกองเรือ Falmouth Sailing Week 2025 หกกอง เราดึงหน้าการแข่งขันแต่ละหน้าด้วยตนเองซึ่งรวมเวลาที่ผ่านไปและเวลาที่แก้ไขแบบเต็ม ทำให้สามารถตรวจสอบเวลาที่แก้ไขเชิงลึกได้
| แหล่งที่มา | ไฟล์ | แข่งขัน | การเปรียบเทียบ | ตรงกัน | สำคัญ | เล็กน้อย |
|---|---|---|---|---|---|---|
| ดึงข้อมูล (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 รายการล้วนเป็นปัญหาคุณภาพข้อมูลในข้อมูลทดสอบของเรา (อธิบายรายละเอียดด้านล่าง)
เครื่องมือคำนวณคะแนนใช้งานฟีเจอร์ 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 | ทดสอบผ่านการเปรียบเทียบตำแหน่งในกองเรือที่เสมอกัน |
เราทดสอบอย่างจงใจในช่วงทางภูมิศาสตร์และองค์กรที่หลากหลาย การแข่งในสโมสรที่ Solent มีลักษณะแตกต่างจากการแข่งเย็นวันพุธบนอ่างเก็บน้ำในเวลส์หรือการแข่ง O'pen Skiff ของออสเตรเลีย เครื่องมือคำนวณคะแนนต้องจัดการได้ทั้งหมด
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)
New Plymouth YC, Nelson YC, Wakatere Boating Club, Lake Taupo YC, NZ Paper Tiger, Yachting NZ
Manly YC, Perth SC, Maroochy, Hobie WA, Lake Cootharaba SC, ประเภทเรือ Open Skiff (การแข่งขันระดับชาติและรัฐ)
แอฟริกาใต้ (Bloemfontein YC), สวีเดน (KSSS), ฮังการี (ผลลัพธ์ผ่าน hunresults), โปรตุเกส, สหรัฐอเมริกา (KHYC — King Harbor YC), แคนาดา (Whitby YC)
กองเรือหกกองจากเส้นทาง Bay — IRC 1, IRC 2, IRC 3, YTC Cruiser, YTC Quarter-Tonner และ Firebird — พร้อมเวลาที่ผ่านไปและเวลาที่แก้ไขแบบเต็มที่ดึงจากหน้าการแข่งขันแต่ละหน้าที่เก็บอยู่ที่ sailwave.com/results/FSW.
จาก 75,693 การเปรียบเทียบ 1,090 รายการไม่ตรงกันพอดี ต่อไปนี้คือทุกประเภทของความไม่ตรงกัน สาเหตุ และว่ามีความสำคัญหรือไม่
ทั้งสามรายการเป็นปัญหาคุณภาพข้อมูลในข้อมูลทดสอบของเรา ไม่ใช่ข้อบกพร่องของเครื่องมือคำนวณคะแนน
ความไม่ตรงกัน: คะแนน — Sailwave บอก 11, Flying Start บอก 8
สาเหตุหลัก: การแข่ง Wednesday Champagne Race มีเรือรับเชิญ 3 ลำ (Autarky, Infinity, Passion) ที่ไม่ได้อยู่ในซีรีส์ปกติ XML ที่ดึงมาของเราไม่รวมพวกเขา ดังนั้นขนาดกองเรือเป็น 10 แทนที่จะเป็น 13 Percy เข้าเส้นชัยอันดับ 8 จาก 10 ในข้อมูลของเราเทียบกับอันดับ 11 จาก 13 ใน Sailwave
คำตัดสิน: เครื่องมือคำนวณคะแนนทั้งสองถูกต้อง ความแตกต่างอยู่ที่ข้อมูลนำเข้า ไม่ใช่การคำนวณ
ความไม่ตรงกัน: คะแนน — Sailwave บอก 12, Flying Start บอก 9
สาเหตุหลัก: เหมือนกับข้างต้น เรือรับเชิญทำให้ขนาดกองเรือในข้อมูลของ Sailwave ใหญ่เกิน
ความไม่ตรงกัน: เวลาที่แก้ไข — Sailwave บอก 1:10:13, Flying Start บอก 1:08:32
สาเหตุหลัก: Tahini แล่นด้วยเรตติ้ง YTC ที่ต่างกันในวันพุธ (1054) จากส่วนที่เหลือของซีรีส์ (1080) XML ของเราใช้ 1080 สำหรับทุกการแข่งขัน สูตรเวลาที่แก้ไขคือ elapsed × 1000 ÷ rating, ดังนั้นเรตติ้งที่ต่างกัน = เวลาที่แก้ไขแล้วที่ต่างกัน
คำตัดสิน: สูตรทั้งสองถูกต้อง ความแตกต่างอยู่ที่ข้อมูลแฮนดิแคป ไม่ใช่การคำนวณ
ความไม่ตรงกันเล็กน้อยทั้ง 1,087 รายการแบ่งเป็นสองประเภท:
ความแตกต่าง 1–3 วินาทีระหว่าง Sailwave และ Flying Start เกิดจากการปัดเศษกลางในลูกโซ่การคำนวณของ Sailwave ตัวอย่างเช่น เวลาที่แก้ไข IRC = ผ่านไป × TCC ถ้าผ่านไป = 3,428 วินาที และ TCC = 1.072:
3428 × 1.072 = 3674.816 → 3675sผลกระทบ: ไม่มี ความแตกต่าง 1–3 วินาทีในเวลาที่แก้ไขไม่เคยเปลี่ยนตำแหน่งเข้าเส้นชัย — เรือโดยทั่วไปห่างกันหลายนาที
ความแตกต่าง 0.1–0.3 คะแนนที่คะแนนโบนัสเศษส่วนของ Sailwave หรือการคำนวณเปอร์เซ็นต์ SCP แตกต่างเล็กน้อย ตัวอย่างเช่น อันดับ 3 ในการคำนวณ bonus point ควรเป็น 5.7 พอดี แต่บาง Sailwave เวอร์ชันดูเหมือนจะใช้ความแม่นยำทศนิยมที่ต่างกันเล็กน้อยภายใน
ผลกระทบ: ไม่มีนัยสำคัญ ความแตกต่างเศษส่วนเหล่านี้ไม่เคยเปลี่ยนอันดับเพราะเล็กกว่าช่องว่างระหว่างตำแหน่งเข้าเส้นชัยสองตำแหน่งใด ๆ
ระหว่างการทดสอบ เราพบพื้นที่หนึ่งที่พฤติกรรมของ Sailwave ไม่สอดคล้องกันในสโมสรต่าง ๆ เราไม่ได้อ้างว่านี่เป็นข้อบกพร่อง อาจเป็นตัวเลือกการกำหนดค่าโดยเจตนา แต่คุ้มค่าที่จะบันทึกไว้สำหรับเจ้าหน้าที่แข่งขันที่ย้ายจาก Sailwave
Sailwave ใช้ TLE เป็นรหัสโทษสำหรับเรือที่ไม่เข้าเส้นชัยภายในเวลาจำกัด รหัสนี้ไม่ปรากฏในกฎการแข่งเรือใบ (RRS) รหัส RRS ที่เทียบเท่าคือ DNF (ไม่เข้าเส้นชัย)
เราพบว่า Sailwave จัดการ TLE ไม่สอดคล้องกันในสโมสรต่าง ๆ:
starters + 1 (เหมือนกับ DNF)last finisher's position + 1Flying Start จัดการ TLE เทียบเท่ากับ DNF (starters + 1) ซึ่งตรงกับพฤติกรรม Sailwave ที่พบบ่อยที่สุดและสอดคล้องกับหลักการ RRS ที่เรือซึ่งสตาร์ทแต่ไม่เข้าเส้นชัยได้รับ starters + 1 คะแนน
ความไม่สอดคล้องนี้คิดเป็นส่วนหนึ่งของความไม่ตรงกันเล็กน้อยของเรา หากสโมสรของคุณใช้ TLE กับกฎคะแนนเฉพาะ โปรด แจ้งให้เราทราบ และเราจะให้แน่ใจว่า Flying Start ตรงกับวิธีปฏิบัติของคุณ
แม้จะทดสอบ 4,144 การแข่งขัน เราไม่พบกรณีใดที่ Sailwave สร้างผลลัพธ์ที่ไม่ถูกต้องตามกฎ RRS ความไม่ตรงกันทั้งหมดอธิบายได้ด้วยการปัดเศษ คุณภาพข้อมูล หรือความคลุมเครือของ TLE ที่อธิบายไว้ข้างต้น Sailwave เป็นมาตรฐานอุตสาหกรรมมากกว่า 20 ปีด้วยเหตุผลที่ดี — มันคำนวณคณิตศาสตร์ได้ถูกต้อง
เราสังเกตด้วยว่าการเปรียบเทียบส่วนใหญ่ของเรา (74,391 จาก 75,693) เป็นการเปรียบเทียบเฉพาะคะแนนจากหน้าสรุปซีรีส์ การตรวจสอบเวลาที่แก้ไขเชิงลึกครอบคลุม 1,302 การเปรียบเทียบจาก Falmouth Week เรายินดีรับการเข้าถึงกิจกรรมเพิ่มเติมที่มีเวลาที่ผ่านไปและเวลาที่แก้ไขที่เผยแพร่เพื่อเสริมสร้างการตรวจสอบนี้
ชุดทดสอบ ข้อมูลที่ดึงมา และผลลัพธ์แบบเต็มถูกเผยแพร่ในพื้นที่เก็บโอเพนซอร์สเฉพาะ:
| เส้นทาง | คำอธิบาย |
|---|---|
| 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 | รายงานผลการค้นพบโดยละเอียด |
โปรแกรมดึงข้อมูลจะไม่ดึง URL ที่ดึงไปก่อนหน้านี้ซ้ำ (ติดตามใน sources.json) และจะดึงเฉพาะหน้าใหม่ ชุดทดสอบทั้งหมดทำงานในเวลาน้อยกว่า 60 วินาทีบนข้อมูลที่ดึงมา
ข้อมูลผลลัพธ์ Sailwave ทั้งหมดมาจากผลลัพธ์ที่เผยแพร่สาธารณะที่ sailwave.com/resultsSailwave เป็นเครื่องหมายการค้าของ Jon Mayall Flying Start ไม่มีความเกี่ยวข้องกับ Sailwave