Nhờ giải thích toán tử chuyển trạng thái trò chơi 8 số

Giả sử ô trống đang ở vị trí (i0, j0) thì hàm f được xác định như sau:


Em mới hiểu được dòng đầu. 3 dòng dưới em chưa hiểu. Mong có người giải thích cho em hiểu :slight_smile:

Bạn hiểu ntn?

Mà cũng ko nên xài cái này :slight_smile: bạn cứ hình dung thao tác biến đổi là swap ô trống với mấy ô xung quanh nó thôi là code dễ ngay.

Cô mình giao phải cài đặt thuật toán theo kiểu này. Mà mình mới chỉ hiểu dòng đầu tiên. Fu(aij) là từ trạng thấy aij di chuyển lên trên(Upper) mà i0 = 1 là trên cùng rồi thì không để di chuyển lên được nữa.

Hình như gốc tọa độ đặt ở góc dưới (!) chứ không phải góc trên (dòng 4). Góc trên, từ trên xuống tự nhiên hơn.
Dòng 3 tức là ô bên dưới bị đẩy lên, dòng 4 là ô ngay dưới biến thành ô trống. Hai dòng còn lại không làm gì hết (dòng 1 là điều kiện cho biên).

a[i,j] là trạng thái của riêng ô đó thôi, nguyên bảng a đó mới là trạng thái của bài toán.

1 Like

Cảm ơn bạn nha. Mình dần hiểu rồi :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?