Trò chơi trực tuyến đơn giản gồm 20 câu hỏi được hỗ trợ bởi AI chính xác đến kinh ngạc.
Làm thế nào để họ đoán tốt như vậy?
Trò chơi trực tuyến đơn giản gồm 20 câu hỏi được hỗ trợ bởi AI chính xác đến kinh ngạc.
Làm thế nào để họ đoán tốt như vậy?
Câu trả lời:
Bạn có thể coi nó như là Thuật toán tìm kiếm nhị phân. Trong mỗi lần lặp, chúng tôi đặt một câu hỏi, câu hỏi này sẽ loại bỏ khoảng một nửa số lựa chọn từ có thể có. Nếu có tổng số N từ, thì chúng ta có thể mong đợi nhận được câu trả lời sau câu hỏi log2 (N).
Với câu hỏi 20, chúng ta có thể tìm một từ tối ưu trong số 2 ^ 20 = 1 triệu từ.
Một cách dễ dàng để loại bỏ các ngoại lệ (câu trả lời sai) có thể là sử dụng một cái gì đó như RANSAC . Điều này có nghĩa là, thay vì tính đến tất cả các câu hỏi đã được trả lời, bạn chọn ngẫu nhiên một tập hợp con nhỏ hơn, đủ để cung cấp cho bạn một câu trả lời duy nhất. Bây giờ bạn lặp lại điều đó một vài lần với các nhóm câu hỏi con ngẫu nhiên khác nhau, cho đến khi bạn thấy rằng hầu hết thời gian, bạn đều nhận được cùng một kết quả. sau đó bạn biết bạn có câu trả lời đúng.
Tất nhiên đây chỉ là một trong nhiều cách giải quyết vấn đề này.
code
liên kết để xem nó: openbookproject.net/py4fun/animal/animal.html
Cây quyết định hỗ trợ trực tiếp loại ứng dụng này. Cây quyết định được sử dụng phổ biến trong trí tuệ nhân tạo.
Cây quyết định là một cây nhị phân đặt câu hỏi "tốt nhất" ở mỗi nhánh để phân biệt giữa các tập hợp được đại diện bởi con trái và con phải của nó. Câu hỏi tốt nhất được xác định bởi một số thuật toán học tập mà những người tạo ra ứng dụng 20 câu hỏi sử dụng để xây dựng cây. Sau đó, như các áp phích khác đã chỉ ra, một cái cây sâu 20 tầng cung cấp cho bạn một triệu thứ.
Một cách đơn giản để xác định câu hỏi "tốt nhất" tại mỗi thời điểm là tìm kiếm thuộc tính chia đều tập hợp thành một nửa. Bằng cách đó, khi bạn nhận được câu trả lời có / không cho câu hỏi đó, bạn sẽ loại bỏ khoảng một nửa bộ sưu tập ở mỗi bước. Bằng cách này, bạn có thể tìm kiếm gần đúng nhị phân.
Wikipedia đưa ra một ví dụ đầy đủ hơn:
http://en.wikipedia.org/wiki/Decision_tree_learning
Và một số thông tin cơ bản chung:
Tôi khuyên bạn nên đọc về trò chơi tại đây: http://en.wikipedia.org/wiki/Twenty_Questions
Cụ thể là phần Máy tính:
Trò chơi gợi ý rằng thông tin (được đo bằng thống kê entropy của Shannon) cần thiết để xác định một đối tượng tùy ý là khoảng 20 bit. Trò chơi thường được dùng làm ví dụ khi dạy mọi người về lý thuyết thông tin. Về mặt toán học, nếu mỗi câu hỏi được cấu trúc để loại bỏ một nửa số đối tượng, 20 câu hỏi sẽ cho phép người hỏi phân biệt giữa 2 20 hoặc 1.048.576 đối tượng. Theo đó, chiến lược hiệu quả nhất cho Hai mươi câu hỏi là đặt những câu hỏi sẽ chia đôi phần khả năng còn lại trong mỗi lần. Quá trình này tương tự như một thuật toán tìm kiếm nhị phân trong khoa học máy tính.
Nó tự cho mình là "mạng lưới thần kinh trên internet", và chìa khóa nằm ở đó. Nó có khả năng lưu trữ các xác suất câu hỏi / câu trả lời trong một ma trận dự phòng. Bằng cách sử dụng các xác suất đó, nó có thể sử dụng thuật toán cây quyết định để suy ra câu hỏi nào cần hỏi để thu hẹp câu hỏi tiếp theo tốt nhất. Một khi nó thu hẹp số lượng câu trả lời có thể xuống còn vài chục hoặc nếu đã đạt đến 20 câu hỏi, thì khả năng cao nhất là nó sẽ đọc.
Khía cạnh thực sự hấp dẫn của 20q.net là không giống như hầu hết các thuật toán cây quyết định và mạng nơ-ron mà tôi biết, 20q hỗ trợ ma trận thưa thớt và cập nhật gia tăng.
Chỉnh sửa: Hóa ra câu trả lời đã có trên mạng suốt thời gian qua. Robin Burgener, nhà phát minh, đã mô tả chi tiết thuật toán của mình trong hồ sơ đăng ký bằng sáng chế năm 2005 .
Nó đang sử dụng một thuật toán học tập.
k-NN là một trong những ví dụ điển hình.