Game online sederhana berisi 20 pertanyaan yang didukung oleh AI yang sangat akurat.
Bagaimana mereka menebak dengan baik?
Game online sederhana berisi 20 pertanyaan yang didukung oleh AI yang sangat akurat.
Bagaimana mereka menebak dengan baik?
Jawaban:
Anda dapat menganggapnya sebagai Algoritma Pencarian Biner. Di setiap iterasi, kami mengajukan pertanyaan, yang seharusnya menghilangkan kira-kira setengah dari kemungkinan pilihan kata. Jika ada total N kata, maka kita bisa mengharapkan jawaban setelah pertanyaan log2 (N).
Dengan 20 pertanyaan, kita harus bisa secara optimal menemukan sebuah kata diantara 2 ^ 20 = 1 juta kata.
Salah satu cara mudah untuk menghilangkan pencilan (jawaban yang salah) mungkin menggunakan sesuatu seperti RANSAC . Ini berarti, alih-alih memperhitungkan semua pertanyaan yang telah dijawab, Anda secara acak memilih subset yang lebih kecil, yang cukup untuk memberi Anda satu jawaban. Sekarang Anda mengulanginya beberapa kali dengan subset pertanyaan acak yang berbeda, sampai Anda melihat bahwa sebagian besar waktu, Anda mendapatkan hasil yang sama. Anda kemudian tahu bahwa Anda memiliki jawaban yang benar.
Tentu saja ini hanyalah salah satu cara dari banyak cara untuk menyelesaikan masalah ini.
code
tautan untuk melihatnya: openbookproject.net/py4fun/animal/animal.html
Pohon keputusan mendukung aplikasi semacam ini secara langsung. Pohon keputusan biasanya digunakan dalam kecerdasan buatan.
Pohon keputusan adalah pohon biner yang menanyakan pertanyaan "terbaik" pada setiap cabang untuk membedakan antara koleksi yang diwakili oleh anak kiri dan kanannya. Pertanyaan terbaik ditentukan oleh beberapa algoritma pembelajaran yang digunakan pembuat aplikasi 20 pertanyaan untuk membangun pohon. Kemudian, seperti yang ditunjukkan poster lain, pohon sedalam 20 tingkat memberi Anda sejuta hal.
Cara sederhana untuk menentukan pertanyaan "terbaik" di setiap titik adalah mencari properti yang membagi koleksi menjadi dua secara merata. Dengan begitu, saat Anda mendapatkan jawaban ya / tidak untuk pertanyaan tersebut, Anda membuang sekitar setengah dari koleksi di setiap langkah. Dengan cara ini Anda dapat memperkirakan pencarian biner.
Wikipedia memberikan contoh yang lebih lengkap:
http://en.wikipedia.org/wiki/Decision_tree_learning
Dan beberapa latar belakang umum:
Saya merekomendasikan membaca tentang permainan di sini: http://en.wikipedia.org/wiki/Twenty_Questions
Khususnya bagian Komputer:
Permainan ini menyarankan bahwa informasi (yang diukur dengan statistik entropi Shannon) yang diperlukan untuk mengidentifikasi objek sewenang-wenang adalah sekitar 20 bit. Permainan ini sering dijadikan contoh ketika mengajar orang tentang teori informasi. Secara matematis, jika setiap pertanyaan disusun untuk menghilangkan separuh objek, 20 pertanyaan akan memungkinkan penanya untuk membedakan antara 2 20 atau 1.048.576 subjek. Oleh karena itu, strategi paling efektif untuk Dua Puluh Pertanyaan adalah mengajukan pertanyaan yang akan membagi bidang kemungkinan yang tersisa kira-kira menjadi dua setiap kali. Prosesnya dianalogikan dengan algoritma pencarian biner dalam ilmu komputer.
Ia menyebut dirinya sebagai "jaringan saraf di internet", dan di situlah letak kuncinya. Kemungkinan menyimpan probabilitas pertanyaan / jawaban dalam matriks cadangan. Menggunakan probabilitas tersebut, ia dapat menggunakan algoritme pohon keputusan untuk menyimpulkan pertanyaan mana yang akan ditanyakan yang paling baik mempersempit pertanyaan berikutnya. Setelah mempersempit jumlah kemungkinan jawaban menjadi beberapa lusin, atau jika sudah mencapai 20 pertanyaan, maka kemungkinan besar akan mulai membaca.
Aspek yang benar-benar menarik dari 20q.net adalah tidak seperti kebanyakan pohon keputusan dan algoritme jaringan saraf yang saya ketahui, 20q mendukung matriks renggang dan pembaruan tambahan.
Edit: Ternyata jawabannya sudah ada di internet selama ini. Robin Burgener, sang penemu, menjelaskan algoritmanya secara detail dalam pengajuan paten tahun 2005 .
Ini menggunakan algoritma pembelajaran.
k-NN adalah contoh bagus dari salah satunya.