system
Tell a fairy tale Máy tính đã thi đấu như thế nào với kiện tướng cờ vua? in Vietnamese language
user
Tháng 5 năm 1997, một trận đấu cờ vua kì lạ được tổ chức ở New York. Quán quân thế giới Cacparôp đã đấu với không phải kiện tướng nào cả mà là với một máy tính cao cấp của công ty IBM. Và khi cả thế giới đều thấy Cacparôp thất bại trước cái máy tính có tên gọi là "Deep Blue" này thì nhiều người đã cảm nhận thấy rằng loài người đã gặp phải sự thách thức chưa từng có.
Vậy thì máy tính rút cuộc đã đánh cờ như thế nào?
Muốn máy tính có thể đánh cờ được, trước hết phải nghĩ cách thiết lập cho máy biết quy tắc đi quân cờ bằng ngôn ngữ máy tính, như "Mã chỉ có thể đi chữ nhật, hậu chỉ có thể đi đường chéo". Ngoài ra còn phải thiết lập cho máy biết quy luật thông thường của việc đánh cờ. Cái quy luật thông thường này gọi là quy tắc gợi ý. Nó có thể gợi cho máy tính tìm ra được phương án đi quân hay nhất.
Con người khi đánh cờ, mỗi lần đi quân đều phải dựa vào thế cờ trước mắt, suy nghĩ kết quả có thể của nhiều nước cờ sau. Tức là đi một bước phải suy tính trước mấy bước. Máy tính có thể đánh cờ là vì con người đã lập trình sẵn cho nó. Chương trình đánh cờ này đã bao gồm toàn bộ quy tắc đi quân và cờ thế. Như vậy, khi đánh cờ, máy đã có thể biết là trong một thế cờ nào đó thì có thể đi những quân nào, và mỗi quân cờ có được những nước đi nào. Rồi đó máy tính sẽ tính ra sự được mất của hai bên trong một nước cờ bằng tốc độ nhanh nhất. Nó sẽ chọn ra phương án đi quân hay nhất rồi đưa ra quyết sách sẽ đi thế nào với nước cờ này. Máy tính chủ yếu là giành thắng lợi nhanh chóng. Nó có thể trong một thời gian rất ngắn tính ra được nhiều nước có thể đi và kết quả những nước đi này. Rồi từ đó mà chọn lấy một nước đi có nhiều khả năng chiến thắng nhất. Chương trình đánh cờ của máy có quy tắc gợi ý càng nhiều thì khả năng đánh cờ của nó càng cao. Nó càng nhìn trước được nhiều nước đi thì càng có hi vọng chiến thắng.
Thế nhưng, đây chỉ là một phương pháp cứng nhắc. Khi ta tìm ra được lối đánh thắng máy tính và lần sau nếu ta vẫn sử dụng cách đánh như cũ thì máy tính (phần lớn là không biết linh hoạt) sẽ phải thất bại trước con người thôi. Điều này chủ yếu là vì khi con người đánh cờ tuy đi một bước xem mấy bước, nhưng cái cao tay của người chơi cờ là biết đánh giá cục thế, tùy cơ ứng biến. Con người sẽ không cứng nhắc suy nghĩ từng khả năng mà là dựa vào kinh nghiệm đã tích lũy lâu năm, khi xem xét xong thế cờ thì tập trung chú ý vào những nước cờ hi vọng chiến thắng nhất một cách trực giác. Từ đó mà rút ngắn lại phạm vi suy xét cho nhiều nước cờ.
Muốn cho máy tính biết tùy cơ ứng biến thì phải nghiên cứu soạn thảo ra một chương trình đánh cờ có chức năng tự học, trong quá trình chơi cờ máy tính sẽ rút ra được những bài học kinh nghiệm từ thất bại của nó, biết học tập những sở trường của đối thủ, tích lũy kinh nghiệm để không ngừng nâng cao nghệ thuật chơi cờ. Như vậy máy tính nếu bị thua theo một cách đánh nào đó, nó sẽ tự rút ra được bài học. Đến khi tiếp tục theo lối cũ thì máy sẽ không bị mắc lừa nữa.
Về chương trình chơi cờ của máy tính còn có một vấn đề quan trọng tức là vấn đề "bùng nổ tổ hợp tin". Khi máy chơi cờ, nếu bước đi có m cách chọn vậy thì nhìn trước n bước sẽ có mn khả năng lựa chọn. Vậy ta thấy "nhìn trước" có bước càng nhiều thì tuy càng chắc chắn, nhưng không gian phải tìm kiếm và thời gian cho việc tìm kiếm này sẽ tăng lên rất nhiều. Đây cũng chính là nguyên nhân cơ bản khiến trình độ của chương trình chơi cờ bị hạn chế.
"Deep blue" đối kháng với Cacparôp, nó chủ yếu là dựa vào khả năng tính toán và suy đoán tốc độ cực nhanh. Còn người chơi cờ thì ngoài việc tính toán và suy đoán ra thì nhiều hơn cả là phải dựa vào kinh nghiệm phong phú và phương thức tư duy quy nạp, loại suy, cả trực giác nữa. Về mặt này thì máy không thể nào sánh được với người.
assistant