Langkah pertama: Tentukan tujuan / alasan Anda
Saya pikir ini adalah faktor utama. Mana yang paling cocok untuk Anda? (Pilih satu saja )
- Anda ingin menikmati tugas pengkodean yang menyenangkan dan menantang
- Anda ingin membuat mesin catur yang sangat bagus
- Anda ingin belajar tentang cara kerja mesin catur
- Anda ingin belajar / berlatih keterampilan coding
- Anda ingin belajar / menerapkan konsep / teori sains komputer (mis. Pembelajaran mesin)
- (Lain)
IMO tidak apa-apa untuk "melempar koin" untuk apa pun kecuali 2. Untuk semua yang lain, Anda akan memenuhi tujuan Anda apakah Anda memilih ML atau hard-coding. Namun Anda mungkin menginginkan perbandingan antara pilihan untuk membantu Anda memutuskan.
Kasus untuk hard-coding
Bermain catur (sebagai manusia) melibatkan pemikiran logis. Anda menjelajahi ruang tindakan yang mungkin Anda dan lawan bisa ambil. Ini telah melahirkan bidang yang disebut teori permainan yang berisi kerangka teori untuk menganalisis game secara umum.
Jika Anda menikmati bekerja dengan detail dan menjadi spesifik dan bernalar tentang hal-hal maka ini bisa bekerja dengan baik untuk Anda. Sebagai perbandingan, pembelajaran mesin melibatkan lebih banyak "kotak hitam" algoritma yang fuzzy dan buram. Anda tidak tahu persis apa yang sedang terjadi.
Juga saya rasa Anda akan memiliki waktu yang lebih mudah "mencari tahu sendiri" jika Anda memilih rute hard-coding daripada pembelajaran mesin. Lebih sedikit hal menempelkan salinan yang tidak sepenuhnya Anda pahami.
Kasus untuk pembelajaran mesin
Sangat menyenangkan untuk melahirkan ciptaan dan menyaksikannya menjalani kehidupannya sendiri. Sementara hard-coding adalah semua tentang presisi dan detail, pembelajaran mesin fleksibel. Singkirkan beberapa neuron dan hasilnya mungkin akan serupa.
Hard-coding adalah tentang mempelajari catur. Pembelajaran mesin adalah tentang mempelajari makhluk yang telah Anda buat.
Dan pembelajaran mesin, tentu saja, adalah topik yang sangat panas.
Pilihan bahasa untuk hard-coded
Saya tidak yakin apa yang Anda maksud dengan "bahasa berbasis C lainnya". C ++ adalah satu-satunya bahasa umum yang mirip dengan C. Keuntungan C / C ++ adalah mereka cepat . Meskipun bahasa lain telah menyusul selama bertahun-tahun, C ++ masih memberi mereka uang.
C ++ tidak mudah. Anda akan mendapatkan performa luar biasa dari bahasa yang dikompilasi lebih modern seperti Rust, Golang atau Swift. Tetapi seharusnya tidak jauh lebih buruk jika Anda menggunakan bahasa JIT. Yaitu jangan menggunakan juru bahasa CPython ; gunakan IronPython atau Jython, atau Node, atau C # atau Java.
Pemrograman GPU membutuhkan pendekatan yang berbeda dan saya akan menyarankan untuk tidak melakukannya pada saat ini.
Pilihan bahasa untuk pembelajaran mesin
Masalah dengan TensorFlow adalah tingkatannya sangat rendah. Ini lebih tentang menulis algoritma angka-penggerusan (yang dapat ditanamkan ke perangkat keras paralel) daripada tentang antarmuka yang didedikasikan untuk pembelajaran mesin.
Tentu saja, ini bisa menjadi pengalaman belajar yang luar biasa! Dan tentunya belajar sangat bermanfaat hari ini. Namun, Anda mungkin ingin memulai dengan Keras atau PyTorch.