Bước đầu tiên: Xác định mục tiêu / lý do của bạn
Tôi nghĩ rằng đây là yếu tố chiếm ưu thế. Những điều này phù hợp nhất với bạn? ( Chỉ chọn một )
- Bạn muốn tận hưởng một nhiệm vụ mã hóa thú vị, đầy thách thức
- Bạn muốn tạo ra một công cụ cờ vua cực kỳ tốt
- Bạn muốn tìm hiểu về cách thức hoạt động của động cơ cờ vua
- Bạn muốn học / thực hành kỹ năng mã hóa
- Bạn muốn học / thực hiện các khái niệm / lý thuyết khoa học máy tính (ví dụ: học máy)
- (Khác)
IMO thật tốt khi "tung đồng xu" cho bất cứ điều gì ngoại trừ 2. Đối với tất cả những người khác, bạn sẽ đáp ứng mục tiêu của mình cho dù bạn chọn ML hay mã hóa cứng. Tuy nhiên, bạn có thể muốn so sánh giữa các lựa chọn để giúp bạn quyết định.
Trường hợp mã hóa cứng
Chơi cờ (như một con người) liên quan đến tư duy logic. Bạn khám phá không gian của những hành động có thể bạn và đối thủ có thể thực hiện. Điều này đã sinh ra một lĩnh vực gọi là lý thuyết trò chơi chứa các khung lý thuyết để phân tích các trò chơi nói chung.
Nếu bạn thích làm việc với các chi tiết và cụ thể và lý luận về mọi thứ thì điều này có thể làm việc tốt cho bạn. So sánh, học máy liên quan đến nhiều thuật toán "hộp đen" mờ hơn và mờ hơn. Bạn không biết chính xác những gì đang xảy ra.
Ngoài ra tôi cho rằng bạn sẽ có một thời gian dễ dàng hơn "tự mình tìm ra" nếu bạn đi theo con đường mã hóa cứng hơn là học máy. Công cụ dán ít sao chép mà bạn không hiểu đầy đủ.
Trường hợp học máy
Nó có thể thú vị để sinh ra một sáng tạo và xem nó có một cuộc sống của riêng mình. Trong khi mã hóa cứng là tất cả về độ chính xác và chi tiết, máy học là linh hoạt. Lấy đi một số tế bào thần kinh và kết quả có thể sẽ tương tự.
Mã hóa cứng là về nghiên cứu cờ vua. Học máy là về nghiên cứu sinh vật bạn đã tạo ra.
Và máy học, tất nhiên, là một chủ đề rất nóng.
Lựa chọn ngôn ngữ cho mã hóa cứng
Tôi không chắc ý của bạn là "các ngôn ngữ dựa trên C khác". C ++ là ngôn ngữ chính duy nhất giống như C. Ưu điểm của C / C ++ là chúng nhanh . Mặc dù các ngôn ngữ khác đã bắt kịp trong nhiều năm qua, C ++ vẫn giúp họ kiếm tiền.
C ++ không dễ. Bạn sẽ có được hiệu suất tuyệt vời từ các ngôn ngữ được biên dịch hiện đại hơn như Rust, Golang hoặc Swift. Nhưng nó không nên tệ hơn nhiều nếu bạn sử dụng ngôn ngữ JIT. Tức là không sử dụng trình thông dịch CPython ; sử dụng IronPython hoặc Jython hoặc Node hoặc C # hoặc Java.
Lập trình GPU đòi hỏi một cách tiếp cận khác và tôi sẽ khuyên bạn nên chống lại nó vào thời điểm này.
Lựa chọn ngôn ngữ cho máy học
Vấn đề với TensorFlow là nó rất thấp. Nó liên quan nhiều hơn đến việc viết các thuật toán bẻ khóa số (có thể được trang bị cho phần cứng song song) hơn là về một giao diện dành riêng cho học máy.
Tất nhiên, nó có thể là một kinh nghiệm học tập tuyệt vời! Và chắc chắn là rất đáng học tập ngày hôm nay. Tuy nhiên, bạn có thể muốn bắt đầu với Keras hoặc PyTorch.