Bằng cách nào để biết được giữa 2 mật mã, mật mã nào nhanh hơn

13 1.2K 0
Bằng cách nào để biết được giữa 2 mật mã, mật mã nào nhanh hơn

Đ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ằng cách nào để biết được giữa 2 mật mã, mật mã nào nhanh hơn

Phương pháp luận sáng tạo trong khoa họcHiện nay công nghệ thông tin đang phát triển một cách nhanh chóng và được ứng dụng rộng rãi vào các lĩnh vực trong đời sống như Internet đã phát triển vượt bậc cung cấp kho tri thức khổng lồ cho con người, phát triển mạnh các công nghệ hỗ trợ tương tác giữa máy tính và con người… Từ điểm xuất phát ban đầu của một máy tính được tạo ra nhằm hỗ trợ các tính toán thông thường thì bây giờ máy tính đã vươn tới các ứng dụng phức tạp, áp dụng trong nhiều lĩnh vực khác nhau: hóa học, vật lý, y học… cung cấp cho hóa học, vật lý các phòng thí nghiệm ảo, mô phỏng các hiện tượng trên thực tế đã giảm chi phí thực nghiệm hay đã cung cấp các thiết bị thông minh ứng dụng trong sinh học hỗ trợ sự sống cho con người như bộ phận thân thể nhân tạo, hỗ trợ tim thông minh, các dịch vụ y tế nâng cao… Sự phát triển vượt bậc của công nghệ thông tin được dựa trên sự phát triển của công nghệ phần cứng và sự phát triển các thuật toán - thuật giải. Sự phát triển của công nghệ phần cứng theo định luật Moore được khái quát lại “Sau 18 tháng khả năng của máy tính được nâng lên gấp đôi”. Quy luật trên đã nhìn nhận đúng về quá trình phát triển các bộ vi xử lý máy tính từ những năm của thập kỷ 70 đến nay, tuy trong tương lai có thể thay đổi nhưng từ định luật Moore đã phản ánh được sự phát triển vũ bão của công nghệ phần cứng giúp đưa máy tính lại gần hơn với con người, từ những máy tính cồng kềnh trở thành những máy tính cá nhân với hiệu suất ngày càng nâng cao. Nhưng với đòi hỏi ngày càng cao của con người, cần giải quyết các vấn đề ngày càng hóc búa thì sự phát triển tính toán dựa trên phần cứng vẫn chưa đủ. Một ví dụ đơn giản nếu một mật được hóa bằng một chuỗi thập phân 30 chữ số thì với một siêu máy tính thực hiện 1 tỉ lần thử và sai trong 1 giây thì phải mất hàng tỉ năm mới tìm được lời giải. Do đó, việc phát triển các phương pháp giải quyết các bài toán trên tin học đã trở thành một điều cấp thiết. Nó đã được phát triển ngay khi máy tính ra đời với khả năng được lập trình nhằm nâng cao khả năng máy tính, bổ sung cho máy tính những quá trình lập luận, tính toán của con người.Quay lại ví dụ mật ở trên, nếu chúng ta khai thác được các thông tin về độ tốt của mật đang thử thì có thể giải quyết vấn đề nhanh hơn. Vậy:“Bằng cách nào để biết được giữa 2 mật mã, mật nào nhanh hơn ?”. Độ tốt của một mật trong thực tế có thể dựa vào tiếng động trong ổ khóa khi đang thử, các thợ mở khóa cũng dựa trên những thông tin tương tự. Từ một ví dụ đơn giản trên, chúng ta nhận thấy nếu xử lý đơn thuần thử và sai thì chắc chắn sẽ ra kết quả nhưng liệu Thuật giải di truyền và sáng tạo khoa học Trang 1 Phương pháp luận sáng tạo trong khoa họcchúng ta có đủ thời gian, tài nguyên để thực hiện hay nên áp dụng một vài thủ thuật nhỏ tuy không chắc chắn nhưng nó có thể giải quyết vấn đề nhanh hơn. Trong tin học, cách giải quyết truyền thống các bài toán trên máy tính áp thường đặt người dùng phải suy nghĩ theo những hướng cố định, làm hạn chế thành phần tham gia sử dụng máy tính để giải quyết các vấn đề. Ví dụ: để giải quyết một bài toán, người dùng cần biết về những khả năng máy tính, công cụ lập trình có thể đáp ứng (kiểu dữ liệu, lớp thuật toán nào…), nó không cung cấp mô hình tổng quát để những người không có nhiều kiến thức về các thuật toán – thuật giải có thể sử dụng ngay được. Nó khác hẳn với lối giải quyết tự nhiên của con người khi gặp vấn đề, bài toán trong thực tế. Cách giải quyết của con người đó là luôn đánh giá vấn đề một cách tổng quát, sau đó lựa chọn các bước thích hợp nhằm tiến gần đến kết quả cuối cùng đến mức có thể. Lối giải quyết của con người không chắc chắn sẽ đưa ra lời giải tốt nhất nhưng nó giải quyết nhanh chóng, trực tiếp vấn đề trong hoàn cảnh cho phép. Sự khác biệt về lối giải quyết vấn đề giữa các chương trình truyền thống và con người đã hạn chế sự linh hoạt, uyển chuyển sức sáng tạo của con người đưa vào cách giải quyết vấn đề trên máy tính. Một câu hỏi ở đây cho sự phát triển các thuật giải và thuật toán“Tại sao không kết hợp giữa sức mạnh tính toán của máy tính với lối giải quyết tự nhiên của con người để tạo ra một phương pháp giải quyết vấn đề mang tính con người hơn trên máy tính ?”Hiện nay, ứng dụng công nghệ thông tin vào các lĩnh vực khác đã mang lại hiệu quả to lớn. Sức mạnh của công nghệ thông tin đã được chứng minh. Nhưng một câu hỏi ngược đặt ra lại “Liệu từ các lĩnh vực khác có thể áp dụng ngược lại vào lĩnh vực tin học hay chỉ đơn thuần tin học là tin học không áp dụng ngược từ các lĩnh vực khác ?”. Để trả lời câu hỏi này, chúng ta cần nhìn xu hướng này bên ngoài tin học, trong các lĩnh vực ngoài tin học việc vay mượn các ý tưởng từ lĩnh vực khác là một điều tất yếu và xảy ra thường xuyên, nhất là các quy luật, thực thể trong tự nhiên. Tự nhiên là một quá trình vận động, phát triển xuyên suốt hàng tỉ năm nên tự nhiên chứa trong nó những quy luật, những mô hình đúng đắn. Với công nghệ được phát triển đã cho phép con người nghiên cứu tỉ mỉ các vấn đề trong tự nhiên trước giờ được xem là bí ẩn nhằm phát hiện ra các quy luật có ích để áp dụng vào trong cuộc sống. Một ví dụ đơn giản, các kiến trúc sư hiện nay đang quan tâm đến kiến trúc, cấu tạo của các tổ kiến và tổ mối nhằm xây dựng hệ thống không khí cho các tòa nhà. Tổ kiến, tổ mối luôn có một nhiệt độ ổn định bất Thuật giải di truyền và sáng tạo khoa học Trang 2 Phương pháp luận sáng tạo trong khoa họcchấp việc chêch lệch với nhiệt độ bên ngoài. Từ việc quan sát này, các kỹ sư sẽ bắt chước hệ thống không khí trong các tổ mối để thiết kế hệ thống không khí cho các tòa nhà cao tầng nhằm đảm bảo sự ổn định về nhiệt độ, tiết kiệm điện năng và gần gũi với hơn tự nhiên để bảo vệ môi trường. Xem xét lại trong tin học, hiện nay các thuật giải mang ý tưởng tự nhiên đang được phát triển và ứng dụng rất nhiều: như lớp thuật giải tiến hóa bao gồm thuật giải di truyền, chiến lược di truyền… hay lớp thuật giải mang tính “thông minh bầy đàn” (Swarm Intelligent) gồm thuật giải tối ưu dựa cá thể bầy đàn, thuật giải mô phỏng quá trình truyền tin của bầy kiến… Do vậy, hiện giờ có thể khẳng định việc áp dụng những quy luật ở lĩnh vực khác vào trong tin học, mở rộng các thuật giải là một xu hướng tất yếu. Đó là quá trình chuyển hóa những điều thực tế, quy luật đúng đắn trong cuộc sống vào trong phương pháp giải quyết bài toán trên máy tính. Có nhiều quy luật ở lĩnh vực khác đã và đang được áp dụng thành công trong tin học, đặc biệt có một mảng thành công lớn đó là sử dụng các quy luật trong ngành sinh học để tiếp cận với lời giải trong các bài toán tin học, đặc biệt là các quy luật tiến hóa. Một trong những ứng dụng quy luật tiến hóa rộng rãi và nổi bật được áp dụng vào trong tin học đó là thuật giải di truyền. Thuật giải di truyền được chọn ở đây cũng nhằm mục đích trả lời câu hỏi có hay không thuật giải lối giải quyết gần gũi với con người nhưng vẫn khai thác sức mạnh tính toán trên máy tính. Khái niệm thuật giải di truyền được phát triển từ những năm của thập kỷ 70 bởi John Herry Holland được giới thiệu trong sách “Adaptation in Natural and Artifical Systems”. Holland được xem như người mở đầu cho lý thuyết của thuật giải di truyền (trong tin học). Lý thuyết này về sau tiếp tục được phát triển vững chắc thông qua các chứng minh, dẫn chứng và áp dụng vào thực tế bởi những người đi sau như Keneth De Jong, David E.Goldberg… Hiện nay, thuật giải di truyền vẫn được tiếp tục nghiên cứu trên khắp thế giới nhằm đáp ứng ngày càng sâu và rộng vào các ứng dụng đời sống như công trình tính toán song song và cải thiện sự hội tụ sớm trong thuật giải di truyền của Iker Gondra: “Parallelizing Genetic Algorithms” năm 2008 .Thuật giải di truyền được xem là quá trình mô phỏng lại sự tiến hóa của quần thể trong tự nhiên với nguyên tắc đơn giản “những cá thể nào trong quần thể có độ thích nghi cao sẽ dễ dàng tồn tại với sự thay đổi ngoại cảnh”. Hay nói cách khác đó là sự tiến hóa cho thích nghi. Tiến hóa cho thích nghi đã được nhắc đến trong Thuật giải di truyền và sáng tạo khoa học Trang 3 Phương pháp luận sáng tạo trong khoa họcthuyết tiến hóa sinh vật Charles Darwin. Trong đó, mỗi loài sinh vật đều cố gắng thích nghi với sự thay đổi ngoại cảnh, sinh vật có sự thích nghi thấp sẽ bị loại bỏ khỏi quần thể. Ý tưởng này đã được ứng dụng vào trong phương pháp giải quyết bài toán tin học thông qua thuật giải di truyền, đó là sự xét toàn bộ giải pháp, trước nhất sẽ xét một số giải pháp, sau đó loại bỏ đi những thành phần không thích hợp để tạo sinh và biến hóa các giải pháp nhằm mục đích tạo ra nhiều giải pháp mới có hệ số đáp ứng với mục tiêu kết quả ngày càng cao. Qua đó, thuật giải di truyền sẽ tiếp cận với lời giải chính xác của bài toán.Các bước chính trong việc áp dụng thuật giải di truyền:• Bước 1: Chọn mô hình cho giải pháp của vấn đề: Chọn một số tượng trưng cho toàn bộ các giải pháp có thể có cho vấn đề.• Bước 2: Chỉ định cho mỗi giải pháp một ký hiệu. Ký hiệu có thể là dãy nhị phân, thập phân hỗn hợp số và chữ. • Bước 3: Tìm hàm số thích nghi cho vấn đề và tính hệ số thích nghi cho từng giải pháp.• Bước 4: Dựa trên hệ số thích nghi của các giải pháp để thực hiện sự tạo sinh và biến hóa các giải pháp: Các phương thức biến hóa gồm: lai ghép, đột biến• Bước 5: Tính các hệ số thích nghi cho các giải pháp mới và loại bỏ những giải pháp kém nhất để chỉ còn giữ lại một số nhất định các giải pháp.• Bước 6: Nếu chưa tìm được giải pháp tối ưu hay tương đối khá nhất hay chưa hết hạn kỳ ấn định, trở lại bước 4 để tìm giải pháp mới .• Bước 7: Tìm được giải pháp tối ưu hoặc nếu thời gian cho phép đã chấm dứt thì báo cáo kết quả tính được.Như các bước kể trên, bên trong thuật giải di truyền chứa các khái niệm liên quan đến di truyền học: lai ghép, đột biến. Đây là phép dùng di truyền học để tạo các cá thể con từ cá thể cha mẹ.Do vậy thuật giải di truyền bên cạnh việc mang tư tưởng của thuyết tiến hóa về sự thích nghi của quần thể (gồm nhiều cá thể) còn được hiện thực hóa với các phương pháp của di truyền học thông qua khái niệm lai ghép, đột biến. Như trong di truyền học, phép lai ghép, đột biến diễn ra trên các Thuật giải di truyền và sáng tạo khoa học Trang 4 Phương pháp luận sáng tạo trong khoa họcnhiễm sắc thể và tương tự trong thuật giải di truyền cũng có khái niệm nhiễm sắc thể, đó là sự biểu diễn của bài toán thành các dạng thích hợp nhằm có thể thực hiện được các phép di truyền kể trên để tạo ra các giải pháp giải quyết vấn đề mới. Hiện nay, nhiễm sắc thể của một bài toán có thể biểu diễn thành nhiều dạng: nhị phân, thập phân, chữ, hỗn hợp. Nhưng trong phạm vi bài luận này chỉ nhắc đến việc biểu diễn cổ điển của nhiễm sắc thể đó là dạng nhị phân.Thuật giải di truyền theo hướng cổ điển, nhiễm sắc thể sẽ được biểu diễn dưới dạng nhị phân. Ưu điểm khi biểu diễn nhị phân giúp dễ dàng phân tích lý thuyết và cho xây dựng các toán tử di truyền “đẹp”. Khi bài toán đòi hỏi độ chính xác cao, trong không gian có số chiều lớn thì biểu diễn nhị phân sẽ không thích hợp do cần số bit hiển thị quá lớn cũng như phải hóa để tính giá trị thích nghi. Do đó, xu hướng của thuật giải di truyền gần đây là các nhiễm sắc thể được biểu diễn dưới các dạng số thực, chữ số nhằm tăng khả năng linh hoạt cho khả năng giải quyết vấn đề.Đề cập chi tiết việc biểu diễn nhiễm sắc thể dưới dạng nhị phân, tham biến x thuộc [Umin, Umax] được biểu diễn dưới dạng chuỗi nhị phân có độ dài L. Tỷ lệ co giãn ánh xạ này được xác định:Giá trị x tương ứng với string2 sẽ được xác định theo công thức:Decimal(string2) biểu diễn giá trị thập phân của chuỗi nhị phận string2.Ví dụ: Decimal(0001) = 1;Cho chuỗi 0001 là biểu diễn biến x1 và x1 thuộc [-1, 2]  g = 1/5. x1 = -1 + decimal(0001) * 1/5 = -4/5.Các phép di truyền học dùng trong thuật giải di truyền: 1. Chọn cá thể Thuật giải di truyền và sáng tạo khoa học Trang 5 Phương pháp luận sáng tạo trong khoa họcChọn cá thể là thao xử lý trong đó mỗi cá thể được bảo lưu cho vòng sinh tiếp sau phụ thuộc vào giá trị thích nghi của từng cá thể. Quá trình chọn cá thể được mô phỏng của quá trình chọn lọc tự nhiên. Với giá trị thích nghi được xác định đối với mỗi cá thể trong quần thể (một giải pháp trong tập các giải pháp). Giá trị thích nghi càng lớn thì cá thể có cơ hội tồn tại cao hơn ở vòng sinh tiếp theo. Kỹ thuật chọn cá thể có thể thực hiện theo các bước:• Tính tổng giá trị thích nghi của tất cả thành viên quần thể và gọi nó là tổng thích nghi.• Phát sinh một số n là số ngẫu nhiên trong khoảng từ 0 đến tổng thích nghi.• Trả lại thành viên quần thể đầu tiên độ thích nghi của nó cộng với độ thích nghi của các thành viên quần thể trước đây lớn hơn hoặc bằng n.2. Lai ghép Lai ghép là quá trình tạo ra cá thể con từ 2 cá thể cha – mẹ. Trong thuật giải di truyền mỗi cá thể được biểu diễn bằng chuỗi hay còn gọi là nhiễm sắc thể của cá thể đó. Vậy lai ghép là quá trình hoán đổi các thành phần gen trong 2 đoạn nhiễm sắc thể để tạo thành nhiễm sắc thể mới.Ví dụ: Trước khi lai ghép Sau khi lai ghép 1001|110 (A) 0100|110 (B’) 0100|011 (B) 1001|011 (A’)Chọn lọc cá thể đã giúp tìm ra những cá thể tồn tại tốt nhất nhưng nó không tạo ra các thể mới. Và lai ghép là toán tử tác động lên cá thể cha mẹ để tạo ra những con lai tốt được gọi là lai ghép. Do đó, toán tử lai ghép là quá trình tạo ra các thế hệ mới dựa trên những gì của thế hệ trước để lại.Quá trình lai ghép được thực hiện như sau: Áp dụng lên những cặp cha mẹ được chọn lựa để sinh sản với xác suất lai Pcross.Với mỗi nhiễm sắc thể trong quần thể:Thuật giải di truyền và sáng tạo khoa học Trang 6 Phương pháp luận sáng tạo trong khoa học• Phát sinh một số ngẫu nhiên r trong đoạn [0,1].• Nếu r < Pcross chọn nhiễm sắc thể đó lai ghép. Sau đó, ta kết hợp các nhiễm sắc thể được chọn một cách ngẫu nhiên.3. Đột biến Đột biến là việc thay đổi trị số của một hay nhiều thành phần trong nhiễm sắc thể của cá thể. Tỉ lệ xảy ra đột biến thường rất thấp, thường nằm trong khoảng giá trị [ 10-4 , 10-3 ].Ví dụ: 110011 sẽ được biến đổi thành 110010, trong đó số 1 ở hàng cuối (tính từ trái) đã được đổi thành 0.Quá trình lai ghép ở trên tạo ra cá thể mới dựa trên những gì tốt nhất do các thế hệ trước để lại nhưng đến một lúc nào đó quần thể sẽ hội tụ lại xung quanh một số nhiễm sắc thể do hiện tượng tự lai ghép với nhau trong quần thể. Lúc này, sự di truyền sẽ bị mất đi do không có các nhiễm sắc thể mới được sinh ra. Do đó, trong thuật giải di truyền cần sự đột biến nhằm tạo ra những cá thể mới trong quần thể một cách ngẫu nhiên. Quá trình này mang tỉ lệ rất thấp nhưng phải có để tránh tình trạng quần thể rơi vào trạng thái cân bằng, trạng thái cân bằng sẽ không hỗ trợ cho việc tiến hóa của quần thể.4. Hàm thích nghi Tùy theo quan điểm của mỗi người, nếu xem hàm thích nghi là đánh giá sự thích nghi với sự tốt nhất không theo giá trị dương hay âm chính trên bản thân giá trị đó thì hàm thích nghi chính là hàm đánh giá. Ngược lại, nếu xem độ thích nghi càng cao là tốt và độ thích nghi không mang giá trị âm thì hàm thích nghi là sự ánh xạ một hay nhiều lần hàm đánh giá.G(x) = x12 + x22 (∀ x1, x2 ∈ [-1 , 2]): đây là hàm đánh giá.Chuyển từ hàm đánh giá g(x) sang hàm thích nghi f(x) để sử dụng GAThuật giải di truyền và sáng tạo khoa học Trang 7 Phương pháp luận sáng tạo trong khoa họcCmax – g(x) khi g(x) < Cmax0 trong các trường hợp khácCmax là một tham số đầu vào.Ngoài chuyển việc từ hàm đánh giá sang hàm thích nghi, còn một vấn đề quan trọng là điều chỉnh độ thích nghi của con cháu, khi điều chỉnh độ thích nghi giúp loại bỏ trường hợp khi một vài cá thể mang tính chất nổi trội trong vài thế hệ đầu sẽ lấn át các cá thể khác, điều này sẽ dẫn tới thuật giải di truyền sẽ kết thúc sớm, do dẫn tới việc hội tụ đạt trạng thái cân bằng từ sớm.Gọi độ thích nghi gốc là f và độ thích nghi đã biến đổi là f’. Điều chỉnh tuyến tính xác định quan hệ giữa f và f’ như sau:f’ = a*f + bỞ đây các hệ số a và b được chọn sao cho:f’avg = f avgvà f’max = Cmult * favg.Cmult là số các bản sao cần thiết đối với một thành viên tốt nhất. Với lượng biến tương đối nhỏ (n=50 đến 100), Cmult thường được chọn từ 1.2 đến 2 và tỏ ra khá hiệu quả.Ở trong phạm vi bài luận này sẽ không đi sâu vào các kỹ thuật của thuật giải di truyền phân tích sự gần gũi của thuật giải di truyền với lối giải quyết tự nhiên của con người.Thuật giải di truyền là quá trình sao chép lại sự thích nghi và tiến hóa của sinh vật, kết hợp với các phương pháp di truyền học nhằm đưa một cách thức giải quyết bài toán mới. Đó là sự suy xét toàn bộ các giải pháp, sau đó chọn lấy giải pháp tương đối tốt nhất dựa trên hệ số thích nghi và không để ý đến các chi tiết của vấn đề tập trung vào giải pháp trước nhất. Bản thân thuật giải di truyền không trả lời cho câu hỏi “tại sao có ?” nó tập trung trả lời “kết quả cuối cùng là gì ?”. Thuật giải di truyền và sáng tạo khoa học Trang 8F(x) = Phương pháp luận sáng tạo trong khoa họcĐối với cách tiếp cận bài toán trong tin học thông thường là tập trung vào câu hỏi “tại sao có ?” hay còn gọi đấy là một quá trình lan truyền tiến, là quá trình mở rộng cục bộ kiến thức cho bài toán đến khi tìm thấy lời giải thích hợp. Quá trình tiếp cận này với ưu điểm nếu bài toán giải được sẽ chắc chắn sẽ tìm thấy lời giải chính xác nhất. Nhưng chính sự mở rộng cục bộ kiến thức về bài toán là một hạn chế nhất định, nó đòi hỏi kiến thức đầy đủ về bài toán trong quá trình lan truyền, nếu quá trình lan truyền xảy ra thiếu sót trong kiến thức thì không thể lan truyền tiếp tục. Quá trình tiếp cận thông thường này phù hợp với các lớp bài toán con người phải đảm bảo có kiến thức đầy đủ về nó như các định lý, tiên đề… Nhìn vào thực tế, các vấn đề con người gặp đa phần là những vấn đề không có một công cụ thật sự có thể giúp được hoàn toàn. Đa phần con người phải thử nghiệm, đánh giá, rút kinh nghiệm và lặp lại quá trình như vậy tới khi đạt được kết quả. Một ví dụ như trong quá trình điều chế thuốc, vacxin: thu thập các mẫu bệnh phẩm, phân tích sơ bộ hợp chất mẫu bệnh phẩm, và tìm hợp chất làm yếu mẫu bệnh phẩm cũng như tìm kháng thể chống lại mẫu bệnh này. Quá trình tìm các hợp chất chính là sự thử nghiệm trên hàng ngàn hợp chất đang có nhằm tìm ra được loại hợp chất tốt nhất trong số chúng để được vào điều trị. Cũng như, quá trình điều chế đòi hỏi phải nhanh chóng, rẻ tiền nếu có thể và một khi vacxin được đưa vào điều trị thì không đảm bảo 100% thành công. Ở đây là một ví dụ ngoài tin học, nhưng nó đã cho chúng ta thấy rằng với cách tiếp cận thông thường trong việc giải quyết bài toán tin học sẽ không giải quyết được các vấn đề như kể trên, vì các yêu cầu chặt chẽ trong phương pháp thông thường. Từ ví dụ điều chế thuốc kể trên cho thấy, con người thông thường tập trung vào kết quả hơn là quá trình giải trong vấn đề thường ngày trong cuộc sống. Con người đã sử dụng nguyên lý thử - sai để giải quyết vấn đề kể trên. Nhưng thử - sai ở đây là thử - sai có chọn lọc, dựa trên kinh nghiệm, phân tích chứ không phải thử - sai mù quáng. Trong vấn đề điều chế thuốc ở trên sau khi phân tích sơ bộ hợp chất bệnh phẩm, con người ưu tiên lựa chọn các hợp chất kháng thể có nó đã được điều trị với mẫu bệnh trước đây gần giống mẫu bệnh phẩm đang thu thập, để tiếp tục điều chế trên kháng thể này để ra được vacxin tốt nhất có thể. Còn đối với thuật giải di truyền thì phương pháp tiếp cận vấn đề gần gũi hơn. Thuật giải di truyền vẫn dựa trên nguyên lý thử sai chọn lọc tương tự như con người. Chọn lọc cá thể như đã đề cập ở trên là quá trình dựa vào hàm thích nghi trong đó sẽ giữ lại những giải pháp hiện thời tốt nhất để chuẩn bị phát triển các Thuật giải di truyền và sáng tạo khoa học Trang 9 Phương pháp luận sáng tạo trong khoa họcgiải pháp tốt sau đó. Những giải pháp khi được chọn lọc sẽ được biến đổi theo 2 hướng: kết hợp và đột biến. Quá trình kết hợp các giải pháp của thuật giải di truyền cũng tương tự như lối giải quyết của con người thông thường. Trong một tập các giải pháp hiện thời, con người thường cố gắng tìm các điểm chung và từ đó hình thành một số giải pháp thống nhất và các giải pháp mới thường tốt hơn những giải pháp trước đó. Còn với quá trình đột biến được xem như là quá trình dự phòng khi tập giải pháp không thể đưa ra một giải pháp tốt hơn thì một sự thay đổi nhỏ không đặt dưới sự kết hợp giữa các giải pháp để mang lại một giải pháp tốt hơn. Quá trình dự phòng này sẽ tạo ra sự đa dạng trong tập các giải pháp, nhằm tránh sự cô lập trong tập giải pháp hiện thời, nó gần gũi với cách suy nghĩ của con người khi tiếp cận một vấn đề không chắc chắn, khi đấy con người thường sẽ dự phòng các tình huống xấu để nếu xảy ra sẽ tìm cách khắc phục và các quá trình dự phòng sẽ không ảnh hưởng nhiều lối giải quyết chính của vấn đề như việc sao lưu các cơ sở dữ liệu… Cả hai phép biến đổi giải pháp di truyền và đột biến, chúng đều mang tư tưởng suy nghĩ của con người nhưng được thể hiện dưới dưới phương pháp di truyền. Quay lại phép đột biến của thuật giải di truyền, thông thường nó sẽ mang xác suất nhỏ hơn xác suất của quá trình kết hợp, tương tự như trong tự nhiên nếu sự đột biến mang tần suất lớn dẫn tới việc thay đổi rất lớn trong cá thể loài và làm giảm quá trình phát triển của loài đó vì tính tốt trong các cá thể không được duy trì nhiều cho các thế hệ sau, đó là sự kế thừa tự nhiên. Tính kế thừa của sự tiến hóa trong tự nhiên khi đưa vào thuật giải di truyền cũng mang ý nghĩa tương tự. Các “tính tốt” trong tập giải pháp sẽ được duy trì sau nhiều thế hệ lai tạo, càng nhiều thế hệ thì các phần giải pháp “tính tốt” sẽ hiện rõ lên trong tập giải pháp hiện thời. Từ đó, nhận thấy thuật giải di truyền có cách tiếp cận vấn đề tự nhiên, gần gũi với con người như tổng hợp giải pháp thông qua phép lai ghép, dự phòng trong giải quyết vấn đề không chắc chắn bằng việc tạo sự đa dạng trong tập giải pháp với phép đột biến và được minh họa sự thích nghi tiến hóa của sinh vật và được thực hiện dưới kỹ thuật của di truyền học.Như đã nói ở phần trên, máy tính hiện nay đang được ứng dụng vào rất nhiều các lĩnh vực khác nhau. Do đó, các phương pháp giải bài toán trên máy tính cũng cần uyển chuyển nhằm đáp ứng linh hoạt vào các lĩnh vực khác nhau. Phương pháp giải quyết trên máy tính hiện nay được chia thành 2 hướng: trực tiếp và gián tiếp. Nếu nói đơn giản, phương pháp trực tiếp là quá trình tìm lời giải một cách chắn chắn, còn phương pháp gián tiếp là quá trình tìm lời giải tương đối tối ưu. Phương Thuật giải di truyền và sáng tạo khoa học Trang 10 [...]... tài nguyên để thực hiện hay nên áp dụng một vài thủ thuật nhỏ tuy không chắc chắn nhưng nó có thể giải quyết vấn đề nhanh hơn. Trong tin học, cách giải quyết truyền thống các bài tốn trên máy tính áp thường đặt người dùng phải suy nghĩ theo những hướng cố định, làm hạn chế thành phần tham gia sử dụng máy tính để giải quyết các vấn đề. Ví dụ: để giải quyết một bài toán, người dùng cần biết về những... lập trình có thể đáp ứng (kiểu dữ liệu, lớp thuật tốn nào ), nó khơng cung cấp mơ hình tổng qt để những người khơng có nhiều kiến thức về các thuật tốn – thuật giải có thể sử dụng ngay được. Nó khác hẳn với lối giải quyết tự nhiên của con người khi gặp vấn đề, bài toán trong thực tế. Cách giải quyết của con người đó là ln đánh giá vấn đề một cách tổng quát, sau đó lựa chọn các bước thích hợp nhằm... cân bằng từ sớm. Gọi độ thích nghi gốc là f và độ thích nghi đã biến đổi là f’. Điều chỉnh tuyến tính xác định quan hệ giữa f và f’ như sau: f’ = a*f + b Ở đây các hệ số a và b được chọn sao cho: f’ avg = f avg và f’ max = C mult * f avg . C mult là số các bản sao cần thiết đối với một thành viên tốt nhất. Với lượng biến tương đối nhỏ (n=50 đến 100), C mult thường được chọn từ 1 .2 đến 2 và... tốt nhất nhưng nó giải quyết nhanh chóng, trực tiếp vấn đề trong hoàn cảnh cho phép. Sự khác biệt về lối giải quyết vấn đề giữa các chương trình truyền thống và con người đã hạn chế sự linh hoạt, uyển chuyển sức sáng tạo của con người đưa vào cách giải quyết vấn đề trên máy tính. Một câu hỏi ở đây cho sự phát triển các thuật giải và thuật tốn“Tại sao khơng kết hợp giữa sức mạnh tính tốn của máy... cho các giải pháp mới và loại bỏ những giải pháp kém nhất để chỉ còn giữ lại một số nhất định các giải pháp. • Bước 6: Nếu chưa tìm được giải pháp tối ưu hay tương đối khá nhất hay chưa hết hạn kỳ ấn định, trở lại bước 4 để tìm giải pháp mới . • Bước 7: Tìm được giải pháp tối ưu hoặc nếu thời gian cho phép đã chấm dứt thì báo cáo kết quả tính được. Như các bước kể trên, bên trong thuật giải di truyền... việc quan sát này, các kỹ sư sẽ bắt chước hệ thống không khí trong các tổ mối để thiết kế hệ thống khơng khí cho các tịa nhà cao tầng nhằm đảm bảo sự ổn định về nhiệt độ, tiết kiệm điện năng và gần gũi với hơn tự nhiên để bảo vệ môi trường. Xem xét lại trong tin học, hiện nay các thuật giải mang ý tưởng tự nhiên đang được phát triển và ứng dụng rất nhiều: như lớp thuật giải tiến hóa bao gồm thuật... đổi ngoại cảnh, sinh vật có sự thích nghi thấp sẽ bị loại bỏ khỏi quần thể. Ý tưởng này đã được ứng dụng vào trong phương pháp giải quyết bài toán tin học thơng qua thuật giải di truyền, đó là sự xét toàn bộ giải pháp, trước nhất sẽ xét một số giải pháp, sau đó loại bỏ đi những thành phần khơng thích hợp để tạo sinh và biến hóa các giải pháp nhằm mục đích tạo ra nhiều giải pháp mới có hệ số đáp... trong tự nhiên trước giờ được xem là bí ẩn nhằm phát hiện ra các quy luật có ích để áp dụng vào trong cuộc sống. Một ví dụ đơn giản, các kiến trúc sư hiện nay đang quan tâm đến kiến trúc, cấu tạo của các tổ kiến và tổ mối nhằm xây dựng hệ thống khơng khí cho các tịa nhà. Tổ kiến, tổ mối ln có một nhiệt độ ổn định bất Thuật giải di truyền và sáng tạo khoa học Trang 2 Phương pháp luận sáng tạo... sao khơng kết hợp giữa sức mạnh tính tốn của máy tính với lối giải quyết tự nhiên của con người để tạo ra một phương pháp giải quyết vấn đề mang tính con người hơn trên máy tính ?” Hiện nay, ứng dụng cơng nghệ thơng tin vào các lĩnh vực khác đã mang lại hiệu quả to lớn. Sức mạnh của công nghệ thông tin đã được chứng minh. Nhưng một câu hỏi ngược đặt ra lại “Liệu từ các lĩnh vực khác có thể áp dụng... vực khác đã và đang được áp dụng thành cơng trong tin học, đặc biệt có một mảng thành cơng lớn đó là sử dụng các quy luật trong ngành sinh học để tiếp cận với lời giải trong các bài toán tin học, đặc biệt là các quy luật tiến hóa. Một trong những ứng dụng quy luật tiến hóa rộng rãi và nổi bật được áp dụng vào trong tin học đó là thuật giải di truyền. Thuật giải di truyền được chọn ở đây cũng nhằm . thác được các thông tin về độ tốt của mật mã đang thử thì có thể giải quyết vấn đề nhanh hơn. Vậy: Bằng cách nào để biết được giữa 2 mật mã, mật mã nào nhanh. lớn hơn hoặc bằng n .2. Lai ghép Lai ghép là quá trình tạo ra cá thể con từ 2 cá thể cha – mẹ. Trong thuật giải di truyền mỗi cá thể được biểu diễn bằng

Ngày đăng: 17/09/2012, 11:50

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