เรื่องของการจัดอันดับ (อีกครั้ง)

  • 7 ตอบ
  • 1577 อ่าน
*

ออฟไลน์ ด.ต. เดอะติ๊ก

  • Administrator
  • แฟนบอลปราการ
  • 1,647
  • 64
    • Circumspace
เรื่องของการจัดอันดับ (อีกครั้ง)
« เมื่อ: 15 กรกฎาคม, 09, 11:58:52 »
แก้ไข: ตอนเขียนกระทู้เมานิดหน่อยครับ ลืมข้อมูลสำคัญไปว่า เราเสมออยุธยาในเล็กแรก :buck2:

------------------------

ตารางคะแนนที่อยู่บนเว็บเราในหน้านี้ (http://www.samutprakanfc.com/match/scoretable) ผมจะอิงตามหลักเกณฑ์การจัดอันดับที่ออกโดยสมาคมนะครับ (ดูได้ที่ด้านล่างของหน้า) แล้วผมก็สั่งให้ตารางมันจัดเรียงข้อมูลไปตามนั้นโดยอัตโนมัติ กล่าวคือ

คะแนน > head to head > wins > GD > ลูกได้

ปัญหาคือ

ผมยังไม่สามารถหาวิธีสั่งให้มันจัดเรียงตาม head-to-head ได้ครับ

ฉะนั้น อันดับของสิงห์บุรีกับสระบุรีจะสลับกันอยู่ (สิงห์บุรีแพ้สระบุรีในเล็กแรก และยังไม่เจอกันในเล็กสอง)
และ อันดับของลพบุรีกับฉะเชิงเทราก็สลับกันอยู่เหมือนกันครับ (ลพบุรีแพ้ฉะเชิงเทราในเล็กแรก และยังไม่เจอกันในเล็กสอง)

การสั่งให้ตารางจัดอันดับโดยอัตโนมัติ โดยมีหลักเกณฑ์หนึ่งในนั้นเป็น head-to-head จำเป็นต้องใช้อัลกอริทึมที่ซับซ้อนมากเกินกว่าผมจะทำได้ในตอนนี้ เพราะสถานการณ์แปลกๆ อาจเกิดขึ้นได้มากมาย ตัวอย่างเช่น

สมมุติ A, B, C คะแนนเท่ากัน ถ้า

A ชนะ B
B ชนะ C
C ชนะ A

แค่นี้ก็จัดอันดับไม่ได้แล้ว เกณฑ์ head-to-head ก็ต้องถูกข้ามไป

หรืออย่างเช่นในตารางตอนนี้ ไทยซัมมิทชนะฉะเชิงเทรา ฉะเชิงเทราชนะลพบุรี ลพบุรีเสมอไทยซัมมิท และทั้งสามทีมเพิ่งเจอกันครั้งเดียว แบบนี้เราควรข้ามเกณฑ์นี้ไป หรือว่าเรียงลำดับเป็น ท ฉ ล กันล่ะ?!

ตัวอย่างนี่แค่สามทีมนะครับ และพบกันแค่ครั้งเดียว แต่ถ้าจำนวนทีมมากกว่านี้ และพบกันแบบเหย้าเยือน การเขียนโปรแกรมให้รองรับเป็นเรื่องปวดหัวทีเดียวเชียว แถวนี้มีเด็กคอมฯ เยอะ สนใจทำเป็นโปรเจ็กต์มั้ยครับ ^-^

เพราะฉะนั้น เดี๋ยวผมจะทำแบบ manual ไปก่อนนะครับเวลาเจอคะแนนเท่ากัน หรือใครมีไอเดียอะไรบ้างครับ ช่วยหน่อยจิ

(technical note: วิธีการที่คิดได้คือ ถ้าคะแนนเท่ากัน ให้ดูว่าเกิดกรณี transitive closure (http://en.wikipedia.org/wiki/Transitive_closure) ขึ้นหรือไม่ [ดูรูปประกอบด้านล่างครับ ลูกศรชี้ไปหมายถึงชนะ] นอกเหนือจากนี้ ให้ยกเว้นทั้งหมด แต่ดูหยาบๆ ชอบกลครับ)
Castra Pracana: Coniunctis Fidebus

*

ออฟไลน์ โกวัดด่าน

  • ครอบครัวปราการ
  • แฟนบอลปราการ
  • 1,994
  • 17
  • หิมะ...เป็นมากกว่าศรัทธา
    • www.ballthaimania.com
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #1 เมื่อ: 15 กรกฎาคม, 09, 12:46:00 »
จัดอันดับ(ระหว่างฤดูกาล)ด้วยลูกได้เสีย (ลูกได้ลบด้วยลูกเสีย)-----หากได้เสียเท่ากันนับลูกยิงได้


เพราะคือการจัดอันดับ ไม่ใช่การหาแชมป์


เฮดทูเฮดจะนำมาใช้ กรณีตัดสินแชมป์


คือถ้าจบฤดูกาลแล้ว แต้มเท่ากันจะนับเฮดทูเฮดก่อน



“เสื้อยืดบอลไทย” http://www.ballthaimania.com/ (http://www.ballthaimania.com/)

*

ออฟไลน์ ด.ต. เดอะติ๊ก

  • Administrator
  • แฟนบอลปราการ
  • 1,647
  • 64
    • Circumspace
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #2 เมื่อ: 15 กรกฎาคม, 09, 12:51:45 »
อออ อย่างนี้นี่เอง ระหว่างฤดูกาล เกณฑ์ head-to-head ยังไม่นำมาใช้ (ไม่งั้นปวดหัวแย่ แล้วแข่งๆ ไป อันดับก็ขยับเรื่อยๆ อยู่ดี ไม่คุ้มกับการมานั่งทำ) ยกเว้นว่าจำเป็นจริงๆ เช่นในตารางตอนนี้ ที่ลพบุรีเท่ากับฉะเชิงเทราทุกๆ อย่าง

อีกอย่างนึงครับพี่โก

ในหลักเกณฑ์ บอกให้ดูจำนวนครั้งที่ชนะ แล้วค่อยดูผลต่างลูกได้ลูกเสียไม่ใช่เหรอครับ
Castra Pracana: Coniunctis Fidebus

*

ออฟไลน์ โกวัดด่าน

  • ครอบครัวปราการ
  • แฟนบอลปราการ
  • 1,994
  • 17
  • หิมะ...เป็นมากกว่าศรัทธา
    • www.ballthaimania.com
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #3 เมื่อ: 15 กรกฎาคม, 09, 13:04:41 »


1.นับแต้ม

2.ลูกได้ ลบ ลูกเสีย ใคร+มากกว่าอันดับสูงกว่า

3.หาก+/-เท่ากันนับลูกได้

4.หากเท่ากันอีกนับครั้งที่ชนะหรือเปล่าไม่แน่ใจ---หรือนับเฮดทูเฮดเลย  เดี๋ยวเปิดตำราสมาคมก่อน



“เสื้อยืดบอลไทย” http://www.ballthaimania.com/ (http://www.ballthaimania.com/)

*

ออฟไลน์ ด.ต. เดอะติ๊ก

  • Administrator
  • แฟนบอลปราการ
  • 1,647
  • 64
    • Circumspace
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #4 เมื่อ: 15 กรกฎาคม, 09, 13:10:50 »
ตำราสมาคมที่พี่โกเคยเอาให้ผมดู ก็เป็นอันที่พิมพ์เก็บไว้บนเว็บอะครับ ตรงหน้าตารางคะแนน

1. นับแต้ม
2. เฮดทูเฮด
3. ครั้งที่ชนะ
4. +/-
5. ลูกได้

ผมว่า จัดอันดับระหว่างฤดูกาล สมาคมเค้าก็ดูเฮดทูเฮดเหมือนกันนะครับพี่ เพราะเค้าเอาสระบุรีไว้ก่อนสิงห์บุรี (สระบุรีชนะสิงห์บุรีในเล็กแรก)

เว้นเสียแต่ว่า สมาคมดู +/- ก่อน ครั้งที่ชนะ จริงๆ อย่างที่พี่โกว่า แต่ถ้าเป็นงั้น ก็ไม่เป็นไปตามตำราสมาคมดิ
Castra Pracana: Coniunctis Fidebus

*

ออฟไลน์ โกวัดด่าน

  • ครอบครัวปราการ
  • แฟนบอลปราการ
  • 1,994
  • 17
  • หิมะ...เป็นมากกว่าศรัทธา
    • www.ballthaimania.com
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #5 เมื่อ: 16 กรกฎาคม, 09, 10:13:31 »
ตำราสมาคมที่พี่โกเคยเอาให้ผมดู ก็เป็นอันที่พิมพ์เก็บไว้บนเว็บอะครับ ตรงหน้าตารางคะแนน

1. นับแต้ม
2. เฮดทูเฮด
3. ครั้งที่ชนะ
4. +/-
5. ลูกได้

ผมว่า จัดอันดับระหว่างฤดูกาล สมาคมเค้าก็ดูเฮดทูเฮดเหมือนกันนะครับพี่ เพราะเค้าเอาสระบุรีไว้ก่อนสิงห์บุรี (สระบุรีชนะสิงห์บุรีในเล็กแรก)

เว้นเสียแต่ว่า สมาคมดู +/- ก่อน ครั้งที่ชนะ จริงๆ อย่างที่พี่โกว่า แต่ถ้าเป็นงั้น ก็ไม่เป็นไปตามตำราสมาคมดิ


งั้นก็ตามสมาคมอันทรงเกียรติ

“เสื้อยืดบอลไทย” http://www.ballthaimania.com/ (http://www.ballthaimania.com/)

*

ออฟไลน์ ด.ต. เดอะติ๊ก

  • Administrator
  • แฟนบอลปราการ
  • 1,647
  • 64
    • Circumspace
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #6 เมื่อ: 16 กรกฎาคม, 09, 11:19:31 »
ตำราสมาคมที่พี่โกเคยเอาให้ผมดู ก็เป็นอันที่พิมพ์เก็บไว้บนเว็บอะครับ ตรงหน้าตารางคะแนน

1. นับแต้ม
2. เฮดทูเฮด
3. ครั้งที่ชนะ
4. +/-
5. ลูกได้

ผมว่า จัดอันดับระหว่างฤดูกาล สมาคมเค้าก็ดูเฮดทูเฮดเหมือนกันนะครับพี่ เพราะเค้าเอาสระบุรีไว้ก่อนสิงห์บุรี (สระบุรีชนะสิงห์บุรีในเล็กแรก)

เว้นเสียแต่ว่า สมาคมดู +/- ก่อน ครั้งที่ชนะ จริงๆ อย่างที่พี่โกว่า แต่ถ้าเป็นงั้น ก็ไม่เป็นไปตามตำราสมาคมดิ


งั้นก็ตามสมาคมอันทรงเกียรติ

จัดไปครับพ้ม! ;)
Castra Pracana: Coniunctis Fidebus

*

ออฟไลน์ ขออภัย, ชื่อที่คุณพยายามใช้, ถูกเซ็นเซอร์ กรุณาใช้ชื่ออื่น

  • ครอบครัวปราการ
  • แฟนบอลปราการ
  • 9,396
  • 159
  • อินเดียหน้าโจร
Re: เรื่องของการจัดอันดับ (อีกครั้ง)
« ตอบกลับ #7 เมื่อ: 16 กรกฎาคม, 09, 13:49:59 »
นับอะไรก็นับได้
แต่เล็กเคียวไม่อยากนับ!!!!!