TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN HỌC HỆ HỖ TRỢ RA QUYẾT ĐỊNH ĐỀ TÀI TÌM HIỂU HỆ HỖ TRỢ RA QUYẾT ĐỊNH VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ RA QUYẾT ĐỊNH BẰNG PHẦN MỀM EXSYS
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN HỌC
HỆ HỖ TRỢ RA QUYẾT ĐỊNH
ĐỀ TÀI
TÌM HIỂU HỆ HỖ TRỢ RA QUYẾT ĐỊNH
VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ RA QUYẾT ĐỊNH BẰNG PHẦN MỀM EXSYS CORVID
Thành Phố Hồ Chí Minh – 06/2014
GVHD: PGS.TS Đỗ Phúc HVTH: Lê Thị Thu Thảo MSHV: CH1301057 Lớp : CH K8 - UIT
Trang 24 Các thành phần của hệ hỗ trợ ra quyết định 4.1 Mô hình tổng quát
4.2 Phân hệ quản lý dữ liệu 4.3 Phân hệ quản lý mô hình 4.4 Phân hệ quản lý dựa vào kiến thức 4.5 Phân hệ giao diện người dùng
3 Sử dụng 3.1 Tạo biến 3.2 Tạo Logic Block 3.3 Tạo cây trong Logic Block 3.4 Thêm luật có giá trị số 3.5 Command Block 3.6 Chạy ứng dụng
1 Mô tả bài toán 20
2 Xây dựng tập luật 20
3 Danh sách biến
4 Demo ứng dụng 4.1 Màn hình hỏi đáp 4.2 Màn hình kết quả
22
22
22
24
Trang 3LỜI MỞ ĐẦU
Em xin chân thành cảm ơn thầy PGS.TS Đỗ Phúc, người đã tận
tâm truyền đạt kiến thức nền tảng, cung cấp những thông tin, tư liệu quý giá về môn Hệ hỗ trợ ra quyết định để cho em hòan thành bài thu hoạch này
Thành phố Hồ Chí Minh, Tháng 06 Năm 2014
Trang 4CHƯƠNG I TỔNG QUAN VỀ HỆ HỖ TRỢ QUYẾT ĐỊNH
1 KHÁI NIỆM
Hệ hỗ trợ quyết định là các hệ dựa trên máy tính, có tính tương tác, giúp các nhà ra quyết định dùng dữ liệu và mô hình để giải quyết các bài toán phi cấu trúc Nó kết hợp trí lực của con người với năng lực của máy tính để cải tiến chất lượng của quyết định (Ken & S Morton, 1978)
Hệ hỗ trợ quyết định nhấn mạnh vào khả năng hỗ trợ các nhà ra quyết định quản lý Như vậy, hệ hỗ trợ quyết định có ý nghĩa là một công cụ bổ trợ cho các nhà quản lý nhằm mở rộng năng lực nhưng không có nghĩa là thay thế khả năng phân xử của họ Tình huống ở đây là cần đến các phân xử của người ra quyết định hay các quyết định không hoàn toàn được giải quyết thông qua các giải thuật chặt chẽ
Thông thường các hệ hỗ trợ quyết định sẽ là các hệ thông tin máy tính hóa,
có giao tiếp đồ họa và làm việc ở chế độ tương tác trên các mạng máy tính
2 LÝ DO SỬ DỤNG HỆ HỖ TRỢ QUYẾT ĐỊNH
- Cải thiện tốc độ tính toán
- Tăng năng suất của cá nhân liên đới
- Cải tiến tiến kỹ thuật trong việc lưu trữ, tìm kiếm, trao đổi dữ liệu trong
và ngoài tổ chức theo hướng nhanh và kinh tế
- Nâng cao chất lượng của các quyết định đưa ra
- Tăng cường năng lực cạnh tranh của tổ chức
- Khắc phục khả năng hạn chế của con người trong việc xử lý và lưu trữ thông tin
Trang 5- Thiết kế (Design): Phân tích các hướng tiếp cận để giải quyết vấn đề, đáp ứng các nhu cầu, tận dụng các cơ hội , hạn chế các rủi ro
- Chọn lọc (Choice): Cân nhắc và đánh giá từng giải pháp, đo lường hậu qủa của từng giải pháp và chọn giải pháp tối ưu
- Hiện thực (Implementation): Thực hiện giải pháp được chọn, theo dõi kết quả và điều chỉnh khi thấy cần thiết
Sơ đồ mô tả quá trình ra quyết định
3.1 Giai đoạn Tìm hiểu (Intellegence)
Trong giai đoạn này, các nội dung chính cần phải thực hiện bao gồm:
- Nhận diện vấn đề (cơ hội hoặc rủi ro)
- Phân loại vấn đề
- Phân rã vấn đề: chia ra các bài toán nhỏ và đơn giản hơn
- Xác định chủ thể vấn đề: trách nhiệm giải quyết và năng lực giải quyết
- Phát biểu vấn đề chính thức
3.2 Giai đoạn Thiết kế (Design)
Ở giai đoạn Thiết kế, mục tiêu quan trọng là phải xây dựng được mô hình (model), từ đó việc thực hiện phân tích quyết định sẽ trên mô hình thay
vì trên thực tại
Mô hình (model): Là sự biểu diễn của thực tại (thường được đơn giản hóa) theo một cách nhìn nhất định
Các thành phần của mô hình:
Trang 6- Biến quyết định
- Biến kết quả
- Biến không kiểm soát
- Ngoài ra, có thể có thêm Thông số
3.3 Giai đoạn Chọn lọc (Choice)
Trong giai đoạn này, cần chú ý đến các nội dung sau:
- Hoạt động định giá (evaluation)
+ Phân tích “What-if”: Xác định điều gì sẽ xảy ra đối với giải pháp nếu một biến nào đó thay đổi
+ Dò tìm mục tiêu (goal seeking): Tính toán, định lượng các giá trị cần thiết để đạt được mức độ mục tiêu mong muốn
- Đề nghị giải pháp cho mô hình dựa trên các kết quả định giá
- Hoạch định việc thực hiện cho giải pháp đề nghị
3.4 Giai đoạn hiện thực (Implementation)
Thực hiện giải pháp được chọn, theo dõi kết quả và điều chỉnh khi thấy cần thiết
Công nghệ hỗ trợ quyết định theo giai đoạn
4 CÁC THÀNH PHẦN CỦA HỆ HỖ TRỢ QUYẾT ĐỊNH
4.1 Mô hình tổng quát
Hệ hỗ trợ quyết định bao gồm những thành phần như sau:
Trang 7Các thành phần của hệ hỗ trợ quyết định
4.2 Phân hệ quản lý dữ liệu
Gồm một cơ sở dữ liệu (database) chứa các dữ liệu cần thiết của tình huống và được quản lý bởi một hệ quản trị cơ sở dữ liệu (DBMS) Phân hệ này có thể được kết nối với kho dữ liệu (data warehouse) – là kho chứa dữ liệu của tổ chức có liên đới đến vấn đề ra quyết định
Phân hệ quản lý dữ liệu bao gồm các phần tử sau:
- Cơ sở dữ liệu
- Hệ quản trị cơ sở dữ liệu
- Danh mục dữ liệu
- Phương tiện truy vấn
Phân hệ quản lý dữ liệu
Trang 84.3 Phân hệ quản lý mô hình
Còn được gọi là hệ quản trị cơ sở mô hình (MBMS – ModelBase Management System) là gói phần mềm gồm các thành phần về thống kê, tài chính, khoa học quản lý hay các phương pháp định lượng nhằm trang bị cho
hệ thống năng lực phân tích; cũng có thể có các ngôn ngữ mô hình hóa ở đây Thành phần này có thể kết nối với các kho chứa mô hình của tổ chức hay ở bên ngoài nào khác
Phân hệ quản lý mô hình
4.4 Phân hệ quản lý dựa vào kiến thức
Có thể hỗ trợ các phân hệ khác hay hoạt động độc lập nhằm đưa ra tính thông minh của quyết định đưa ra Nó cũng được kết nối với các kho kiến thức khác của tổ chức
4.5 Phân hệ giao diện người dùng
Giúp người sử dụng giao tiếp với và ra lệnh cho hệ thống Các thành phần vừa kể trên tạo nên hệ hỗ trợ quyết định, có thể kết nối với intranet/extranet của tổ chức hay kết nối trực tiếp với Internet
Trang 9CHƯƠNG II
1 GIỚI THIỆU
Exsys Corvid là một phần mềm hỗ trợ ra quyết định Nó cung cấp tri thức
tự động sử dụng động cơ suy diễn
- Dễ dàng xây dựng các biến, tập luật, tập lệnh
- Môi trường phát triển hiệu quả
- Dễ dàng phát triển ứng dụng Web trên nền tảng Java
Các đối tượng trong Exsys Corvid:
1.1 Biến
- Static list - danh sách đa lựa chọn (ví dụ: ngày trong tuần, có / không)
- Dynamic List - danh sách đa lựa chọn với các giá trị được xác định tự động trong thời gian chạy hệ thống Các giá trị có thể đến từ các nguồn bên ngoài như cơ sở dữ liệu hoặc được thiết lập bởi hệ thống
- Numeric List: giá trị số
- String: chuỗi
- Date: giá trị ngày
- Collection: danh sách các chuỗi được xây dựng trong lúc hệ thống chạy
- Confidence: độ chắc chắn
1.2 Logic Block
Một logic block được tạo thành từ một hoặc nhiều sơ đồ cấu trúc logic Logic có thể là một cây phân nhánh phức tạp hoặc một cấu trúc đơn giản Các quy tắc trong logic lock đều có liên quan đến quyết định
Logic block Corvid cho phép các module của logic được xây dựng một cách nhanh chóng mà tự động kết hợp thông qua động cơ suy diễn lùi để giải quyết vấn đề phức tạp, lớn hơn
Cách viết logic block tốt rất dễ đọc và duy trì Xây dựng chúng đơn giản hoá việc tạo ra logic mà sẽ bao gồm tất cả các tình huống có thể và giúp giới chuyên gia mô tả đầy đủ quá trình ra quyết định của họ
1.3 Metablocks
Logic block cũng hỗ trợ metablocks, cung cấp cách thức xây dựng tập lệnh được lưu trữ trong một bảng tính hoặc file XML MetaBlocks cung cấp
Trang 10một cách có hiệu quả trong việc xếp hạng và lựa chọn giữa một nhóm các công việc dựa trên tiêu chuẩn người dùng
- Cài đặt Apache Tomcat
- Cài đặt Exsys Corvid
2.1 Cài đặt Apache Tomcat
Tomcat yêu cầu cài đặt Java
2.1.1 Cài đặt Java
1 Kiểm tra trong folder “Program Files” hoặc “Program Files (x86)” xem
có folder “Java\ jre#” chưa nếu có thì Java đã được cài đặt trên máy tính rồi (# là phiên bản của java, yêu cầu java7 trở lên)
2.1.2 Cài đặt Apache Tomcat
1 Cài đặt Apache Tomcat theo URL: http://tomcat.apache.org
2 Trên cửa sổ Tomcat Welcome, dưới “Downloads” chọn “Tomcat 7.0”
3 Trong “Binary Distributions” chọn “32-bit/64-bit Windows Service Installer”
Trang 114 Cài đặt mặc định: chọn Next ở các màn hình tiếp theo
2.2 Cài đặt Exsys Corvid
- Cài đặt phiên bản dùng thử 30 ngày theo URL:
Trang 12- Thêm biến: click New
+ Name: nhập tên biến + Type: chọn kiểu biến
- Thẻ Prompt: nhập câu hỏi
- Thẻ Static List: Nhập giá trị của biến vào ô Value Add to List
Trang 133.2 Tạo Logic Block
- Chọn nút
- Thêm nút IF vào Block:
+ Click Add + Chọn biến chọn giá trị của biến Add to List Done
- Thêm nút THEN vào Logic block:
+ Chọn node muốn thêm node Then trong group THEN chọn Variable
Trang 14+ Chọn biến nhập giá trị biến vào hộp value Add to List
+ Done
Trang 153.3 Tạo cây trong Logic Block
B1: tạo logic block
- Tạo block mới Add chọn biến muốn tạo logic block Chọn Add Each Individually để gán giá trị tự động cho mỗi biến
- Thêm nút con (IF lồng):
+ Chọn node muốn tạo nút con Below
+ Chọn biến Chọn Add Each Individually
Trang 163.4 Thêm luật có giá trị số
expression nhập biểu thức số “Add to List” Done
- Trong cửa sổ logic block chọn node muốn thêm node con
“ Variable” thêm các giá trị cho các biến Done
- Thêm node con cùng cấp: trong cửa sổ logic block chọn node muốn thêm "Same Level - Below" thực hiện tương tự trên
Trang 173.5 Command Blocks
Hệ thống Corvid phải có Command Block để điều khiển hệ thống
Có 2 loại lệnh:
- Control Commands: lệnh điều khiển IF, WHILE, FOR và vòng lặp
- Operational Commands: lệnh thao tác để thực hiện 1 hoạt động cụ thể (Add)
Trang 18+ Assigns a value to a variable: Gán giá trị cho một biến, khởi tạo biến
+ Derive the value of a Variable Using Backward Chaining: tìm giá trị cho một biến sử dụng động cơ suy diễn lùi + Asks the user for the value of a variable: Yêu cầu người dùng nhập giá trị của biến
- Chọn Derive the value of a Variable Using Backward Chaining All Confidence variables Ok
Trang 19- Chọn Add Below để thêm lệnh
- Xuất hiện cửa sổ Command Chọn thẻ Results
- Chọn Display Default Results Screen OK
3.6 Chạy ứng dụng
- Chọn
Trang 20CHƯƠNG III XÂY DỰNG ỨNG DỤNG
1 MÔ TẢ BÀI TOÁN
Bài toán được xây dựng nhằm hỗ trợ người lái xe (xe hơi) chọn ra được con đường đi tốt nhất từ nhà đến nơi làm việc Có 3 cách chọn lựa như sau:
- Highway (đường cao tốc): Đây là cách đi nhanh nhất khi không có kẹt
xe Nếu có kẹt xe thì sẽ rất chậm Không có bất kỳ trạm xăng nào trên đường này
- City Streets (đường phố): Đây là cách đi chậm nhất nhưng rất đáng tin cậy Có rất nhiều trạm xăng và thậm chí nếu có kẹt xe thì cũng sẽ có rất nhiều con đường để đi
- Coastal Road (đường ven biển): Đây là một con đường có nhiều cảnh đẹp chạy dọc theo bờ biển Rất tuyệt vời nếu lái xe trong thời tiết tốt, nhưng sẽ rất khó khăn nếu thời tiết xấu hoặc đi vào ban đêm Không
có bất kỳ trạm xăng nào trên đường này Thời gian đi đường ven biển bằng với thời gian đi đường phố Thực tế, đây là đường đi được nhiều người yêu thích
Bản đồ đường đi
2 XÂY DỰNG TẬP LUẬT
2.1 Luật 1: City Streets là con đường duy nhất có trạm xăng
Nhiên liệu tiêu thụ tối thiểu để đi từ nhà đến nơi làm việc trên bất
kỳ tuyến đường nào là 2 gallons xăng
Trang 21IF Amount_of_gas < 2 THEN
City Streets = 100 Highway = -100 Coast Road = -100
IF Amount_of_gas >= 2 THEN
City Streets = 10 Highway = 10 Coast Road = 10
2.2 Luật 2: Nếu lái xe trong điều kiện thời tiết xấu thì Coast Road rất khó đi,
không nên đi đường này
IF you need to get to work quickly THEN
Coast Road = -100
2.3 Luật 3: Highway là con đường nhanh nhất để đi nếu bạn đang vội Tuy nhiên,
nếu có kẹt xe thì nó là con đường chậm nhất
IF Need to get to work quickly: YES Traffic problems on highway: NO THEN
Highway = 20
IF Need to get to work quickly: NO THEN
Highway = 20
IF Need to get to work quickly: YES Traffic problems on highway: YES THEN
Highway = -100
2.4 Luật 4: Nếu có nhiều thời gian thì Coast Road là đường đi thú vị nhất
IF Need to get to work quickly: NO THEN
Coast Road = 20
Trang 222 Traffic_on_highway Static List Yes
No
Are there traffic problems on the highway?
3 Get_to_work_quickly Static List Yes
No
Do you need to get to work quickly?
4 Amount_of_gas Number >0 Amount of gas
5 Time_of_day Static List Daytime
Nighttime
The time of day is
6 Weather Static List
Clear Raining Snowing Foggy
The current weather is
7 Snow_on_road Static List Yes
No
Is there snow
or ice on the road?
8 Highway Confidence -100100 Go to work via
the Highway
Hệ số chắc chắn CF
9 City_Streets Confidence -100100 Go to work via
the City Streets
Hệ số chắc chắn CF
10 Coast_Road Confidence -100100 Go to work via
the Coast Road
Hệ số chắc chắn CF
Trang 244.2 Màn hình kết quả
Hệ thống suy diễn dựa trên các câu hỏi trả lời của người dùng và đưa ra lời khuyên
Trang 25CHƯƠNG IV
KẾT LUẬN
Với mức độ tìm hiểu và nghiên cứu về đề tài “Tìm hiểu hệ hỗ trợ ra quyết định và xây dựng ứng dụng hỗ trợ ra quyết định bằng phần mềm Exsys Corvid” chỉ là mức độ tìm hiểu và khái quát, nhằm thấu hiểu về hệ hỗ trợ ra quyết định
do đó chắc chắn còn nhiều sai sót và hạn chế
Trên cơ sở nghiên cứu của đề tài, có thể xây dựng các ứng dụng thực tế khác bằng phần mềm Exsys Corvid để hỗ trợ việc ra quyết định dễ dàng, chính xác
Trang 26TÀI LIỆU THAM KHẢO
[1] PGS TS Đỗ Phúc, Tập bài giảng môn Hệ hỗ trợ ra quyết định, Trường