ความท้าทาย Top Coder ของ 8090
โพสต์ LinkedIn ต้นฉบับ
คลัง GitHub ของโครงการ
ในคืนวันศุกร์ ฉันเห็นโพสต์สาธารณะบน Twitter/X โดย Chamath Palihapitiya ซึ่งประกาศความท้าทาย Top Coder แบบเปิดที่จัดโดยบริษัทใหม่ของเขา 8090 Solutions ใคร ๆ ก็สามารถเข้าร่วมได้ ความท้าทายนี้จะจัดขึ้นในวันถัดไป ใช้เวลาเพียง 8 ชั่วโมง และเกี่ยวข้องกับการทำวิศวกรรมย้อนกลับระบบเก่าที่เป็นกล่องดำ โดยใช้เพียงข้อมูลในอดีตและการสัมภาษณ์พนักงานไม่กี่คน
ฉันจึงตัดสินใจกระโดดเข้าร่วม!
เมื่อจบวัน ฉันรู้สึกเป็นเกียรติที่ได้อันดับ ที่ 7 จากวิศวกร 425 คน คุณสามารถดูตารางอันดับได้ ที่นี่ และดูโค้ดสำหรับความท้าทายนี้ได้ ที่นี่ แต่พูดตามตรง ฉันแค่หวังว่าจะทำบางอย่างให้เสร็จภายในเวลาสั้น ๆ นั้น ดังนั้นการได้ติดอยู่ในตารางอันดับจึงเป็นเรื่องเหนือความคาดหมายและเป็นชัยชนะส่วนตัวครั้งใหญ่สำหรับฉัน
ความท้าทายนี้เป็นการทำคนเดียว และเป้าหมายคือการจำลองระบบเบิกค่าเดินทางแบบกล่องดำที่มีอายุ 60 ปี ซึ่งไม่มีซอร์สโค้ดและไม่มีเอกสารประกอบ เราได้รับสิ่งที่ใช้เป็นข้อมูลอ้างอิงบางอย่าง ซึ่งรวมถึงบทสรุปผลิตภัณฑ์ บันทึกการสัมภาษณ์พนักงาน และชุดข้อมูลสาธารณะที่มีตัวอย่างอินพุตและเอาต์พุตที่คาดหวังในอดีต 1,000 รายการ จากข้อมูลเหล่านั้น ฉันต้องอนุมานตรรกะทางธุรกิจเบื้องหลังวิธีคำนวณจำนวนเงินเบิกคืน และพัฒนาเวอร์ชันทันสมัยที่สามารถสร้างผลลัพธ์เดียวกันได้ใกล้เคียงที่สุด การส่งผลงานจะได้รับการประเมินด้วยชุดข้อมูลลับแยกต่างหาก ซึ่งมีกรณีทดสอบ 5,000 กรณีแทนที่จะเป็น 1,000 กรณีเดิม ชุดข้อมูลส่วนตัวที่ใหญ่กว่านี้คือสิ่งที่ใช้กำหนดคะแนนและอันดับสุดท้ายของคุณในท้ายที่สุด ระบบให้คะแนนให้รางวัลกับความแม่นยำ โดยคะแนนที่ต่ำกว่าหมายความว่าโซลูชันของคุณตรงกับพฤติกรรมที่ซ่อนอยู่ของระบบเดิมมากกว่า
เพื่อรับมือกับความไม่แน่นอนและรูปแบบในข้อมูล ฉันใช้เทคนิคการเรียนรู้ของเครื่องแบบคลาสสิกควบคู่ไปกับฮิวริสติกพื้นฐานและตรรกะเชิงโปรแกรม มันเป็นการผสมผสานอย่างรอบคอบระหว่างการวิเคราะห์ข้อมูล การสร้างแบบจำลองคุณลักษณะ และการประมาณกฎโดยอาศัยเบาะแสที่ไม่สมบูรณ์
นี่คือคะแนน eval ของฉันสำหรับชุดข้อมูลสาธารณะ 1,000 รายการ:
✅ Evaluation Summary
------------------------
Total cases : 1000
Exact matches (<$0.01): 0
Close matches (<$1.00): 17
Average error : $31.15
Score : 3214.93
การพัฒนาโซลูชันสำหรับความท้าทายเช่นนี้ภายใน 8 ชั่วโมงคงแทบเป็นไปไม่ได้ หากไม่ได้รับความช่วยเหลือจากเครื่องมือที่ขับเคลื่อนด้วย AI ซึ่งช่วยให้สำรวจ ผสานรวม และทดสอบแนวคิดต่าง ๆ ได้อย่างรวดเร็วขึ้น
มันให้ความรู้สึกเหมือนโบราณคดีซอฟต์แวร์ที่ผสมผสานเข้ากับการแข่งเขียนโค้ดแบบสด เป็นหนึ่งในความท้าทายทางเทคนิคที่เข้มข้นและให้ผลตอบแทนมากที่สุดเท่าที่ฉันเคยทำมาอย่างไม่ต้องสงสัย
ขอขอบคุณ Chamath Palihapitiya และ Arjun Krishna สำหรับการจัดความท้าทายที่สร้างสรรค์และสร้างแรงบันดาลใจเช่นนี้
ลิงก์: