III. Các luận điểm cơ bản và đóng góp mới của luận văn
2.11.4. Thực hiện phép lai ghép và đột biến
Bây giờ ta ghép đôi các nhiễm sắc thể đã chọn được một cách ngẫu nhiên, ta chọn các ID có độ thích nghi tốt nhất trong mỗi cặp nhiễm sắc thể đưa vào một nhiễm sắc thể, một nhiễm sắc thể còn lại là các ID máy còn lại. Như vậy, sau quá trình lai cho ta một gen trội hơn gen bố mẹ và một gen chứa toàn các
nhiễm sắc thể xấu. Quá trình lai như vậy đảm bảo các gen tốt được giữ lại, đồng thời đảm bảo tính đa dạng quần thể được đảm bảo qua các đời.
Thực hiện phép đột biến bằng cách phát sinh với tỉ lệ đột biến là pm, số thành phần được đột biến là [pm*m*n], với mỗi lần đột biến, để xác định vị trí ID máy đột biến ta gieo một số ngẫu nhiên từ 1 đến m*n, số phát sinh chính là vị trí của ID đột biến, với mỗi một vị trí như vậy lại gieo một số ngẫu nhiên để tìm ID máy thay thế.
Tính lại độ thích nghi của các nhiễm sắc thể. Nhiễm sắc thể tốt nhất ta giữ lại.
Bài toán dừng khi đạt số vòng lặp tối đa. Trong bài toán này ta chọn số vòng lặp là 100. Nhiễm sắc thể có độ thích nghi cao nhất trong các thế hệ chính là kết quả cần tìm.
CHƢƠNG III.
XÂY DỰNG WEBSITE BÁN HÀNG TRỰC TUYẾN.
3.1 Chƣơng trình website bán hàng máy tính xách tay có hỗ trợ ngƣời mua chọn sản phẩm.
3.1.1 Mô hình Usecase 3.1.1.1 Usecase admin 3.1.1.1 Usecase admin
Hình 3.1. Lược đồ Usecase Admin Đổi Password
Đăng nhập
Xem thông tin đơn hàng Quản lý mức giá Quản lý thông tin về sản phẩm Quản lý hãng sản xuất Quản lý loại ổ cứng Quản lý bộ nhớ Quản lý danh mục sản phẩm Admin
3.1.1.2. Usecase khách hàng
3.1.2 Mô tả các Actor
Actor Admin: Quản trị hệ thống, người duy nhất có thể thay đổi các thông tin của hệ thống, như cập nhật thông tin sản phẩm
Actor khách hàng: Hệ thống không yêu cầu mỗi khách hàng phải có tài khoản riêng. Một người dùng bất kỳ có thể vào hệ thống tìm và mua máy tính bất cứ lúc nào.
3.1.3. Hoạt động của chƣơng trình.
Chương trình quan tâm đến nhu cầu của người mua hàng. Khách hàng ngoài việc xem thông tin về sản phẩm mới nhất, sản phẩm bán chạy nhất, tìm kiếm theo danh mục sản phẩm, hãng sản xuất, loại CPU, khoảng giá, còn có thể tìm kiếm theo sở thích. Khách hàng sẽ tự lựa chọn các thông số, và hệ thống sẽ đưa ra các mặt hàng theo nhiều tiêu chí đó. Đây chính là phần sử dụng giải thuật di truyền để đáp ứng nhu cầu tối ưu đa mục tiêu của người dùng.
Ví dụ, khi ta nhập vào các thông số trọng lượng 2 kg, trọng số quan trọng 0,2; giá 12000000, trọng số quan trọng 0,4; thời gian sử dụng pin: 3 giờ, trọng số quan trọng 0,2, Ram 2 GB, trọng số 0,2; ở thế hệ đầu, ta có các thông số sau:
Hình 3.2 - Lược đồ Usecase Khách hàng Duyệt danh mục theo hãng sản xuất Thêm hàng vào giỏ Thanh toán Tìm kiếm theo sở thích Tìm kiếm Xem danh sách sản phẩm nhiều người quan
tâm nhất Xem giỏ hàng Xem thông tin chi
tiết sản phẩm Xem danh sách sản phẩm mới ra mắt Khách hàng Xem danh sách sản phẩm bán chạy nhất Đăng ký Đăng nhập Đăng xuất
- Thông số về xác suất chọn pi của các cá thể trong quần thể Bảng 3.1. Thông số về xác suất chọn pi của các cá thể trong quần thể
- Thông số về vị trí xác suất qi của các cá thể trong quần thể
Bảng 3.2. Thông số về vị trí xác suất qi của các cá thể trong quần thể Ta có kết quả sau 100 thế hệ:
Thế hệ thứ Hàm thích nghi 1 0.713245 2 0.798258 5 0.831267 10 0.849097 20 0.849134 30 0.873579 40 0.873579 50 0.873579 100 0.873579 Bảng 3.3. Hàm thích nghi của 100 thế hệ - Và kết quả trả về sau 100 thế hệ:
Hình 3.3.1: Kết quả tìm kiếm sau 100 thế hệ là 3 máy ứng với hàm thích nghi cao nhất 3 máy đó có hàm thích nghi lần lượt là: 0.873579, 0.849134, 0.849097. Khi trọng số thay đổi, hàm thích nghi cũng thay đổi theo, và kết quả trả về là khác nhau. Gọi giá trị thay đổi của các trọng số trọng lượng, giá cả, thời gian lần lượt là w1,w2, w3, thì giá trị trọng số còn lại là 1 – (w1+w2+w3+ w1+w2+ w3). Khi đó hàm thích nghi được tính lại như sau:
f= (w1+w1). (1-|p1-x1| )/x*1+ (w2+w2). (1-|p2-x2| )/x*2+(w3+w3). (1-|p3- x3| )/x*3+(1 – (w1+w2+w3+ w1+w2+ w3). (1-|p4-x4| )/x*4.
f= w1. (1-|p1-x1| )/x*1+ w2. (1-|p2-x2| )/x*2+w3. (1-|p3-x3| )/x*3 –(w1+w2+ w3). (1-|p4-x4| )/x*4
Sau mỗi một thế hệ ta lựa chọn một gen (máy) có hàm thích nghi cao nhất để lại cho thế hệ sau.
Ví dụ, ta thay đổi trọng số: tham số trước w trọng lượng=0.2, w giá =0.4, w thời gian = 0.2, w Ram =0.2, nay ta thay đổi w trọng lượng=0.1, w giá =0.3, w thời gian = 0.1, w Ram =0.5, thì kết quả trả về là 3 máy có hàm thích nghi lần lượt là: 0.976654, 0.911922, 0.699197
Hình 3.3.3. Kết quả trả về khi thay đổi trọng số
3.2. Cài đặt
Môi trường phát triển ứng dụng
Hệ thống website được cài đặt dựa trên các môi trường phát triển sau: • Môi trường cài đặt ứng dung: Visual Studio 2012.
• Ngôn ngữ sử dụng: ASP.NET
• Hệ quản trị cơ sở dữ liệu: SQL Server Giao diện chương trình
Hình 3.4. Giao diện trang chủ Giao diện trang tìm kiếm
Hình 3.5. Giao diện trang tìm kiếm Giao diện chức năng tìm kiếm theo sở thích.
Hình 3.6. Giao diện trang tìm kiếm theo sở thích. Và kết quả
3.3. Đánh giá kết quả
Ứng dụng minh họa đã cài đặt thành công, thực hiện được yêu cầu đặt ra. Thực hiện truy vấn và trả về kết quả phù hợp với yêu cầu của chương trình đã trình bày ở trên.
Hệ thống chạy chậm khi có một lượng khách hàng lớn tham gia hệ thống, vì vậy cần có biện pháp để cải thiện khả năng thực thi của chương trình. Nhưng chương trình đáp ứng được cho việc chọn sản phẩm nào phù hợp nhất với khách hàng, sản phẩm mà chính khách hàng đang tìm kiếm thông tin về nó.
Tốc độ chạy của chương trình còn phụ thuộc vào một máy tính cụ thể, do giải thuật di truyền sử dụng tương đối nhiều tính toán.
Giao diện chương trình rất thân thiện, giúp người dùng dễ dàng sử dụng.
So sánh với các trang web bán hàng trực tuyến khác
Một số trang web bán hàng trực tuyến trên thế giới, ví dụ như các trang
http://www.amazon.com, http://www.ebay.com, tại Việt Nam có http://www.vatgia.com, http://www.enbac.com, http://www.chodientu.vn,….
Các trang web này được sắp xếp khoa học và dễ tìm kiếm, các danh mục đề nghị như sản phẩm mới nhất, xem nhiều nhất, thích nhất và mua nhiều nhất. Ngoài ra, khách hàng có thể lựa chọn theo từng đặc trưng của sản phẩm.
Trang amazon.com, với chức năng tìm kiếm máy tính xách tay. Sản phẩm được phân thành 4 lựa chọn cho người dùng
Hình 3.8: Lựa chọn loại máy theo đặc thù tính chất công việc trên trang amazon.com
Hình 3.9. Danh mục mua ở tùy chọn basic.
Mỗi một sản phẩm đều được bình chọn độ yêu thích theo thang điểm 5 dựa vào số ngôi sao và 2 phần bình luận của người dùng sản phẩm, một là những ý kiến cần giúp đỡ và ý kiến đánh giá. Khách hàng có thể dựa theo các yếu tố này để lựa chọn sản phẩm.
Hình 3.10. Sản phẩm và bình luận của người dùng trên amazon.com. Đối với các trang web trong nước, tham khảo trên một số trang như vatgia.com, trananh.vn, về cơ bản, các trang đều có cách bài trí tương đối giống
nhau. Khách hàng chỉ có thể chọn từng tùy chọn, chứ không chọn được nhiều tiêu chí tại một lần nhấp chuột. Tuy nhiên, tốc độ tìm kiếm tương đối nhanh và
chính xác.
Hình 3.11. Trang lựa chọn máy tính xách tay trên vatgia.com
Hình 3.12. Trang lựa chọn máy tính xách tay trên trananh.vn
Như vậy, so sánh với các trang web hiện nay, trang web của chúng ta tiện dụng hơn vì có chức năng lựa chọn theo yêu cầu, sở thích người dùng.
So sánh với các phương pháp tiếp cận. So với phương pháp tìm kiếm tuyến tính.
Tìm kiếm tuyến tính Giải thuật di truyền
Có thể không cho kết quả Luôn cho kết quả
Với khối lượng thông tin lớn, chạy chậm
Trả về kết quả nhanh hơn
So với phương pháp hiện đại
Các cách tiếp cận hiện đại hiện nay đều mô phỏng theo tự nhiên.
Trong giải thuật luyện kim, người ta dùng kỹ thuật thay đổi entropy của hệ và điều khiển tốc độ hội tụ của quần thể bằng cách biến đổi nhiệt động học với một tham số nhiệt độ T toàn cục. Tuy nhiên, kỹ thuật luyện kim không tránh khỏi hạn chế trong việc khám phá không gian tìm kiếm và sự hội tụ địa phương (local convergent).
Giải thuật di truyền và tính toán tiến hóa kết hợp ý tưởng của giải thuật leo đồi và luyện kim. Đặc trưng của giải thuật này là duy trì một tập các lời giải tiềm năng (gọi là tập các cá thể hay quần thể), khuyến khích việc hình thành và trao đổi thông tin giữa các cá thể trong quần thể. Một quá trình tiến hóa được thực hiện trên một quần thể thực chất là sự tìm kiếm trong một không gian các lời giải tiềm năng.
Giải thuật tối ưu đàn kiến (ACO – Ant Colony Optimization) mô phỏng việc tìm kiếm đường đi ngắn nhất của đàn kiến, do Dorigo đề xuất là phương pháp tiếp cận hiện đại nhất.
Trong luận văn tôi sử dụng giải thuật di truyền, tuy chưa phải là phương pháp hiện đại nhất nhưng được đánh giá là mạnh và tương đối hiệu quả trong trường hợp không gian tìm kiếm là lớn.
PHẦN III: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
1. Kết luận
Bài toán tối ưu sử dụng giải thuật di truyền tuy không phải là một đề tài mới mẻ, với rất nhiều đề tài nghiên cứu và các nỗ lực áp dụng thực tế nhưng các áp dụng của nó vẫn ở mức rất sơ khai và vẫn chưa có một chuẩn thống nhất. Trong khuôn khổ luận văn tôi đã tìm hiểu một cách tổng quan Bài toán tối ưu đa mục tiêu và giải thuật di truyền và ứng dụng hoàn thiện vào khâu hỗ trợ người mua hàng trực tuyến lựa chọn sản phẩm.
Có rất nhiều cách tiếp cận bài toán tối ưu đa mục tiêu. Trong luận văn này tôi đã cố gắng đưa ra một cái nhìn tổng quát về bài toán tối ưu hóa đa mục tiêu và một số cách tiếp cận, trong đó tôi tập trung vào giải thuật di truyền.
2. Hƣớng phát triển
Hoàn thiện trang ứng dụng để nó có thể áp dụng một cách thực tế: giao diện thân thiện và gần gủi hơn, và giải quyết vấn đề sau khi chọn được sản phẩm thì sử dụng phương pháp nào để gửi tới khách hàng.
TÀI LIỆU THAM KHẢO
[1]. TS. Nguyễn Đình Thúc. Trí tuệ nhân tạo - lập trình tiến hóa. Nhà xuất bản Giáo dục Năm 2001.
[2]. Lê Văn Hiệp - Một lớp các phương pháp giải bài toán tối ưu nhiều mục tiêu - Luận văn Thạc Sỹ Toán Học- TP Hồ Chí Minh 2009.
[3] Nguyễn Hữu Chính- Tối ưu hóa theo thuật toán di truyền- Luận văn tốt nghiệp
[Tiếng Anh]
[4] Stephen Boyd, Lieven Vandenberghe. Convex Optimization. Cambridge University Press, 2004.
[5] Ronald John, Van Iwaarden. An Improved Unconstrained Global Optimization Algorithms. University of Colorado at Denver Press, 1996.
[6] Ulrich Bodenhofer. Genetic Algorithms: Theory and Applications. Lecture Notes Second Edition — WS 2001/2002.
[7] Mitchell Melanie. An Introduction to Genetic Algorithms. A Bradford Book The MIT Press Cambridge, Massachusetts • London, England. Fifth printing, 1999
[8]. Jochen Hansen, How new and different are consumer in the digital marketplace? The Impact of Networking,Vienna Austria, tháng 9 /2000.