Terima kasih banyak untuk semua peserta
dalam kontes pemrograman ! Proses pengambilan keputusan belum selesai, tetapi pada tengah malam pada 17 Juli kami mengambil set keputusan yang pada waktu itu dan mengadakan turnamen mini di antara mereka. Itu mencapai 82 keputusan.
Tapi pertama-tama, beberapa pengumuman.
Kompetisi diperpanjang selama seminggu
Batas waktu pengambilan keputusan diperpanjang hingga
27 Juli 2018 , 23:59:59 UTC. Juga, tenggat waktu dimana hasil kompetisi akan diumumkan digeser seminggu sebelumnya. Kami telah memperluas kompetisi untuk meningkatkan jangkauan selama musim liburan.
Klarifikasi Tes Akhir
Setelah penerimaan pekerjaan, pengujian akan lebih menyeluruh daripada pendahuluan saat ini.
Nilai benih
Kami menerbitkan metode yang kami janjikan akan digunakan untuk memilih nilai seed untuk pengujian akhir. Metode ini harus jelas dan mudah diverifikasi, tetapi tidak dapat diprediksi. Jadi, kami akan mengambil tweet pertama dari
Twitter ini yang akan muncul di sana setelah batas waktu. Sulit dipercaya bahwa kita berkonspirasi dengan Jerry Springer, kan? Dari tweet kami hanya mengambil teks, tanpa gambar dan video. Jika tidak ada teks di tweet, tetapi hanya gambar, maka ambil tweet berikutnya. Retweet dihitung. Retweet nama akun tidak diambil.
Dari teks tweet kami mendapatkan nilai seed seperti ini:
const random_js = require('random-js'); const text = 'The tweet goes here'; const bytes = Array.from(new Buffer(text)); const random = new random_js(random_js.engines.mt19937().seedWithArray(bytes)); for (let i = 0; i<200; i++)
Elemen dari urutan yang dihasilkan dengan angka
ganjil , ketika penomoran mulai dari 1 (yaitu, yang pertama, ketiga, kelima, dan seterusnya), akan digunakan sebagai nilai benih untuk putaran pertama, dan dengan yang
genap sebagai nilai benih tambahan untuk final.
Di babak pertama, setiap pasangan solusi yang dipesan akan diluncurkan pada masing-masing setidaknya 100 nilai benih (lebih banyak jika kita punya waktu). Setidaknya 100 nilai benih tambahan akan digunakan di final. Sesi yang diadakan di babak pertama antara keputusan yang mencapai final akan digunakan di final (tetapi tidak sesi antara finalis dan keputusan yang tidak mencapai final). Dengan demikian, setidaknya 200 nilai benih akan menentukan hasil final.
Seleksi Finalis
Setelah babak pertama, semua keputusan akan diurutkan berdasarkan jumlah poin yang dicetak. Sejumlah keputusan, dimulai dengan pemimpin daftar, akan dimasukkan ke final.
Aturan berikut akan berlaku untuk pemilihan finalis. Jumlah finalis akan memutuskan aturan mana yang ternyata
paling ketat (yaitu,
paling sedikit dilewati) ke jumlah keputusan.
- Tidak lebih dari setengah solusi.
- Tidak lebih dari 50 solusi.
- Hanya solusi yang menunjukkan hasil yang lebih baik daripada
example.js
.
Hasil Antara
Untuk pengujian tingkat menengah, kami menggunakan bilangan asli dari 1 hingga 50 inklusif sebagai nilai benih. Setiap pasangan yang dipesan, terdiri dari solusi yang berbeda, dijalankan pada masing-masing nilai ini. Dengan demikian, untuk 82 peserta, turnamen terdiri dari 332100 sesi; masing-masing solusi berpartisipasi dalam 8100 sesi.
Sejauh ini, bukannya nama-nama peserta - pengidentifikasi solusi. Identifier Anda ada dalam surat otomatis yang Anda terima setelah mengirim keputusan. Tidak dilarang untuk mengungkapkan dalam komentar untuk posting ini bahwa keputusan ini dan itu adalah milik Anda.
Harap perhatikan bahwa pada 59, 60 dan 61 tempat terdapat salinan skrip
example.js . Menariknya, 21 dari 82 solusi menunjukkan hasil yang lebih rendah daripada contoh primitif kami. (Mengapa tiga salinan skrip yang sama menunjukkan hasil yang sedikit berbeda? Karena beberapa solusi menggunakan
Math.random
, dan hasil sesi yang melibatkan mereka tidak dapat direproduksi.)
Tabel hasil antara dapat dilihat
di GitHub . Legenda:
- S : Jumlah poin yang dicetak (ini adalah subjek kompetisi)
- S / N : Hasil Sesi Rata-Rata
- A : Jumlah sesi mencapai kesepakatan
- A / N : Persentase sesi dengan kesepakatan tercapai
- S / A : Hasil sesi rata-rata dengan kesepakatan tercapai
- X : Jumlah sesi yang dihentikan oleh peserta ini (karena pengecualian atau hasil yang salah)
Tentu saja, masih ada waktu yang tersisa sebelum akhir kompetisi, di mana penyelarasan kekuatan dapat berubah. Lakukan itu!