Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
177,49 KB
Nội dung
Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ********** Tiểu Luận Môn Học BIỂU DIỄN TRI THỨC VÀ SUY LUẬN Đề tài : ỨNG DỤNG MẠNG SUY DIỄN - TÍNH TOÁN CHO BÀI TOÁN NHẬN DẠNG MẬT KHẨU Giảng viên : PGS.TS ĐỖ VĂN NHƠN Học viên : Nguyễn Tuấn An – CH1301001 THÀNH PHỐ HỒ CHÍ MINH 2014 1 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn 2 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Chương 1 TỔNG QUAN * Khái niệm tri thức (knowledge): Sự “hiểu biết” của người trong một phạm vi, lĩnh vực nào đó; được xem xét theo các mục tiêu hay các vấn đề nhất định. * Vấn đề biểu diễn tri thức: Xây dựng mô hình biểu diễn tri thức để đưa tri thức lên máy tổ chức lưu trữ và xử lý, đặc biệt là cho suy luận giải các vấn đề, các bài toán. Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tố với những mối liên hệ tác động qua lại như: • Các khái niệm (concepts), với những mối liên hệ cơ bản nhất định (relationships). • Các quan hệ (relations): relations? Xem lại kiến thức về quan hệ ở góc độ toán học trong giáo trình “Toán Rời Rạc”: + Định nghĩa quan hệ 2 ngôi. + Các tính chất về một quan hệ 2 ngôi R trên một tập X: phản xạ, đối xứng, phản xứng, bắc cầu. + Quan hệ thứ tự. + Quan hệ tương đương. + Cách biểu diễn của một quan hệ 2 ngôi R trên tập X: Biểu diễn dựa trên “tập hợp”, biểu diễn bằng ma trận, biểu đồ (đồ thị). • Các toán tử (operators), phép toán, các biểu thức hay công thức + Phép toán 2 ngôi T trên tập X là ánh xạ T : XxX X (a,b) a T b ≡ T(a,b) Ví dụ: + : NxN N (a,b) a+b + Phép toán 1 ngôi S trên tập X là S : X X + Các tính chất thường được xem xét: giao hoán, kết hợp, phần tử trung hòa, phần tử nghịch đảo, phần tử đối, phân phối (hay phân bố), … • Các hàm (functions) 3 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn • Các luật (rules) • Sự kiện (facts) • Các thực thể hay đối tượng, một phần tử cụ thể (objects). Mật khẩu (Password) thường là một xâu, chuỗi, loạt các kí tự mà dịch vụ Internet, phần mềm, hệ thống máy tính yêu cầu người sử dụng nhập vào bằng bàn phím trước khi có thể tiếp tục sử dụng một số tính năng nhất định. Mật khẩu có thể đi cặp với tên truy nhập khi hệ thống cần phân biệt các người sử dụng khác nhau. Bảo mật là sự hạn chế khả năng lạm dụng tài nguyên và tài sản. Bảo mật trở nên đặc biệt phức tạp trong quản lý, vận hành những hệ thống thông tin có sử dụng các công cụ tin học, nơi có thể xảy ra và lan tràn nhanh chóng việc lạm dụng tài nguyên (các thông tin di chuyển vô hình trên mạng hoặc lưu trữ hữu hình trong các vật liệu) và lạm dụng tài sản (các máy tính, thiết bị mạng, thiết bị ngoại vi, các phần mềm của cơ quan hoặc người sở hữu hệ thống). Hạn chế ở đây có ý rằng không thể triệt phá hết ngay việc lạm dụng, cho nên cần sẵn sàng đề phòng mọi khả năng xấu với các phương cách thích hợp và chuẩn bị xử lý các sự cố nếu có việc lạm dụng xảy ra. Bên cạnh đó, công nghệ nhận dạng mật khẩu hiện nay cũng đang phát triển rất phổ biến. Đặc biệt là sử dụng công nghệ cao để can thiệp, nhận dạng mật khẩu ngày càng tiến bộ. Một trong các công nghệ tiên tiến đó chính là sử dụng mạng suy diễn tính toán. 4 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Chương 2 BÀI TOÁN NHẬN DẠNG MẬT KHẨU 2.1 Mô tả Đơn giản ai cũng có thể hiểu là khi nhập một mật khẩu, công việc nhận dạng chính là bằng một số thuật toán, phương pháp để làm sao tìm ra mật khẩu đó. Việc tìm kiếm là tương đối, nghĩa là nếu thuận lợi có thể tìm ra chính xác mật khẩu, hoặc có thể tìm ra mật khẩu gần tương đương nhất với mật khẩu cần tìm, có thể có trường hợp xấu nhất là không thể tìm được. Việc tìm kiếm sẽ cho ra kết quả với khoảng thời gian ngắn nếu lượng thông tin cung cấp đầy đủ và lâu hơn nếu thiếu thông tin, ngoài ra còn một số nguyên nhân khác ảnh hưởng đến việc nhận dạng mật khẩu. 2.2 Các phương pháp giải quyết 2.2.1 Mạng Bayes Một mạng Bayes là một đồ thị có hướng phi chu trình mà trong đó: - Các nút biểu diễn các biến - Các cung biểu diễn các quan hệ phụ thuộc thống kê giữa các biến và phân phối xác suất địa phương cho mỗi giá trị nếu cho trước giá trị của các cha của nó Nếu có một cung từ nút A tới nút B, thì biến B phụ thuộc trực tiếp vào biến A, và A được gọi là cha của B. Nếu với mỗi biến Xi, i {1, ,N} tập hợp các biến cha được ký hiệu bởi parents(Xi), thì phân phối có điều kiện phụ thuộc của các biến là tích của các phân phối địa phương Do mạng Bayes là một mô hình hoàn chỉnh cho các biến và các quan hệ giữa chúng, có thể dùng mạng Bayes để trả lời các truy vấn xác suất về các biến này. Ví dụ, mạng Bayes có thể được dùng để tìm tri thức mới nhất về trạng thái của một tập con gồm các biến khi các biến khác (các biến hiển nhiên) được quan sát. Quá trình tính phân bố hậu nghiệm này của các biến khi cho trước các biến hiển nhiên được gọi là suy luận xác suất. Quá trình hậu nghiệm cho ra một thống kê đủ phổ quát cho các ứng dụng phát hiện, khi người ta muốn chọn các giá trị cho một tập con các biến nhằm mục đích cực tiểu hóa một hàm phí tổn nào đó, chẳng hạn xác suất của lỗi quyết định. Do đó, có thể coi mạng Bayes là một cơ chế cho việc xây dựng tự động các mở rộng của định lý Bayes cho các bài toán phức tạp hơn. 5 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn 2.2.2 Mô hình COKB Mô hình biểu diễn tri thức COKB(Computational Objects Knowledge Base) là một mô hình tri thức của các đối tượng tính toán. Mô hình COKB là một hệ thống gồm 6 thành phần chính được ký hiệu bởi bộ 6 như sau: (C,H,R,Opts, Funcs,Rules) + Tập hợp C (các khái niệm về các C_Object): + Mô hình cho một đối tượng tính toán (C-Object) + Tập hợp H (các quan hệ phân cấp giữa các đối tượng) + Tập hợp R các khái niệm về các loại quan hệ trên các C-Object + Tập hợp Opts các toán tử + Tập hợp Funcs các hàm + Tập hợp Rules các luật * Tổ chức cơ sở tri thức theo COKB - Tập tin OBJECT.txt : Lưu trữ tất cả các khái niệm đối tượng của cơ sở tri thức. - Tập tin HIERARCHY.txt: Lưu lại các biểu đồ Hasse thể hiện quan hệ phân cấp đặc biệt hoá giữa các loại đối tượng C-Object. - Tập tin RELATIONS.txt: Lưu trữ tất cả các quan hệ cũng như các tính chất giữa các loại đối tượng C-Object. - Tập tin OPERATORS.txt: lưu trữ các thông tin, cơ sở tri thức của thành phần toán tử trên các đối tượng C-Object. - Tập tin OPERATORS_DEF.txt: Lưu trữ định nghĩa về các loại toán tử hay định nghĩa của các thủ tục tính toán phục vụ toán tử. - Tập tin RULES.txt: Lưu trữ các hệ luật trên các loại đối tượng và các sự kiện trong cơ sở tri thức. - Tập tin FUNCTIONS.txt: Lưu trữ cách khai báo hàm, thông tin về hảm trên các C-Object. 6 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn - Tập tin FUNCTIONS_DEF.txt: Lưu trữ định nghĩa về các hàm trên các đối tượng và các sự kiện. - Các tập tin có tên <tên các C-OBJECT>.txt: Lưu trữ cấu trúc của đối tượng <tên khái niệm C-Object>. 2.2.3 Mạng suy diễn - tính toán (được trình bày ở Chương 3) 7 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Chương 3 MẠNG SUY DIỄN - TÍNH TOÁN 3.1 Khái niệm: Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài toán. Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt và sử dụng được cho việc tính toán. Chúng ta xét một mạng tính toán gồm một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến. Trong ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật. 3.2 Các quan hệ Cho M = {x1,x2, ,xm} là một tập hợp các biến có thể lấy giá trị trong các miền xác định tương ứng D1,D2, ,Dm. Đối với mỗi quan hệ R ⊆ D1xD2x xDm trên các tập hợp D1,D2, ,Dm ta nói rằng quan hệ nầy liên kết các biến x1,x2, ,xm, và ký hiệu là R(x1,x2, ,xm) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x1,x2, ,xm >). Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u ∪ v = x, và ta viết : fR,u,v : u → v, hay vắn tắt là f : u → v. Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của các biến thuộc u. Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u → v, trong đó u ∩ v = ∅ (tập rỗng). Đặc biệt là các quan hệ đối xứng có hạng (rank) bằng một số nguyên dương k. Đó là các quan hệ mà ta có thể tính được k biến bất kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x1,x2, ,xm >). Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho u, v(f) thay cho v. Đối với các quan hệ không phải là đối xứng có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f); ta gọi loại quan hệ nầy là quan hệ không đối xứng xác định một hàm, hay gọi vắn tắt là quan hệ không đối xứng. * Ưu điểm & khuyết điểm của mạng suy diễn - tính toán Ưu điểm: 8 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn • Giải được hầu hết các bài toán GT KL nếu như đáp ứng đầy đủ các giả thiết cần thiết. • Thuật toán đơn giản dễ cài đặt cho nên việc bảo trì hệ thống tương đối đơn giản. • Có thể xây dựng hệ thống suy luận và giải thích một cách rõ ràng và dễ hiểu. Khuyết điểm : • Do hệ thống chỉ bao gồm 1 cặp (M, F) để biểu diễn tri thức nên khi gặp phải những bài toán phức tạp thì có thể xảy ra việc lưu trữ khó khăn và nhập nhằng khi quản lý. Đồng thời việc xây dựng lại thuật toán là một việc tương đối khó khăn phải bảo trì lại toàn bộ hệ thống. • Đối với các bài toán mà sử dụng nhiều các đối tượng tính toán bài toán trở nên phức tạp, việc giải quyết bài toán bằng mạng tính toán trở nên khó khăn cho người lập trình. Với thuật giải được sử dụng là thuật giải suy diễn tiến * Thuật giải suy diễn tiến: Tư tưởng của thuật giải Suy diễn tiến là từ những giả thiết đã biết (know) ta áp dụng các tập luật để sinh ra thêm giả thiết mới và bổ sung vào know. Quá trình này cứ tiếp tục cho đến khi kết luận cần tìm đã nằm trong know hoặc không thể áp dụng được luật nào để sinh thêm giả thiết mới nữa và chương trình kết thúc. Mô phỏng thuật giải : Bước 1: Khởi tạo một mảng đánh dấu các luật, để đánh dấu những luật nào đã được sử dụng để tránh trùng lặp các bước. Bước 2: Kiểm tra xem mục tiêu đã nằm trong tập giả thiết (know) chưa? Nếu đúng, goto Bước 6. Nếu sai, chuyển tới bước 3. Bước 3: Cho kiểm tra các luật, nếu luật nào chưa dùng (chưa được đánh dấu): 9 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Kiểm tra xem các luật trong đó có đủ điểu kiện để áp dụng sinh ra giả thiết mới hay không? Nếu đủ điều kiện: + Đánh dấu luật này lại + Bổ sung kết luận của luật vào trong know + Chuyển tới Bước 2 Nếu không đủ điều kiện: tiếp tục với luật tiếp theo. Bước 4: Nếu không còn luật nào có thể áp dụng được nữa, chuyển tới bước 6. Bước 5: Quay lại bước 2. Bước 6: Kết luận: + Nếu Bước 4 đúng: bài toán không thể giải được + Nếu Bước 2 đúng: dùng suy diễn lùi để loại bỏ các luật thừa, đưa ra kết luận. 10 HVTH : CH1301001 - Nguyễn Tuấn An [...].. .Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Chương 4 ỨNG DỤNG MẠNG SUY DIỄN - TÍNH TOÁN CHO HỆ THỐNG NHẬN DẠNG MẬT KHẨU 4.1 Xác định vấn đề Tìm kiếm, nhận dạng mật khẩu người dùng sao cho có thể tìm được mật khẩu chính xác hoặc tương đối gần với mật khẩu chính xác nhất dựa vào các thông tin cá nhân của người dùng đó Các thông tin được biểu diễn. .. Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn - Vấn đề mật khẩu quá dài ảnh hưởng đến miền dữ liệu của các tham số trong chương trình nên không đáp ứng 22 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn TÀI LIỆU THAM KHẢO - Các tài liệu của thầy PGS.TS Đỗ Văn Nhơn Tài liệu Mạng. .. và mật khẩu như bên dưới Mật khẩu là các chữ đầu tiên của họ tên và 2 số cuối của ngày sinh Sau đó chọn thao tác “Bước 2 : Nhận dạng mật khẩu - Nếu tìm được mật khẩu chính xác sẽ hiển thị 1 thông báo mật khẩu chính xác và hiển thị thông tin mật khẩu đã tìm được trong phần Mật khẩu nhận dạng được” 15 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu. .. liệu cho mạng suy diễn -> một hộp thoại hiện lên ta chọn file “InitialData” trong thư mục “File chạy demo và dữ liệu khởi tạo” để khởi tạo dữ liệu 14 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn b) Bước 2 : Điền thông tin của người cần nhận dạng mật khẩu và mật khẩu người dùng dưới dạng ẩn hoặc để chế độ hiện mật khẩu cho. .. nhất * Giới hạn bài toán : - Thông tin đầu vào : ký tự không dấu - Không phân biệt ký tự hoa – thường - Không sử dụng khoảng trắng cho mật khẩu - Các thông tin phải theo cấu trúc nhất định - Mật khẩu không quá nhiều ký tự (tiêu chuẩn từ 2 đến 10 ký tự) - Chỉ giải khi mật khẩu không bị mã hóa 11 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS... Nhơn Nếu chỉ tìm được mật khẩu với độ chính xác tương đối Ví dụ cùng các thông tin trên nhưng nhập mật khẩu là “nam05” – giới tính và 2 chữ số cuối của số điện thoại 16 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu - GVHD : PGS.TS Đỗ Văn Nhơn Nếu không tìm được Ví dụ cùng các thông tin trên nhưng nhập mật khẩu là “nam3305” – giới tính và 4 chữ số cuối... bài toán như đã nêu ở trên : - Thông tin đầu vào : ký tự không dấu - Không phân biệt ký tự hoa – thường - Không sử dụng khoảng trắng cho mật khẩu - Các thông tin phải theo cấu trúc nhất định - Mật khẩu không quá nhiều ký tự (tiêu chuẩn từ 2 đến 10 ký tự) 13 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn - Chỉ giải khi mật. .. trong mạng suy diễn, nếu vẫn không tìm được mật khẩu chính xác thì sẽ trả về mật khẩu có số các ký tự gần giống với các ký tự của mật khẩu người dùng nhất 4.3 Tính đúng đắn của thuật toán Do mạng suy diễn là một mạng giải bài toán tương đối, nghĩa là nếu cung cấp nhiều thông tin tạo ra một mạng suy diễn đủ lớn với các biến và các quan hệ giữa các biến chặt chẽ thì trong quá trình tính toán sẽ cho ra... Giới tính - SoThich:Xem Phim : Sở thích - DiaChi:Long An : Địa chỉ - MK:nhk82 : Mật khẩu : nhk82 Trường hợp này người dùng lấy mật khẩu là các từ viết tắt của họ tên (nhk) và 2 số cuối của ngày sinh (82) * Bắt đầu phân tích (Kết quả quá trình phân tích sẽ tạo ra các luật có thể tạo ra mật khẩu) 12 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD... GioiTinh:Nam SoThich:Xem Phim DiaChi:Ca Mau MK:cm89 Mẫu dữ liệu cần tìm mật khẩu : HoTen:Phung Tien Cong NgaySinh:21/01/1988 SDT: 01698413305 GioiTinh:Nam SoThich: Du lich DiaChi: Hau Giang MK: 5.1.2 Kết quả STT 1 2 3 Mật k 21 1988 ptc88 20 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu 4 2101hg 5 6 7 8 9 10 11 12 13 14 15 16 GVHD : PGS.TS Đỗ Văn Nhơn . An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn 2 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật. Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Chương 4 ỨNG DỤNG MẠNG SUY DIỄN - TÍNH TOÁN CHO HỆ THỐNG NHẬN DẠNG MẬT KHẨU 4.1 Xác định. sử dụng mạng suy diễn tính toán. 4 HVTH : CH1301001 - Nguyễn Tuấn An Ứng dụng mạng suy diễn – tính toán cho bài toán nhận dạng mật khẩu GVHD : PGS.TS Đỗ Văn Nhơn Chương 2 BÀI TOÁN NHẬN DẠNG MẬT