SỬ DỤNG HỆ HỖ TRỢ RA QUYẾT ĐỊNH TRONG BÀI TOÁN BÁN HÀNG TRỰC TUYẾN
3.6.6 Các cải tiến để phù hợp với bài toán.
3.6.6.a Mô tả cấu trúc gene của thuật giải di truyền
Do nhu cầu của bài toán (cần trả về một tập lớn hơn 1 lời giải tối ưu) nên mỗi gen sẽ được biễu diễn bằng một mảng các định danh của các lời giải trong
trong cơ sở dữ liệu). Số lời giải trả về có thể phụ thuộc vào mong muốn của người dùng (nhưng phải lớn hơn 1, không ai lại muốn không tìm thấy sản phẩm nào).
Mô tả một gen:
Trong đó n là số kết quả mà người dùng mong đợi được trả về. Kết quả tốt nhất mà ta mong đợi để chọn đó là gen mà tất cả các ID trong gen đều nằm trên miền tối ưu Pareto hoặc tồi hơn có thể có một số ID thuộc Pareto và một số ít hơn nằm gần miền Pareto. Trường hợp không thành công là không có ID nào thuộc miền Pareto lúc này thuật giải chưa được hội tụ, hoặc hội tụ quá sớm gây ra tối ưu cục bộ.
Hình 4.6 : Các trạng thái gen trong quần thể.
3.6.6.b Vai trò của các thao tác chọn lọc, lai ghép, đột biến trên quần thể Chọn lọc: Quá trình này nhằm mục đích loại bỏ khỏi quần thể những gen chứa các lời giải xấu (những lời giải nằm xa miền tối ưu Pareto) (xem hình trên). Tuy nhiên vấn đề cần quan tâm ở đây đó là bảo toán tính tốt và tính đa dạng của
quần thể. Khi loại bỏ các gen xấu chúng ta có thể loại bỏ luôn cả các lời giải tốt (hoặc tương đối tốt) tồn tại trong gen.
Lai ghép: Đây là một quá trình tự nhiên trong đó các nhiễm sắc thể giữa 2 gen sẽ được hoán đổi cho nhau. Nhiệm vụ chính của nó là làm tăng tính đa dạng của quần thể, với hi vọng các gen tốt hơn sẽ được tạo ra.
Chúng ta cần một số cải tiến để bảo đảm rằng các gen đời sau sẽ tốt hơn đời trước. Bởi vì độ tốt của một gen được xác định bằng tổng độ tốt của mỗi nhiễm sắc thể (gen nào có nhiều nhiễm sắc thể (NST) trên miền Pareto, hoặc gần miền Pareto hơn thì gen đó tốt hơn). Nên khi lai ghép ta sẽ chuyển các NST tốt của một gen (bố hoặc mẹ) vào gen của người còn lại. Như vậy sau khi lai ghép sẽ tạo ra một gen hoàn toàn trội hơn 2 gen bố mẹ, và một gen sẽ chứa toàn những tính xấu. Khi đó trong quá trình chọn lọc ta chỉ giữ lại một gen con tốt vừa được tạo ra và một gen (bố hoặc mẹ) tốt hơn. Khi đó ta sẽ vừa bảo đảm các nhiễm sắc thể tốt sẽ không bị “vô tình” loại bỏ và tính đa dạng của quần thể cũng vẫn được bảo tồn qua các đời.
Hình 4.7: Lai ghép.
Đột biến: Vai trò của thao tác đột biến là để tránh tối ưu hóa cục bộ (các gen chưa tiến đến được miền Pareto). Qua thao tác đột biến chúng ta sẽ đưa các lời giải tốt hơn vào không gian quần thể của thuật giải di truyền.
Hình 4.8 : Đột biến.
3.6.6.c Hàm thích nghi
Hàm thích nghi của mỗi sản phẩm sẽ có dạng như sau:
F= fpi( ) + fc( ) trong đó fpi(x) là hàm mục tiêu của thuộc tính về chất lượng thứ i (người mua quan tâm đến k thuộc tính-ngoài giá).
fc(x) hàm mục tiêu về giá.
Một sản phẩm tốt khi có giá trị hàm thích nghi lớn hơn.Khi thuật giải cố gắng tối đại hóa hàm thích nghi, thực chất là đang điều hướng các sản phẩm về miền tối ưu Pareto.
Để kết hợp cả 2 giai đoạn điều hướng chúng ta có thể kết hợp cả 2 cách dùng hướng mục đích và trọng số quan trọng vào cùng một hàm mục tiêu như sau:
fpi( ) = wi(1 - | pi - xi | /xi* ) và fc( ) = wc(1 - |pc - c|/c* )
Trong đó wilà độ quan trọng của thuộc tính i.
pilà giá trị mà người dùng mong đợi ở thuộc tính i.
xi là giá trị của thuộc tính i
xi* là giá trị tối đa mà thuộc tính i có thể có được.
c* là giá tiền tối đa mà một sản phẩm có thể có.