LAN पार्टी
- पिछले 16 वर्षों से हर साल दोस्तों के साथ LAN पार्टी आयोजित की जाती रही है.
- यह पार्टी 4-5 दिनों तक चलती है और इसमें अधिकतम 12 लोग भाग लेते हैं.
- मुख्य रूप से Dota 2 खेला जाता है, लेकिन Counter-Strike, Warcraft 3 जैसे कई दूसरे गेम भी खेले जाते हैं.
- टीम चुनना मुश्किल होने की वजह से एक automated सिस्टम बनाया गया.
Dota 2
- Dota 2 5v5 फॉर्मेट में खेला जाता है, और असंतुलित टीमें गेम का मज़ा कम कर देती हैं.
- प्रतिभागियों के skill level में बड़ा अंतर होने से टीम चुनना कठिन हो जाता है.
टीम चुनने का तरीका
- दो लीडर बारी-बारी से टीममेट्स चुनते हैं.
- लेकिन यह तरीका बहुत समय लेता है, और अक्सर मिलती-जुलती टीमें बनती रहती हैं, जिससे बोरियत होती है.
मैन्युअल टीम चयन की समस्याएं
- इसमें बहुत समय लगता है और यह उबाऊ हो जाता है.
- अक्सर मिलती-जुलती टीमें बनती हैं.
- कोई भी लीडर की भूमिका लेना नहीं चाहता.
- असंतुलित टीमें अक्सर बन जाती हैं.
कोड से समाधान
- डेटा इकट्ठा करने के बाद Colab में Elo rating सिस्टम का इस्तेमाल करके टीमों को अपने-आप बनाया गया.
- हर खिलाड़ी 1000 Elo points से शुरू करता है, और जीतने पर 20 points मिलते हैं जबकि हारने पर 20 points कटते हैं.
सुधार 1: डेटा को कई बार पास करना
- Elo सिस्टम में अगर कोई खिलाड़ी अपने से ज़्यादा Elo वाले खिलाड़ी को हराता है, तो उसे ज़्यादा points मिलते हैं.
- Elo की गणना करने के लिए डेटा को कई बार पास किया गया.
सुधार 2: इसे ML model जैसा बनाना
- Elo को एक model की तरह इस्तेमाल करके टीम की जीत की संभावना का अनुमान लगाया गया.
- L2 loss function को परिभाषित किया गया और backpropagation के ज़रिए model को optimize किया गया.
सुधार 3: ऐतिहासिक नतीजों को probabilistic बनाना
- overfitting रोकने के लिए पुराने मैचों की जीत की संभावना 75% या 95% पर सेट की गई.
- इससे model सभी गेम्स को याद करने के बजाय generalize कर पाता है.
परिणाम
- नया सिस्टम असंतुलित टीम साइज़ में भी जीत की संभावना का अनुमान लगा सकता है.
- अगली LAN पार्टी के लिए पहली lineup तैयार हो गई है.
अभी कोई टिप्पणी नहीं है.