Có cách nào để tự động (không thử nghiệm trên người) đo độ cứng trung bình của câu đố Sudoku cho một người để giải quyết không?


7

Vì vậy, hầu hết các tài nguyên cung cấp câu đố Sudoku đều phân loại một loại khó cho mỗi câu đố, thậm chí một số tài nguyên tôi đã thấy với 15 loại khó hơn hoặc nhiều hơn. Nhưng một cách tốt để chỉ định các loại khó khăn là gì? Nếu sử dụng đủ bộ giải câu đố của con người, thời gian trung bình để con người hoàn thành câu đố và tỷ lệ người giải câu đố thành công có thể được tính cho mẫu người và các loại độ khó được chỉ định phù hợp. Nhưng có vẻ như phải có những kịch bản có thể dự đoán được khi xuất hiện những câu đố khác nhau đang được giải quyết ảnh hưởng đến độ khó trung bình của con người, có thể được tự động phát hiện khi một máy tính giải câu đố và sau đó những mô hình này có thể được tập hợp thành một độ khó trung bình dự đoán cho con người . Có / những kỹ thuật tốt để làm điều này là gì? Có lẽ máy học với đủ dữ liệu đào tạo về hiệu suất của con người trên các câu đố mẫu?


Đối với cách tiếp cận phi thống kê, bạn cần có một số ý tưởng về "độ cứng" này là gì. những tham số của câu đố nó được gắn với (và làm thế nào).
Raphael

Câu trả lời:


8

Đã có nhiều cố gắng như vậy. Hầu hết trong số họ cố gắng rút ra các quy tắc khấu trừ mà con người dường như sử dụng để giải các câu đố Sudoku.

Tiền của tôi là về phương pháp này:

Mária Ercsey-Ravasz & Zoltán Toroczkai (2012), Sự hỗn loạn trong Sudoku , Báo cáo khoa học 2:75, Thiên nhiên.

Ý tưởng dựa trên khái niệm hỗn loạn thoáng qua trong một hệ thống động lực.

Trong các hệ thống động lực, khi bạn thay đổi trạng thái, thường có một khoảng thời gian mà tín hiệu nhất thời chiếm ưu thế, trước khi hệ thống quản lý để tự đưa mình vào một giải pháp trạng thái ổn định. Nếu hệ động lực là phi tuyến, thoáng qua có thể hỗn loạn.

Điều này khác với một công cụ thu hút hỗn loạn (ví dụ như công cụ thu hút Lorentz), trong đó trạng thái ổn định mà hệ thống cuối cùng được rút ra là không hỗn loạn, chỉ là tạm thời.

Thời gian mà hệ thống mất để tạm thời ngừng hoạt động được gọi là tốc độ thoát . Điều mà các tác giả tìm thấy là nếu bạn biến câu đố thành vấn đề SAT, và sau đó biến nó thành một hệ động lực tương đương (trong đó công cụ thu hút của hệ thống động lực là giải pháp cho vấn đề SAT), tỷ lệ thoát của hệ thống tương quan hoàn toàn tốt với cách câu đố Sudoku được đánh giá về độ cứng.

Điều thú vị về phương pháp này là nó độc lập với Sudoku. Bất kỳ câu đố nào có thể biến thành vấn đề SAT khá trực tiếp (vấn đề SAT và câu đố không thể phân kỳ quá xa) có thể được phân tích theo cùng một cách.


Đây là một cách tiếp cận rất thú vị, cảm ơn đã tham khảo. Tôi không hiểu tại sao nó lại hoạt động tốt như vậy và tôi cũng không rõ việc tính tỷ lệ thoát khó đến mức nào (ngoại trừ có thể ước tính bằng mô phỏng), nhưng tôi sẽ xem qua tài liệu tham khảo và có thể nó sẽ đến với nhau
dùng2566092

2

Nếu bạn muốn đo độ cứng của câu đố "vì con người", một cách tiếp cận điển hình là các kỹ thuật suy luận cần thiết để hoàn thành câu đố. Chẳng hạn, bạn có thể phân loại các chiến lược suy luận là cơ bản, trung gian và chuyên gia.

Những phương pháp này đều có thể được thực hiện trên máy tính. Nếu máy tính có thể giải câu đố chỉ bằng các phương pháp cơ bản, thì câu đố rất dễ. Nếu kỹ thuật trung gian là cần thiết, câu đố là trung bình. Nếu không, máy tính cần các chiến lược chuyên gia, và câu đố khó. Tôi đã thấy một chương trình phân loại các câu đố dựa trên phương pháp này, nhưng dường như không thể nhớ lại tài liệu tham khảo chính xác.

Tất cả các câu đố có thể được giải quyết chỉ bằng suy luận (không cần đoán), sẽ dễ dàng cho một máy tính. Nếu bạn quan tâm đến các câu đố khó cho máy tính, một nguyên tắc cơ bản là chúng cần phải dùng đến việc đoán tại một số điểm. Việc tạo ra các câu đố Sudoku cứng (dành cho máy tính) cũng đã được nghiên cứu và bạn có thể dễ dàng tìm thấy các giấy tờ liên quan.


Đây có vẻ là một cách tiếp cận tốt nếu 15 quy tắc suy luận mà con người sử dụng có thể được chỉ định điểm độ cứng dựa trên dữ liệu huấn luyện của con người giải câu đố, và sau đó độ khó của câu đố có thể là tổng hoặc độ cứng tối đa của chuỗi quy tắc cần thiết để giải câu đố. Phần khó đối với tôi dường như là làm thế nào để bạn suy ra điểm cứng cho mỗi quy tắc suy luận riêng lẻ đưa ra thời gian giải cho toàn bộ câu đố khi con người giải chúng. Ngoài ra, một số quy tắc nên có độ cứng thay đổi, như "chuỗi suy luận xen kẽ" khi chuỗi càng khó thì chuỗi càng dài.
dùng2566092

"Sudoku như một vấn đề hạn chế" của Helmut Simonis ( 4c.ucc.ie/~hsimonis/sudoku.pdf ) là một bài viết chấm điểm các câu đố Sudoku dựa trên các suy luận cần thiết để giải các câu đố mà không cần tìm kiếm.
Zayenz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.