Nghiên cứu tính toán mềm và ứng dụng

64 435 0
Nghiên cứu tính toán mềm và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o iso 9001 : 2000 NGHIÊN CỨU TÍNH TOÁN MỀM VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY Ngành: Công nghệ thông tin Sinh viên thực hiện : BÙI THỊ OANH PGS.TS.TRỊNH NHẬT TIẾN Giáo viên hướng dẫn : 090112 Mã sinh viên : HẢI PHÒNG 2009 LỜI CẢM ƠN Em xin chân thành cảm ơn sự giúp đỡ của PGS.TS.Trịnh Nhật Tiến, người đã trực tiếp hướng dẫn, tận tình chỉ bảo tạo điều kiện cho em hoàn thành khóa luận đúng thời hạn Em xin chân thành cảm ơn tất cả các thầy cô giáo trong khoa Công nghệ thông tin - Trường ĐHDL Hải Phòng, những người đã nhiệt tình giảng dạy và truyền đạt những kiến thức cần thiết trong suốt thời gian em học tập tại trường, để em hoàn thành tốt khóa luận Cuối cùng em xin cảm ơn tất cả các bạn đã góp ý, trao đổi hỗ trợ cho em trong suốt thời gian vừa qua Em xin chân thành cảm ơn! Hải Phòng, tháng 07 năm 2009 Sinh viên Bùi Thị Oanh 1 MỤC LỤC LỜI NÓI ĐẦU 5 Chương 1: TÍNH TOÁN MỀM 6 1.1 KHÁI NIỆM TÍNH TOÁN MỀM 6 1.2 PHÂN BIỆT TÍNH TOÁN MỀM VÀ TÍNH TOÁN CỨNG 7 1.3 TẠI SAO CẦN PHẢI CÓ TÍNH TOÁN MỀM 8 1.4 CÁC KỸ THUẬT TRONG TÍNH TOÁN MỀM 9 1.4.1 Logic mờ (Fuzzy Logic – FL) 9 1.4.2 Mạng Nơron (Neural Network – NN) 10 1.4.3 Chương trình tiến hóa (Evolutionary Computation – EC) 11 Chương 2: GIẢI THUẬT DI TRUYỀN 12 2.1 KHÁI NIỆM GIẢI THUẬT DI TRUYỀN 12 2.1.1 Đặc trưng của thuật toán di truyền kinh điển 12 2.1.2 Cơ sở sinh học của giải thuật di truyền 13 2.1.3 Tư tưởng của giải thuật di truyền 14 2.1.4 Hoạt động của giải thuật di truyền 15 2.2 CẤU TRÚC GIẢI THUẬT DI TRUYỀN ĐƠN GIẢN 17 2.2.1 Tái tạo .18 2.2.2 Lai ghép 20 2.2.3 Đột biến 21 2.3 SƠ ĐỒ GIẢI THUẬT DI TRUYỀN 22 2.4 MỘT SỐ CẢI TIẾN CỦA THUẬT TOÁN DI TRUYỀN ĐƠN GIẢN 23 2.4.1 Cải tiến phương pháp chọn lọc .23 2.4.1.1 Chọn lọc xếp hạng (Rank Selection) .23 2.4.1.2 Chọn lọc cạnh tranh (Tournament selection) 24 2.4.2 Cải tiến toán tử lai ghép 24 2.4.2.1 Lai ghép ánh xạ từng phần (PMX – Partial Mappel Crossover) 24 2.4.2.2 Lai ghép có trật tự (OX – Order Crossover) 25 2.4.2.3 Lai ghép dựa trên vị trí (Possition Base Crossover) 26 2.4.2.4 Lai ghép dựa trên thứ tự (Order – Base Crossover) .27 2.4.2.5 Lai ghép có chu trình (CX – Cycle Crossover) 28 2.4.2.6 Lai ghép thứ tự tuyến tính (LOX – Linea Order Crossover) 29 2.4.3 Cải tiến về hàm mục tiêu 30 2.4.3.1 Chuyển đổi hàm mục tiêu thành hàm thích nghi 30 2.4.3.2 Phép sửa đổi hàm thích nghi theo từng bước lặp 31 2.5 BÀI TOÁN TỐI ƯU HÀM SỐ .32 2 Chương 3: HỆ MÃ HÓA DỮ LIỆU DES .34 3.1 HỆ MÃ HÓA 34 3.1.1 Khái niệm mã hóa 35 3.1.2 Phân loại mã hóa 35 3.1.2.1 Hệ mã hóa khóa đối xứng .36 3.1.2.2 Hệ mã hóa khóa phi đối xứng (hệ mã hóa khóa công khai) 37 3.2 HỆ MÃ HÓA DES 39 3.2.1 Giới thiệu hệ mã hóa DES 39 3.2.2 Quy trình mã hóa DES 40 3.2.2.1 Sơ đồ: 41 3.2.2.2 Thực hiện mã hóa theo sơ đồ 41 3.2.2.3 Tính các khóa con k1, k2,…, k16 từ khóa gốc K 42 3.2.2.4 Tính hàm f(Ri-1, ki) 44 3.2.3 Quy trình giải mã DES 49 3.2.4 Ví dụ 50 3.2.5 Độ an toàn của Hệ mã hóa DES .52 Chương 4: PHƯƠNG PHÁP THỐNG KÊ NGÔN NGỮ HỌC VÀ GIẢI THUẬT DI TRUYỀN ĐỂ DÒ TÌM KHÓA MẬT 53 4.1 TẦN XUẤT XUẤT HIỆN CỦA CÁC CHỮ CÁI TRONG BẢN RÕ TIẾNG ANH 53 4.1.1 Các kí tự hiếm gặp (Có tần suất xuất hiện thấp): z, q, j, x, k, v 53 4.1.2 Các kí tự hay gặp (Có tần suất xuất hiện cao) 54 4.2 DÒ TÌM KHÓA BẰNG THỐNG KÊ NGÔN NGỮ HỌC VÀ THUẬT TOÁN GA .57 4.2.1 Giai đoạn 1: 58 4.2.2 Giai đoạn 2 .60 KẾT LUẬN .62 TÀI LIỆU THAM KHẢO 63 3 Danh mục các từ viết tắt NST Nhiễm sắc thể GA Genetics Algorithms DES Data Encryption Standard Danh mục các thuật ngữ thông dụng trong giải thuật di truyền Trong tự nhiên Trong giải thuật di truyền Gene Đặc tính, ký tự Chromosome (Nhiễm sắc thể) Chuỗi Allele (gene tương ứng) Giá trị của đặc tính Locus (ổ gene) Vị trí chuỗi Genetype (kiểu hình) Tập thông số, giải pháp luân phiên, cấu trúc được giải mã 4 LỜI NÓI ĐẦU Trong thực tế cuộc sống, các bài toán liên quan đến hệ thống nhận thức, tri thức của con người, đều hàm chứa những đại lượng, thông tin, mà bản chất là không chính xác, không chắc chắn, không đầy đủ… cho các hệ thống ra quyết định Ví dụ: Sẽ chẳng bao giờ có thông tin, dữ liệu, cũng như các mô hình tính toán đầy đủ và chính xác cho bài toán dự báo thời tiết Trong lĩnh vực khoa học cũng vậy, các hệ thống phức tạp trên thực tế thường không thể mô tả đầy đủ, và chính xác bởi các phương trình toán học truyền thống Kết quả là những cách tiếp cận kinh điển dựa trên kỹ thuật phân tích, và các phương trình toán học nhanh chóng không còn phù hợp Vì thế công nghệ tính toán mềm chính là giải pháp cần thiết trong lĩnh vực này Công nghệ tính toán mềm bao gồm 3 thành phần chính: - Điều khiển mờ (Fuzzy Control) - Mạng nơ-ron nhân tạo (Neural Network) - Giải thuật di truyền (Genetic Algorithm) Do thời gian không nhiều và khối lượng công việc tìm hiểu khá lớn nên trong khuôn khổ đồ án tốt nghiệp này, để tìm hiểu cho sâu, em tập trung nghiên cứu giải thuật di truyền Hiện nay, thuật toán di truyền cùng với logic mờ được ứng dụng rộng rãi trong các lĩnh vực phức tạp, các vấn đề khó, sử dụng các kỹ thuật tìm kiếm lời giải, với không gian tìm kiếm rất lớn, nhất là những bài toán cần có sự lượng giá, đánh giá sự tối ưu của kết quả thu được Chính vì vậy, thuật giải di truyền đã trở thành đề tài nghiên cứu thú vị và đem đến nhiều ứng dụng trong thực tiễn Xuất phát từ những vấn đề trên, khóa luận đã tìm hiểu, nghiên cứu giải thuật di truyền Sau đó sử dụng giải thuật di truyền cổ điển kết hợp với phương pháp thống kê ngôn ngữ học giải quyết bài toán “Dò tìm mã DES” Khóa luận không tránh khỏi những thiếu sót, rất mong được sự giúp đỡ, chỉ bảo của thầy cô và các bạn! 5 Chương 1: TÍNH TOÁN MỀM 1.1 KHÁI NIỆM TÍNH TOÁN MỀM Tính toán mềm (Soft Computing) khác với tính toán cứng truyền thống (Hard Computing) ở chỗ: không như tính toán cứng, tính toán mềm cho phép sự không chính xác, tính bất định, gần đúng, xấp xỉ trong tính toán Các mô hình tính toán mềm thường dựa vào kinh nghiệm của con người, sử dụng dung sai cho phép của sự không chính xác, tính bất định, gần đúng, xấp xỉ để tìm lời giải hiệu quả - đơn giản, dễ hiểu, dễ thực hiện, chi phí thấp Tính toán mềm biểu thị một sự chuyển dịch, biến hoá quan trọng trong các hướng tính toán Sự chuyển dịch này phản ánh sự kiện trí tuệ con người, không như máy tính, có khả năng đáng kể trong việc lưu trữ và xử lý thông tin không chính xác và bất định, và đây mới là những thông tin thực tế và thường gặp Các ứng dụng thành công của tính toán mềm cho thấy tính toán mềm ngày càng phát triển mạnh và đóng vai trò đặc biệt trong các lĩnh vực khác nhau của khoa học và kỹ thuật Tính toán mềm được ứng dụng trong hầu hết các chuyên ngành kỹ thuật như kỹ thuật điện, kỹ thuật điều khiển, kỹ thuật hoá học, kỹ thuật xây dựng, Kỹ thuật điện là lĩnh vực đầu tiên ứng dụng tính toán mềm trong các lĩnh vực như điều khiển mờ, xử lý ảnh mờ, mạch điện tử dùng logic, người máy, Khái niệm “Tính toán mềm” được Zadeh đưa ra lần đầu tiên vào năm 1994 được mô tả như sau: “Một cách cơ bản, tính toán mềm không phải là thể thống nhất các khái niệm và kỹ thuật Đúng ra, nó là sự kết hợp của các phương pháp riêng biệt theo cách này hay cách khác để thích nghi với nguyên lý của nó Tại điểm giao đó, mục đích cuối cùng của tính toán mềm là khai thác khả năng thứ lỗi (Tolerance) cho tính không chính xác hay tính bất định để đạt được mục tiêu với chi phí thấp” Một cách đơn giản hơn, “Tất cả các tính toán có bao gồm tính không chính xác một cách có chủ đích trong tính toán ở một hay nhiều mức và cho phép tính không chính xác này làm thay đổi (làm giảm) độ chính xác của bài toán, hay “làm mềm” mục tiêu tối ưu ở một số bước, đều bị coi là thuộc lĩnh vực tính toán mềm” 6 1.2 PHÂN BIỆT TÍNH TOÁN MỀM VÀ TÍNH TOÁN CỨNG Tính toán truyền thống, hay còn gọi là tính toán cứng, là phương pháp sử dụng các kỹ thuật tính toán, dựa trên dữ liệu đầu vào để đưa ra kết quả cuối cùng một cách chính xác theo yêu cầu của bài toán Bảng dưới đây đưa ra một số điểm khác biệt giữa tính toán mềm và tính toán cứng, để chúng ta có được một hình dung cụ thể hơn về tính toán mềm Điểm so sánh Tính toán cứng Tính toán mềm Dữ liệu xử lý - Xử lý bài toán dựa trên số -Không đòi hỏi dữ liệu phải chính xác Kết quả đầu ra liệu chính xác -Ví dụ: Giá trị của A có thể nằm - Ví dụ: Giá trị của A phải trong khoảng từ 0 đến 1: [0,1] Kỹ thuật tính - Yêu cầu đưa ra kết quả gần tối toán là 0 hoặc 1: {0,1} - Yêu cầu đưa ra kết quả ưu (cho phép sự sai lệch nhất Thời gian tính tối ưu (kết quả chính xác định trong kết quả tìm được) toán hoàn toàn) - Kỹ thuật tính toán dựa trên - Sử dụng kỹ thuật tính Heuristic được sử dụng phổ Lĩnh vực áp dụng toán truyền thống biến - Thời gian tính toán nhanh hơn - Thời gian tính toán với chi phí thấp hơn thường chậm hơn Trong một số trường hợp, không - Các bài toán không yêu cầu thể đưa ra kết quả trong lời giải chính xác, song phải thời gian chấp nhận được đưa ra kết quả trong một - Các bài toán yêu cầu lời khoảng thời gian nhất định giải chính xác, không cho với chi phí nhất định phép sự sai lệch Bảng 1: So sánh tính toán cứng và tính toán mềm 1.3 TẠI SAO CẦN PHẢI CÓ TÍNH TOÁN MỀM 7 Trong thực tế cuộc sống, các bài toán liên quan đến hệ thống nhận thức, trí tuệ của con người đều hàm chứa những đại lượng, thông tin không chính xác, không chắc chắn, không đầy đủ Ví dụ: sẽ chẳng bao giờ có các thông tin, dữ liệu cũng như các mô hình tính toán đầy đủ, và chính xác cho bài toán dự báo thời tiết Nhìn chung con người luôn ở trong bối cảnh không có thông tin chính xác, và đầy đủ cho các hệ thống ra quyết định Trong lĩnh vực khoa học kỹ thuật cũng vậy, các hệ thống phức tạp trên thực tế thường không thể mô tả một cách đầy đủ, và chính xác bởi các phương trình toán học truyền thống Kết quả là những cách tiếp cận kinh điển dựa trên kỹ thuật phân tích, và các phương trình toán học nhanh chóng tỏ ra không còn phù hợp Vì thế, công nghệ tính toán mềm chính là giải pháp trong lĩnh vực này Một số đặc điểm của công nghệ tính toán mềm: - Tính toán mềm căn cứ trên các đặc điểm, hành vi của con người, và tự nhiên để đưa ra quyết định hợp lý trong điều kiện không chính xác, không chắc chắn - Các thành phần của tính toán mềm có sự bổ sung, hỗ trợ nhau - Tính toán mềm là một hướng nghiên cứu mở, bất kỳ một kỹ thuật mới nào được tạo ra từ việc bắt chước trí thông minh của con người, đều có thể trở thành một thành phần mới của tính toán mềm - Chính nhờ những đặc điểm đó mà tính toán mềm đang được nghiên cứu và ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là: trí tuệ nhân tạo, khoa học máy tính và học máy Cụ thể:  Không phải bài toán nào cũng có thuật toán có thể giải quyết được bằng tính toán cứng  Không phải bài toán nào có thuật toán có thể giải quyết được bằng tính toán cứng, cũng có thể thực hiện với chi phí và thời gian chấp nhận được  Khi bản thân dữ liệu là không chính xác thì không thể giải quyết được bằng phương pháp chính xác Với những ưu thế đó, tính toán mềm đang dần thể hiện vai trò của mình nhất là trong việc giải quyết vấn đề mới 1.4 CÁC KỸ THUẬT TRONG TÍNH TOÁN MỀM 8 Công nghệ tính toán mềm bao gồm 3 thành phần chính: - Điều khiển mờ (Fuzzy Control) - Mạng nơ-ron nhân tạo (Neural Network) - Giải thuật di truyền (Genetic Algorithm) 1.4.1 Logic mờ (Fuzzy Logic – FL) Khái niệm tập mờ (Fuzzy set) được Zadeh đưa ra vào năm 1965 với mục đích cho phép các phần tử thuộc về một tập liên tục thay cho rời rạc Kể từ đó, các ứng dụng và phát triển dựa trên khái niệm tưởng chừng rất đơn giản này, đã mang lại những kết quả khó có thể tin được, thậm chí khó có thể chỉ ra các ứng dụng, phát triển hay sản phẩm nào không có liên quan đến khái niệm tập mờ Ví dụ: chúng ta thường nghe đến nhiều thuật ngữ như: máy giặt fuzzy, quạt fuzzy, xe máy fuzzy Khái niệm tập mờ có vai trò rất quan trọng trong việc giải quyết các bài toán tối ưu, đưa ra các bài toán có tính thực tế, giải quyết bài toán với chi phí thấp và trong thời gian nhanh hơn (mặc dầu chấp nhận việc có thể có sai số) Trong lĩnh vực an toàn thông tin, tập mờ cũng được sử dụng rất rộng rãi Tất cả các thuật toán, giải thuật, kỹ thuật được giới thiệu dưới đây đều được xuất phát từ tập mờ 1.4.2 Mạng Nơron (Neural Network – NN) 9 ... Chính vậy, thuật giải di truyền trở thành đề tài nghiên cứu thú vị đem đến nhiều ứng dụng thực tiễn Xuất phát từ vấn đề trên, khóa luận tìm hiểu, nghiên cứu giải thuật di truyền Sau sử dụng giải... trợ - Tính tốn mềm hướng nghiên cứu mở, kỹ thuật tạo từ việc bắt chước trí thơng minh người, trở thành thành phần tính tốn mềm - Chính nhờ đặc điểm mà tính tốn mềm nghiên cứu ứng dụng rộng... lượng cơng việc tìm hiểu lớn nên khn khổ đồ án tốt nghiệp này, để tìm hiểu cho sâu, em tập trung nghiên cứu giải thuật di truyền Hiện nay, thuật toán di truyền với logic mờ ứng dụng rộng rãi lĩnh

Ngày đăng: 21/12/2013, 20:20

Hình ảnh liên quan

Bảng dưới đây đưa ra một số điểm khác biệt giữa tính toán mềm và tính toán cứng, để chúng ta có được một hình dung cụ thể hơn về tính toán mềm. - Nghiên cứu tính toán mềm và ứng dụng

Bảng d.

ưới đây đưa ra một số điểm khác biệt giữa tính toán mềm và tính toán cứng, để chúng ta có được một hình dung cụ thể hơn về tính toán mềm Xem tại trang 6 của tài liệu.
Bảng 1: So sánh tính toán cứng và tính toán mềm 1.3. TẠI SAO CẦN PHẢI CÓ TÍNH TOÁN MỀM - Nghiên cứu tính toán mềm và ứng dụng

Bảng 1.

So sánh tính toán cứng và tính toán mềm 1.3. TẠI SAO CẦN PHẢI CÓ TÍNH TOÁN MỀM Xem tại trang 7 của tài liệu.
NN là mô hình tính toán dựa trên bộ não. Mô hình NN bao gồm các bộ xử lý _ các Nơron _ có mối liên kết chặt chẽ với nhau, tương tự như họat động của các  Nơron trong não người - Nghiên cứu tính toán mềm và ứng dụng

l.

à mô hình tính toán dựa trên bộ não. Mô hình NN bao gồm các bộ xử lý _ các Nơron _ có mối liên kết chặt chẽ với nhau, tương tự như họat động của các Nơron trong não người Xem tại trang 9 của tài liệu.
*Bảng hoán vị cuối cùng IP-1 4 08 48 16 56 24 64 32 - Nghiên cứu tính toán mềm và ứng dụng

Bảng ho.

án vị cuối cùng IP-1 4 08 48 16 56 24 64 32 Xem tại trang 41 của tài liệu.
*Bảng hoán vị ban đầu IP: Bít 1 của IP(x) là bit 58  của x. Bít 2 của IP(x) là bit 50 của x. - Nghiên cứu tính toán mềm và ứng dụng

Bảng ho.

án vị ban đầu IP: Bít 1 của IP(x) là bit 58 của x. Bít 2 của IP(x) là bit 50 của x Xem tại trang 41 của tài liệu.
3). Tính C j= Sj (Bj), j= 1, …. ,8. Dùng 8 bảng S1, S2, …,S 8. - Nghiên cứu tính toán mềm và ứng dụng

3.

. Tính C j= Sj (Bj), j= 1, …. ,8. Dùng 8 bảng S1, S2, …,S 8 Xem tại trang 44 của tài liệu.
Sj là bảng cố định với r*c số nguyên từ ->15, (0 r≤ 3, c≤ 15). Sj thể hiện việc thay thế mỗi Bj thành Cj (Cj  là xâu 4 bit) theo quy tắc sau: - Nghiên cứu tính toán mềm và ứng dụng

j.

là bảng cố định với r*c số nguyên từ ->15, (0 r≤ 3, c≤ 15). Sj thể hiện việc thay thế mỗi Bj thành Cj (Cj là xâu 4 bit) theo quy tắc sau: Xem tại trang 44 của tài liệu.
• Các bảng S1, S2, …,S8: - Nghiên cứu tính toán mềm và ứng dụng

c.

bảng S1, S2, …,S8: Xem tại trang 45 của tài liệu.
* Quy định lập bảng Sj: - Nghiên cứu tính toán mềm và ứng dụng

uy.

định lập bảng Sj: Xem tại trang 47 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan