Xác định bài toán

Một phần của tài liệu Tiểu luận môn hệ hỗ trợ quyết định TÌM HIỂU PHƯƠNG PHÁP XỬ LÝ PHÂN TÍCH TRỰC TUYẾN VÀ ÁP DỤNG XÂY DỰNG HỆ HỖ TRỢ QUYẾT ĐỊNH (Trang 61)

Nhưởtrên đã nêu, nhiệm vụcủa ta là xây dựng các thuậttoán đểchọn các View và Index cụthểđểtrảlời cho những câu truy vấn đối với một Data Cube cho trước. Ta có thểphát biểu một cách không hình thức: cho trướcmột tập các View, mỗi View lạixác định một tập các Index và một tập các câu truy vấn mà hệ thống cần phảitrảlời. Mục đích của ta là chọn View và Index trong sốđó đểcó đượccâu trảlời cho các câu truy vấn với phí tổn thấp nhất với một điều kiện ràng buộc là tập các View và tập các Index không chiếm nhiều không gian hơn một không gian cho trướcS, đây là bài toán NP_đầy đủ.Do vậy đểgiảiquyếtđượcbài toán trên, ta phảixây dựng những thuật toán có tính Heuristic, nhưng phảiđảmbảo thuậttoán thực hiện hiệu quả.

Trướctiên chúng ta tiến hành hình thức hóa bài toán nêu trên. Xét đồ thịlưỡng phân, G = (V ∪ Q, E) đượcgọi là đồthịcâu truy vấn - khung nhìn (Query - View Graph), V là tập các View còn Q chứa các câu truy vấn. Với mỗi vi∈V xác định tương ứng một bộ(Si, Ii) trong đó Si là không gian mà vi

chiếm và Ii là tập các chỉsốtrên vi. Ký hiệu Iik là chỉsốthứk của vi.

• Với mỗi qi∈Q xác định tương ứng phí tổn Ti trảlời cho câu truy vấn qi. • Mỗi cạnh (qi, vj) có nhãn đượcgán tương ứng là (k, tijk), trong đó tijk là

phí tổn câu trảlời cho câu truy vấn qi sửdụng View vj và chỉsốthứk của nó. Khi k = 0, tijk là phí tổn của câu trảlời cho qi mà chỉsửdụng vj.

Bài toán: Cho tập các View V và tập các câu hỏi Q, cần xác định M ⊆ V, tập các View và các chỉsốcụthểsao cho không gian mà các View và các chỉsốđó chiếm không vượtquá S (không gian giới hạn) đồng thời với cách chọn M cũng đảmbảo đượccực tiểu hóa phí tổn toàn bộđểcó đượccâu trả lời cho câu truy vấn Q từmột trong các View của M.

Nghĩalà ta cần cực tiểu hóa đạilượng sau sao cho tổng không gian mà các cấu trúc đượclựa chọn từM nhỏhơn S:

|Q|

τ(G , M ) =∑min(Ti ,min tijk) (**)

i=1

V j, I jkM

Bài toán trên dễdàng tổng quát hóa thành bài toán xác định các View và Index trong Data Cube.

3.4.2.4. Giải quyếtbài toán

Trướctiên chúng ta hãy định nghĩamột sốký hiệu. C - tệp bấtkỳcác View và Index trong đồthịG. S(C) là không gian các cấu trúc chiếm trong C. B(C,M) là sinh lợi của C so với M và: B(C,M) = τ(G, M) - τ(G, M ∪ C); B(C, ∅) là sinh lợi tuyệtđốicủa C.

a. Thuậttoán r - cấu trúc

Cho trước: Đồthịcâu hỏi - khung nhìn G Không gian hạn chếS BEGIN

M = ; /* M = tập các cấu trúc đã đượcchọn */ While (S(M) < S)

BEGIN

Tìm tất cảcác tập View và Index của một trong các dạng sau: {vi, Iij1, Iij2, ..., Iijp} sao cho viM,IijlM với 1 ≤l, 0 ≤p < r

hoặc

{Iij} sao cho vi ứng với IijM và IijM.

Chọn C là một trong sốcác tệp trên mà sinh lợi vềkhông gian so với M là cực đại.

ĐặtM = M

C; END while Return M; END;

Thuậttoán r - cấu trúc thực hiện trong một sốbướcmà mỗi bướcthì chọn tập con của C chứa nhiều nhấtr cấu trúc. C là tập hợp gồm:

• Một View và một sốchỉsốtương ứng của nó hoặc • Một chỉsốmà View đã đượcchọn ởbướctrước.

Vấn đềchính của thuậttoán là chọn C ởmỗi bướcsao cho sinh lợi của nó so với M là cực đại.

Đánh giá thuậttoán: Giảthiếtcó n View trong Data Cube và mỗi View có nhiều nhất1 chỉsố. Khi đó thuậttoán r - cấu trúc phảithực hiện ởmỗi bướccần tính toán sinh lợi của n*1+n* (1/r-1) tập hợp. Nhưvậy độphức tạp của thuậttoán 1 sẽlà θ(kmr) trong đó m là sốcấu trúc cho trướccủa đồthịG và k là sốcấu trúc đượcchọn trong thuậttoán, trường hợp xấu nhấtlà bằng S.

b. Thuậttoán tổng quát

Cũng nhưtrên, mỗi bướccủa thuậttoán cần chọn một tập con C bao gồm:

• Một View và một sốchỉsốđượcchọn không bịhạn chếvềsốlượng hoặc • Một chỉsốmà View tương ứng đã đượcchọn ởbướctrước. (adsbygoogle = window.adsbygoogle || []).push({});

Cần lưu ý là kích thướccủa C sẽkhông bịgiới hạn bởi r nhưthuậttoán trên. Mỗi bướccủa thuậttoán phảithực hiện hai phần:

• Với mỗi View vi chúng ta xây dựng tập IGi mà lúc đầuchỉchứa vi. Sau đó bổsung thêm dần các chỉsốvào IGi cho đếnkhi sinh lợi vềkhông gian của IGi, tập các cấu trúc đã đượcchọn đạttới cực đại.

• Tiếp theo là chọn chỉsốIndex mà sinh lợi vềkhông gian của View tương ứng so với M đạtđượccực đại.

So sánh sinh lợi trên với sinh lợi của C với M, cái nào tốt hơn thì bổ sung vào M.

Thuậttoán này đượcmô tảhình thức nhưsau:

Cho trước: Đồthịquery - view G Không gian khống chếS BEGIN M = ; /* M = tập các cấu trúc đã đượcchọn */ While (S(M) <S) BEGIN

C = ; /* tập tốt nhất chứa View và một sốIndex cho thời điểm xét */ For viM ∩ Vi

BEGIN

IG = {vi}; /* IG = tập chứa vi và các cấu trúc chọn ra */ While (S(IG) < S)

BEGIN

IG = IG

Iic; END while;

If (B(IG,M)/S(IG) > B(C,M)/|C| or C= then C = IG; END for

For Iij mà viM

If (B(Iij,M)/S(Iij) > B(C,M)/S(C) then C = {Iij}; M = M C;

END while Return M; END;

Đánh giá thuậttoán: Độphức tạp của thuậttoán là θ(k2mr), trong đó m là tổng sốcấu trúc của đồthịG và k là sốcấu trúc cực đạiđểhợp với không gian S, trường hợp xấu nhấtlà bằng S.

3.3.5 Kết luận

Việc thực hiện các câu hỏi theo OLAP phụthuộc rấtnhiều vào việc tạo lập bảng tổng hợp theo các View trong các kho dữ liệu. Đểtăng hiệu quảxử lý các câu hỏi, chúng ta có thểsửdụng chỉsốhóa (Index) trên các khung nhìn (View). Hai thuậttoán trên mô tảcách chọn các View (hay Subcube) và xác đinh chỉsốIndex cần phảitính toán trướcđểtăng hiệu quảxử lý các câu hỏi OLAP đối với kho dữ liệu.

Chương IV. Hệ trợ giúp quyết định dựa vào dữ liệu 4.1. Hệ trợ giúp quyết định

4.1.1. Giới thiệu

Ngay từnhững năm 60 của thếkỷtrước, việc sửdụng các phương tiện tin học đểtổ chức và khai thác các CSDL đã đượctập trung nghiên cứu phát triển. Kểtừđó rấtnhiều CSDL đã đượctổ chức, phát triển và khai thác ởmọi qui mô và ởkhắp các lĩnh vực hoạt động của con ngườivà xã hội. Nhiều hệ quản trịCSDL mạnh với các công cụphong phú và thuận tiện đã giúp cho con ngườikhai thác có hiệu quảcác nguồn tài nguyên dữ liệu. Mô hình CSDL quan hệvà ngôn ngữvấn đáp chuẩn (SQL) đã có vai trò hếtsức quan trọng trong việc tổ chức và khai thác các CSDL đó.

Giai đoạn này là thời kỳcủa kỹthuậtthu thập dữ liệu, tiếp đó là thời kỳ của kỹthuậttruy nhập dữ liệu với những ứng dụng tập trung xử lý dữ liệu và thông tin theo các thủtục có cấu trúc nhằm hỗ trợđiều khiển, dự báo và giám sát công việc. Đầuthập kỷ70 của thếkỷtrướcmột loạihình ứng dụng mới ra đời,đó là Hệ trợ giúp quyết định (DSS) nhằm mục đích hỗ trợcác nhà quản lý cấp cao và ra quyết định điều hành.

Khái niệm Hệ trợ giúp quyết định đượcScott Morton đưa ra đầunhững năm 70 với thuật ngữHệ thống hỗ trợquản lý (MSS). Hệ thống đượcxác định nhưsau “Hệ thống dựa trên sựtương tác máy tính, giúp người ra quyết định dùng các dữ liệu và mô hình đểgiảicác bài toán không có cấu trúc - những bài toán mờ, phức tạp với lời giảikhông hoàn chỉnh”. Theo Gorry và Scott Morton, các vấn đềxử lý có thểđượcphân chia thành có cấu trúc, nửa cấu trúc và không có cấu trúc. Trong đó các Hệthông tin quản lý (MIS) được dùng đểgiảiquyếtloạibài toán thứnhấtcòn lớp các bài toán thứhai và thứ ba là phạm vi giảiquyếtcủa Hệ trợ giúp quyết định và Hệchuyên gia.

Hệ trợ giúp quyết định là những hệứng dụng xây dựng trên máy tính nhằm giảiquyếtcác bài toán, các vấn đềcó cấu trúc kém. Vai trò chính của Hệ trợ giúp quyết định là nhằm mục đích giúp các nhà ra quyết định giải quyếtnhững vấn đề trong những hoàn cảnh chưa đượcđịnh nghĩarõ ràng, các nhà ra quyết định có thểchưa biếtrõ vấn đềcũng nhưgiảipháp, tiêu chuẩn đánh giá sựthành công của lựa chọn.

Sựra đờicủa Hệ trợ giúp quyết định đánh dấu bướcphát triển quan trọng trong lĩnh vực ứng dụng tin học trong quản lý và điều hành công việc. Kểtừđó nó đã không ngừng đượcnghiên cứu và phát triển cảvềlý thuyếtvà thực tếtriển khai ứng dụng. Hệ trợ giúp quyết định tỏra có một thếmạnh nổi trội, rất cần thiết cho lãnh đạovà quản lý khiến nhiều tổ chức quan tâm nghiên cứu đầutưxây dựng và phát triển.

4.1.2. Hệ trợ giúp quyết định

Hệ trợ giúp quyết định ban đầurấtthô sơ, đượcphát triển từcác phần mềm bảng tính. Các Hệ trợ giúp quyết định sau đó sửdụng các mô hình tối ưu của việc nghiên cứu các hoạt động nghiệp vụvà khoa học quản lý (OR/MS), sửdụng các kỹthuậtnhưqui hoạch tuyến tính. Phân tích “What if” đã trởnên đặcbiệt phù hợp với các mô hình OR. Sửdụng cách tương tác “fron_ends”, những ngườilàm quyết định có thểkhám phá ra các khả năng và những gợi ý tốt hơn là những phán đoán cảm tính trong việc ra quyết định.

Hệ trợ giúp quyết định trởnên tinh thông hơn khi sửdụng các kỹthuật trí tuệnhân tạo. Những hệ thống này có thểđượcxem nhưnhững hệ thống dựa trên tri thức (Knowledege-Based Systems).

Với mục đích là làm nhưthếnào đó đểcó thểgiúp nguời sửdụng thực hiện các phân tích nhằm đềxuấtđượccác quyết định cần thiết, chúng ta có thểquan niệm rằng bấtcứloạihệ thống nào tuân thủmột mô hình tổ chức và xử lý riêng biệtcủa nó mà có thểTrợ giúp việc ra quyết định thì đềuđượcxem (adsbygoogle = window.adsbygoogle || []).push({});

là một Hệ trợ giúp quyết định.

Các loạiHệ trợ giúp quyết định truyền thống nhưsửdụng bảng tính, tối ưu toán học, phân tích sốhay mô hình mô phỏng sẽvẫn tiếp tục phát huy đượctác dụng trong việc giảiquyếtnhiều vấn đề.Tuy nhiên những ngườilàm những công việc sửdụng tri thức trong doanh nghiệp ngày càng yêu cầu hệ thống

phảibiếtnhiều hơn và phảilàm đượcnhiều hơn trong việc truy xuất, tổng hợp và phân tích thông tin. Họsẽcàng ngày càng phụthuộc nhiều hơn vào hệ thống đểcó thểra các quyết định nhanh chóng với độtin cậy cao hơn. Đây là xu hướng phát triển của hệ thống thông tin nói chung và của Hệtrợ giúp quyết định nói riêng.

4.1.3. Phân loại các Hệ trợ giúp quyết định

Hình 4.1. Phân loạicác Hệthông tin quản lý

• Hệxử lý tác vụ: mục đích chính của các Hệxử lý tác vụlà giữcho việc ghi nhận các giao tác đượcchính xác. Hệ thống này được xây dựng chỉ có thểlàm ra những quyết định đơngiản trong việc xác định dữ liệu đượcghi nhận là có hợp lệhay không. Hệxử lý tác vụlàm công việc hợp lệhoá trướckhi ghi nhận giao tác đểCSDL đượcsạch hơn.

• Hệ trợ giúp quyết định: bao gồm những hệ thống đượcthiếtkếđểtrợ giúp các nhà quản lý ra quyết định. Khác với Hệxử lý tác vụphục vụ cho các hoạt động hàng ngày, một Hệ trợ giúp quyết định phục vụcho những mục tiêu dài hạn hơn và có thểcần đếnmột vài ý kiến, phán đoán đóng góp từcác chuyên gia. Nhu cầu cần thiết thêm các phán đoán của con ngườisẽnhiều hơn nếu bài toán đặtra không có cấu trúc chặtchẽ,khiến cho hệ thống khó có thểnắm bắtđượctấtcảnhững sắc thái của tình huống tạo ra quyết định.

Hiện nay Hệ trợ giúp quyết định có thểđượcchia thành hai hướng cơ s bản. Hướng đầutiên dựa vào mô hình theo xu hướng của các Hệ trợ giúp quyết định cũ. Giá trịcủa hệ thống này là ởchấtlượng của mô hình của nó. Khả năng phân tích của nó đượcdựa trên một lý thuyếthay trên một mô hình mạnh cùng với một giao diện tốt đểlàm cho mô hình dễsửdụng.

LoạiHệ trợ giúp quyết định thứhai là loạiHệ trợ giúp quyết định dựa vào dữ liệu. Giá trịcủa hệ thống này là ởkhả năng tổ chức một lượng lớn dữ liệu và khả năng tổng hợp, phân tích dữ liệu của nó. Với sự phát triển cao của các kỹthuậtmạng và CSDL, Hệ trợ giúp quyết định hướng theo dữ liệu là một thành tựu lớn. Đây là một bướcngoặtthú vịtừtiếp cận truyền thống sang tiếp cận mới, trong đó cấu trúc và dữ liệu tách nhau ra và đượctổ chức động trong kho dữ liệu, phản ánh bướctiến quan trọng vềCSDL tương tác của các Hệ trợ giúp quyết định. Với tiếp cận mới này, dữ liệu đóng vai trò cung ứng và là động lực cho một Hệ trợ giúp quyết định đưa ra những thông tin cần thiếtkhác. Tuy nhiên dữ liệu được thu thập từnhiều nguồn rấtđa dạng và người sử dụng sẽkhó khăn với khối lượng dữ liệu phức tạp. Vì vậy yêu cầu lớn nhấtđặtra với Hệ trợ giúp quyết định loạinày là khả năng xử lý, phân tích đểphát hiện đượcnhững thông tin bổích từcác kho dữ liệu đó.

4.1.Hệ trợ giúp quyết định dựa vào dữ liệu

4.2.1. Tiếp cận kho dữ liệu và OLAP

Hoạt động xử lý thông tin có thểđượcphân thành hai loại: phân tích tác vụ(Operations Analysis) và phân tích hướng quyết định (Decision Oriented Analysis). Kho dữ liệu (Data Warehouse) và OLAP có thểđượcxem nhưlà các thành phần của hoạt động xử lý thông tin hướng quyết định dựa trên phân tích (Analysis Based Decision Oriented Information Processing). Trong đó, kho dữ liệu đóng vai trò cung cấp dữ liệu và OLAP đóng vai trò phân tích, khai thác các dữ liệu này. Nói một cách khác, đểcó thểTrợ giúp quyết định dựa vào dữ liệu cần xây dựng hai thành phần quan trọng là kho dữ liệu và OLAP.

Đểcó khả năng cung cấp những dữ liệu quyết định cho những người ra quyết định, cần sửdụng một cách lưu trữdữ liệu cho phép họquản lý, khai thác dữ liệu một cách dễdàng. Cách lưu trữdữ liệu kiểu này là kho dữ liệu. Một kho dữ liệu là một CSDL đượcthiếtkếđểtrảlời các câu hỏi. Nó là nơi chứa nhiều loạidữ liệu từcác nguồn khác nhau (các hệ thống xử lý tác vụ). Dữ liệu từnhững nguồn này đượcchuyển dịch vào trong kho dữ liệu, được đánh chỉmục và đượckết nối lạiđểcó thểđượctruy xuấtnhanh chóng và dễ dàng hơn, phục vụcho các ứng dụng Trợ giúp ra quyết định. Vềtrực giác, kho dữ liệu đượchiểu nhưlà một kho dữ liệu ổn định, phản ánh hoạt động của một đơnvịtrong quá khứ.

Một khi dữ liệu đã được thu thập, người sử dụng còn cần có một phương cách tốt đểdễdàng khai thác chúng nhằm truy xuấtđượccác mẫu dữ liệu mà họquan tâm. Hệ thống OLAP giúp cho họlàm điều này. Có vài cách tiếp cận khác nhau tới việc biểu diễn OLAP, nhưng chung nhấtlà tiếp cận lưu trữdữ liệu đa chiều. Biểu diễn này cho ta một ma trận đượcđịnh chiều của các ô. Sẽcó các ô chứa dữ liệu nhập từngoài (các phần tửdữ liệu cơsở) và

các ô còn lạisẽđượctính toán từcác tiến trình gộp và chuyển dịch dữ liệu. Hệ thống OLAP là một hệ thống quản lý dữ liệu giàu năng lực, nó cho phép người sử dụng cắtlát dữ liệu theo nhiều khía cạnh khác nhau. Nếu ngườisử dụng cần

thiếtquan tâm chi tiếthơn vềmẫu dữ liệu nào đó, họcó thểkhoan sâu xuống (Drill_down) chi tiếtcủa dữ liệu. Hệ thống OLAP cho phép người sửdụng “tiến sâu” vào dữ liệu và khám phá chúng ởnhiều mức. Ngườisử dụng có thểtruy xuấtđượcnhững dữ liệu cần thiếtmột cách nhanh chóng và dễdàng mà không cần thực hiện lạicông việc lập trình. Các yêu cầu chức năng chính của một hệ thống OLAP là: truy xuấtvà tính toán nhanh, có khả năng phân tích mạnh, linh

hoạt(phân tích linh hoạt, giao diện linh hoạt, hiển thị dữ liệu linh hoạt) và hỗ trợnhiều người sử dụng. Cũng như các hệ thống thông tin khác, các hệ thống OLAP vẫn yêu cầu phảicó các chức năng như: sựchính xác và thích hợp với thời gian. Tuy nhiên chúng lạilà các hệ thống duy nhấtcốgắng cung cấp thêm các chức năng đặcbiệtquan trọng đó là khả năng truy xuấtnhanh, linh hoạt, thuận tiện tới sốlượng lớn các dữ liệu được phát sinh từcác nguồn dữ liệu nhập có thểthay đổithường xuyên và hỗ trợ nhiều người sử dụng.

OLAP nhắm tới việc đáp ứng xu hướng gia tăng sốlượng và Sự phức tạp của các dữ liệu cần thiếtcho việc ra quyết định, tới việc gia tăng sốngười đang sửdụng một nguồn dữ liệu góp chung, tới việc gia tăng sốlượng công việc cần thiếtra các quyết định không theo kếhoạch và tới sựgia tăng việc phân phối dữ liệu và xử lý liên quan đếnmột truy vấn.

Tóm lại, muốn có khả năng cùng lúc nhìn vào nhiều CSDL khác nhau qua việc kết hợp dữ liệu của chúng đểlàm cho chúng có thểđượctruy vấn dễ dàng hơn thì kho dữ liệu là một lựa chọn tốt. Nếu chúng ta muốn cung cấp cho người sử dụng khả năng phân tích dữ liệu nhanh chóng và phong phú thì giảipháp OLAP là thích hợp.

Sau đây là sơđồvề hệ thống kho dữ liệu và OLAP: Đầutiên dữ liệu từ các nguồn dữ liệu từxa khác nhau (của các hệ thống xử lý tác vụ) đượcnạp vào. Trong quá trình nạp, dữ liệu cần đượcđổisang dạng chung nhất, được làm sạch và

đượcchuyển dịch thành những kếtquảgộp tương đốicó thểhữu dụng cho việc phân tích. Cuối cùng dữ liệu đượcđặtvào kho dữ liệu và được đánh chỉmục đểcó

thểtruy xuấtnhanh chóng. Một khi dữ liệu đã ởtrong kho dữ liệu, xử lý OLAP trởnên quan trọng cho việc trảlời các truy vấn. Các hệ thống OLAP cho chúng ta khám phá dữ liệu trong những cách hướng tới việc ra quyết định. Các hệ thống

Một phần của tài liệu Tiểu luận môn hệ hỗ trợ quyết định TÌM HIỂU PHƯƠNG PHÁP XỬ LÝ PHÂN TÍCH TRỰC TUYẾN VÀ ÁP DỤNG XÂY DỰNG HỆ HỖ TRỢ QUYẾT ĐỊNH (Trang 61)