Panduan untuk Permainan 8 Puzzle

Ini adalah kumpulan kecil, implementasi yang tidak berguna untuk masalah 8 teka-teki klasik yang ditulis dalam bahasa yang berbeda. Implementasi ini menggunakan algoritma pencarian A *, dan didasarkan pada proyek kursus Ilmu Komputer Princeton yang saya temukan secara acak satu hari. Anda perlu memahami panduan untuk permainan 8 puzzle ini.

Setelah membacanya dan menjadi sangat tertarik, ingin menikamnya menggunakan JavaScript daripada Java. Lalu mulai berpikir mungkin akan menyenangkan untuk menerapkan algoritme ini dalam berbagai bahasa sehingga bisa melihat bagaimana mereka semua membandingkan. Mainkan juga Dominoqq yang pastinya Anda ketagihan untuk bermain.

Siapa saja yang menemukan ini menarik untuk mencobanya sendiri, karena ini adalah proses belajar yang sangat besar dan merupakan latihan pengkodean yang fantastis. Belajar banyak dari mengerjakannya, dan itu sangat menarik sehingga sulit untuk berhenti mengerjakannya begitu Anda sudah mulai. Jika Anda melakukannya sendiri, jangan ragu untuk memilih yang ini dan berbagi dengan solusi Anda, ingin melihat cara lain untuk mengatasi hal ini.

Masalah 8 teka-teki adalah teka-teki yang ditemukan dan dipopulerkan oleh Noyes Palmer Chapman pada 1870-an. Ini dimainkan pada grid 3-oleh-3 dengan 8 blok persegi berlabel 1 hingga 8 dan kotak kosong. Tujuan Anda adalah mengatur ulang blok-blok agar sesuai urutan. Anda diizinkan untuk menggeser blok secara horizontal atau vertikal ke dalam kotak kosong. Berikut ini menunjukkan urutan langkah hukum dari posisi papan awal (kiri) ke posisi tujuan (kanan).

Pencarian pertama-terbaik. Kami sekarang menjelaskan solusi algoritmik untuk masalah yang menggambarkan metodologi kecerdasan buatan umum yang dikenal sebagai algoritma pencarian A *. Kami mendefinisikan keadaan permainan menjadi posisi papan, jumlah gerakan yang dilakukan untuk mencapai posisi papan, dan keadaan sebelumnya.

Pertama, masukkan keadaan awal (papan awal, 0 bergerak, dan keadaan nol sebelumnya) ke antrian prioritas. Kemudian, hapus dari antrian prioritas negara dengan prioritas minimum, dan masukkan ke antrian prioritas semua negara tetangga (yang dapat dijangkau dalam satu gerakan). Ulangi prosedur ini sampai status yang ditetapkan adalah status tujuan. Mainkan sekarang juga seru lho.