# Trung tâm xử lý sự cố > Hỏi-Đáp về Lập trình >  bài toán 8 con hậu

## haduyen

các bạn giúp mình với! mình đang học môn trí tuệ nhân tạo. giáo viên giao bài tập lớn cho làm, mình bốc thăm đúng bài 8 con hậu , mà mình không biết giải quyết làm sao nữa.
* đề bài:*
 viết chương trình giải quyết bài toán 8 con hậu. liệt kê tất cả các cách đặt 8 con hậu lên bàn cờ sao cho các con hậu không thể ăn nhau. sử dụng thuật giải akt.
 mong các bạn gjup mình nhanh nhé..mình đang rất rất cần!
thankyou!

----------


## tungnc273

bạn xem cái này đi http://diendantinhoc.vn/showthread.php?t=18511

----------


## phukiensamsung

> các bạn giúp mình với! mình đang học môn trí tuệ nhân tạo. giáo viên giao bài tập lớn cho làm, mình bốc thăm đúng bài 8 con hậu , mà mình không biết giải quyết làm sao nữa.
> *đề bài:*
> viết chương trình giải quyết bài toán 8 con hậu. liệt kê tất cả các cách đặt 8 con hậu lên bàn cờ sao cho các con hậu không thể ăn nhau. sử dụng thuật giải akt.
> mong các bạn gjup mình nhanh nhé..mình đang rất rất cần!
> thankyou!


 bài toán 8 con hậu mình có thể giải được với 2 thuật toán:
- quay lui
- công thức
còn giải thuật akt của bạn mình chưa rõ là giải thuật gì, bạn nói rõ hơn được không!?

----------


## ananhhoang

> các bạn giúp mình với! mình đang học môn trí tuệ nhân tạo. giáo viên giao bài tập lớn cho làm, mình bốc thăm đúng bài 8 con hậu , mà mình không biết giải quyết làm sao nữa.
> * đề bài:*
>  viết chương trình giải quyết bài toán 8 con hậu. liệt kê tất cả các cách đặt 8 con hậu lên bàn cờ sao cho các con hậu không thể ăn nhau. sử dụng thuật giải akt.
>  mong các bạn gjup mình nhanh nhé..mình đang rất rất cần!
> thankyou!


*bạn có thể xem qua bài full mã đi tuần này* 

[download][/download]http://www.mediafire.com/?r11j3bk3akd7v2l
*password unlock* : vuongpc

----------


## webmaster3386

> *bạn có thể xem qua bài full mã đi tuần này* 
> 
> [download][/download]http://www.mediafire.com/?r11j3bk3akd7v2l
> *password unlock* : vuongpc


bài mã đi tuần khác với bài 8 con hậu mà bạn.

----------


## nguyenle

có thể sd thuật toán quay lui như 1 mem đã nói , nhưng thuật toán akt ma bạn đề cập là gì vậy ???

----------


## hovafa

thuật giải akt:
1.đặt open chứa trạng thái khởi đầu.
2.cho đến khi tìm được trạng thái đích hoặc không còn nút nào trong open, thực hiện:
2.a.chọn trạng thái (tmax) có giá trị nhỏ nhất trong open (và xóa tmax khỏi open)
2.b. nếu tmax là trạng thái kết thúc thì thoát.
2.c ngược lại tạo ra các trạng thái kế tiếp tk có thể có từ trạng thái tmax. đối với mỗi trạng thái kế tiếp tk thực hiện:
g(tk)=g(tmax)+cost(tmax,tk);
tính h'(tk)
f(tk)=g(tk)+h'(tk);
thêm tk vào open
đây là thuật toán akt áp dụng giải bài toán 8 con hậu, mình không biết áp dụng thế nào. bạn giúp minh với

----------


## hlong001

mình cũng đã áp dụng giải thuật akt đối với bài toán đồ thị đường đi.thuật toán này mình nghĩ nên áp dụng thuật toán quay lui

----------


## blackcatcn

mình nghĩ, cấu trúc dữ liệu: bạn nên sử dụng danh sách liên kết động. mỗi vị trí quân hậu có thể đi đến là kiểu con trỏ. kiểu con trỏ này là 1 bản ghi, trong đó nên có trường lưu vị trí trước, vị trí sau của quân hậu. còn cost() tức là giá từ vị trí này đến vị trí kia thì lưu vào ma trận 2 chiều.!!!

----------

