Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc n

67 1.6K 4
Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc 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

Luận văn cuối khoá Giải thuật di truyền Lời nói đầu Ngày nay con ngời làm việc với cờng độ chất lợng cao hơn nhờ sự hỗ trợ của khoa học kỹ thuật tiên tiến. Đặc biệt với sự phát triển nhảy vọt của Công nghệ thông tin đã tác động sâu sắc đến mọi lĩnh vực của xã hội, những ứng dụng của Công nghệ thông tin vào đời sống đã đóng góp to lớn cho sự phát triển của nhân loại. Để giải quyết các vấn đề nhờ máy tính, chúng ta thờng phân tích thuật giải dựa vào các phơng thức sau đây: 1. Dựa trên các công thức toán học, những định luật khoa học. 2. Dựa trên những ý kiến của các chuyên gia một lĩnh vực nào đó. 3. Dựa theo sự tiến hoá, bắt chớc lối sống thích nghi mà con ngời hay sinh vật nói chung đã dùng để tồn tại phát triển (tiếp cận thử sai). Phơng thức 1 thờng mang lại những đáp số rất chính xác (hay có thể nói là chính xác tuyệt đối). Tuy nhiên điểm yếu chính của nó là phải tìm ra công thức hay giả tởng những điều kiện hoạt động cho giống với thực tế. Điều này không phải lúc nào cũng có thể thực hiện một cách dễ dàng, đôi khi còn không thể thực hiện đợc. Trong hơn 20 năm qua, khoa học Trí tuệ nhân tạo đã đợc sử dụng để giúp con ngời giải quyết vấn đề. Nguyên tắc cơ bản của phơng thức này là kết hợp kiến thức của các chuyên gia với chơng trình tin học để dùng máy vi tính thay ngời giải quyết vấn đề một cách khôn ngoan. Sau này, Mạng nơron nhân tạo, Logic mờ, cùng với Giải thuật di truyền đợc nghiên cứu áp dụng thành công trong việc giải quyết các trờng hợp phức tạp. Trong phạm vi của đề tài, tôi xin trình bày về Giải thuật di truyền, trong đó đề cập đến những nguyên tắc cơ bản của GA, những giai đoạn cần thực hiện để giải quyết vấn đề bằng GA, những ứng dụng của GA một chơng trình minh = 1 = Luận văn cuối khoá Giải thuật di truyền hoạ viết bằng ngôn ngữ lập trình Visual Basic 6.0 " Tìm cực trị của đa thức bậc n" . Tuy đã nghiên cứu, học hỏi rất nhiều nhng lý thuyết Giải thuật di truyền khá mới mẻ, tài liệu về lý thuyết này chỉ có một vài cuốn sách các bài tạp chí bằng tiếng Anh Do đó, mặc dù đã cố gắng rất nhiều nhng không tránh khỏi thiếu sót. Rất mong đợc sự đón nhận xem xét, đánh giá bổ sung, góp ý kiến của các thầy cô giáo các bạn. Tôi xin chân thành cảm ơn sự giúp đỡ, hớng dẫn tận tình của cô giáo - thạc sĩ Trần Thị Kim Oanh, các giáo viên khoa Công nghệ Thông tin trờng Đại học Vinh sự động viên, đóng góp ý kiến của nhiều bạn trong quá trình tôi hoàn thành đề tài này. Vinh, 28 ngày 4 tháng năm 2004 Sinh viên thực hiện: Trần Bình Giang = 2 = Luận văn cuối khoá Giải thuật di truyền Lý do chọn đề tài Nhìn chung, con ngời sinh vật đều phải tiến hoá để thích nghi với hoàn cảnh. Vào thời kỳ đồ đá, con ngời phải sống trong hang núi, sử dụng các dụng cụ thô sơ. Sang thời đại tin học, mọi sinh hoạt đều diễn ra xung quanh máy tính nhiệm màu. Tiến hoá cho thích nghi với điều kiện của môi trờng chung quanh để tồn tại phát triển là việc làm hiển nhiên mà con ngời đã còn phải thực hiện. Tiến hoá cho thích nghi không có nghĩa là luôn tìm ra giải pháp tuyệt đối cho vấn đề, mà có thể chỉ là tơng đối trong điều kiện cho phép. Genetic Algorithms - Giải thuật di truyền ( gọi tắt là GA) bắt nguồn từ ý niệm tiến hoá để tồn tại phát triển trong tự nhiên, đợc xây dựng dựa trên cơ sở học thuyết tiến hoá của Darwin, mô phỏng những gì mà tự nhiên đã làm, đó là sự đào thải di truyền tiến hoá. Những cá thể tốt sẽ đợc duy trì, sinh sản ra các cá thể mới, còn những cá thể không có khả năng thích nghi thì bị diệt vong. Thực tế thì Giải thuật di truyền xuất hiện từ đầu những năm 50 của thế kỷ XX, khi một số nhà sinh học sử dụng máy tính để tái hiện các hệ thống sinh học trên máy tính. T tởng chính của Giải thuật di truyền là thay vì phát sinh một lời giải, ban đầu ta phát sinh một lúc nhiều lời giải cùng lúc. Sau đó trong số lời giải đợc tạo ra, chọn ra những lời giải tốt nhất để làm cơ sở phát sinh ra nhóm các lời giải sau với nguyên tắc " càng về sau" càng tốt hơn. Quá trình đó tiếp diễn cho đến lúc tìm đợc một lời giải tối u. Đó là t tởng sơ khởi ban đầu của GA. Càng về sau ngời ta càng hoàn thiện hơn phơng pháp luận của ý tởng này, dẫn đến sự ra đời của một hệ thống hoàn chỉnh các phơng pháp, nguyên lý dùng trong Giải thuật di truyền. Tuy nhiên mãi tới những năm 70, GA mới đợc sự quan tâm chú ý của các nhà nghiên cứu. Ngời có công đầu trong lĩnh vực này là giáo s John Henry Holland. Ông công bố lý thuyết này lần đầu tiên trong một cuốn sách mang tên " Adaptation in Natural and Artificial Systems" năm = 3 = Luận văn cuối khoá Giải thuật di truyền 1975. Trong vòng 10 năm qua, thế giới đã chú ý đến những thành quả mà lý thuyết này mang lại. Với những lý do trên, đợc sự nhất trí của giáo viên hớng dẫn, tôi chọn đề tài Luận văn cuối khoá là : " Nghiên cứu về Giải thuật di truyền ứng dụng để tìm cực trị của đa thức bậc n". = 4 = Luận văn cuối khoá Giải thuật di truyền Ngôn ngữ cài đặt Lập trình với Visual Basic (VB) ngày càng đợc sử dụng nhiều trong các dự án trong ngoài nớc. VB là sản phẩm phần mềm của Microsoft là một ngôn ngữ lập trình hớng đối tợng. Nó có rất nhiều u điểm nổi bật nh tiết kiệm đợc thời gian công sức so với một số ngôn ngữ lập trình có cấu trúc khác, dễ chỉnh sửa, tạo giao diện đẹp. VB rất mạnh trong quản lý cơ sở dữ liệu đặc biệt với VB 6.0 cho phép làm việc với các ứng dụng truy cập dữ liệu ở tầm cỡ vĩ mô liên quan đến hàng trăm, hàng nghìn ngời qua mạng. Không chỉ nh vậy, VB 6.0 còn có các các cấu trúc điều khiển, modul, hàm, thủ tục, . cho phép ngời dùng xây dựng đợc các chơng trình tính toán . Đặc biệt là các hàm khởi tạo số ngẫu nhiên rất phù hợp để ứng dụng các lý thuyết của Giải thuật di truyền. Vì thế, trong đề tài, sau khi nghiên cứu về Giải thuật di truyền, tôi ứng dụng lý thuyết này để xây dựng chơng trình tìm cực trị của đa thức bậc n lựa chọn ngôn ngữ lập trình VB 6.0 để cài đặt chơng trình hoàn chỉnh. Kết quả luận văn đã đạt đợc = 5 = Luận văn cuối khoá Giải thuật di truyền Trong khuôn khổ nội dung đề tài " Nghiên cứu về Giải thuật di truyền ứng dụng để tìm cực trị của đa thức bậc n", tôi trình bày các vấn đề sau: + Khoa học Trí tuệ nhân tạo với Giải thuật di truyền + Tổng quan về Giải thuật di truyền: lịch sử phát triển, khái niệm về GA, các tính chất đặc thù, quá trình tổng quát của GA . + Nghiên cứu về Giải thuật di truyền : chọn cấu trúc dữ liệu phù hợp, hệ số thích nghi, chọn cá thể, lai ghép, đột biến. + Những ứng dụng của Giải thuật di truyền . + Minh hoạ Giải thuật di truyền với bài toán tìm cực trị của đa thức bậc n + Phần phụ lục là chơng trình cụ thể viết bằng ngôn ngữ lập trình VB 6.0. Định hớng phát triển đề tài Giải thuật di truyền đã thu hút đợc nhiều nhà nghiên cứu ngày càng có vị trí quan trọng. Khi bắt đầu xuất hiện, Giải thuật di truyền chủ yếu chỉ áp dụng trong lĩnh vực là tối u hoá. Đến nay nó đã áp dụng vào nhiều ngành, nhiều lĩnh vực. Hớng phát triển tiếp theo của đề tài: Xây dựng đợc các chơng trình phức tạp ứng dụng Giải thuật di truyền nh bài toán định lộ trình cho công nhân ghi đồng hồ điện, các bài toán vận tải, xử lý ảnh, tìm nghiệm của đa thức bậc n. Chơng I = 6 = Luận văn cuối khoá Giải thuật di truyền Khoa học trí tuệ nhân tạo với Giải thuật Di truyền I. Lịch sử hình thành phát triển của trí tuệ nhân tạo. Trí tuệ nhân tạo ( TTNT ) có hai mục tiêu chính. Thứ nhất là tạo các chơng trình để máy tính có khả năng hiểu những "suy nghĩ" của con ngời hay nói cách khác là tạo đợc các máy tính thông minh. Mục đích của việc này là làm thế nào để máy tính có thể hỗ trợ con ngời trong việc đa ra những quyết định. Thứ hai là để phát triển các chơng trình ứng dụng. Vấn đề đặt ra là làm thế nào để máy tính hiểu đợc cách thức mà con ngời lu trữ xử lý kiến thức. Mặc dù mô hình tơng tự của máy tính thông minh đã đợc đa ra từ rất lâu nh- ng chỉ từ giữa những năm 30, khi Allen Turing công bố những kết quả quan trọng đầu tiên, ngời ta mới nghiên cứu vấn đề TTNT một cách nghiêm túc. Phát hiện của Turing cho rằng chơng trình có thể lu trữ trong bộ nhớ để sau đó thực hiện đợc trên cơ sở các phép toán cơ bản thao tác với các đại lợng số 0 số 1, tạo nên nền tảng của những máy tính hiện đại. Việc lu trữ chơng trình trong máy tính cho phép thay đổi chức năng của nó một cách nhanh chóng dễ dàng thông qua việc nạp một chơng trình mới khác vào bộ nhớ. Theo một nghĩa nào đó, khả năng này làm cho máy tính có khả năng học suy nghĩ. Đó cũng là một trong những biểu hiện quan trọng đầu tiên của TTNT. Các năm sau đó, nhiều chơng trình đợc đa ra nh: chơng trình chứng minh các định lý hình học phẳng, chơng trình giải quyết bài toán vạn năng đến khoảng năm 1960, McCathy đa ra ngôn ngữ lập trình đầu tiên dùng cho TTNT LISP (list processing). Những năm 60 có thể xem là một mốc quan trọng trong quá trình xây dựng máy tính có khả năng suy nghĩ. Tuy nhiên nó cũng còn có một số bế tắc do giới hạn khả năng của các thiết bị, bộ nhớ, thời gian thực hiện. Cuối những năm 70, một số nghiên cứu cơ bản trong các lĩnh vực nh xử lý ngôn ngữ tự nhiên, biểu diễn tri thức, lý thuyết giải quyết vấn đề đã đem lại diện mạo mới cho TTNT. Hệ chuyên gia đợc áp dụng trong các lĩnh vực khác = 7 = Luận văn cuối khoá Giải thuật di truyền nhau. Hệ chuyên gia là phần mềm máy tính chứa các thông tin tri thức về một lĩnh vực cụ thể nào đó, có khả năng giải quyết những yêu cầu của ngời sử dụng. Cuối những năm 80, thị trờng các sản phẩm dân dụng đã có khá nhiều sản phẩm ở trình độ cao nh máy giặt, máy ảnh sử dụng TTNT. Thế giới đang chuyển mình trong những nghiên cứu về TTNT. Tuy nhiên, câu hỏi liệu kỹ thuật TTNT có tạo nên bớc nhảy vọt trong công nghệ tin học, đặc biệt là công nghệ máy tính nh ngời ta mong đợi hay không thì vẫn cha có lời giải đáp thoả đáng. Sự xuất hiện của máy tính với t cách là một công cụ trợ giúp quá trình xử lý thông tin đã đem lại diện mạo hoàn toàn mới mẻ cho những hoạt động sáng tạo của con ngời. Cùng với quá trình nghiên cứu ứng dụng máy tính trong quản lý xã hội, quản lý kinh tế, ngời ta càng nhận thức sâu sắc vai trò quan trọng của việc tổ chức dữ liệu thuật giải. N.Wirth đã viết một cuốn sách nhan đề : " Cấu trúc dữ liệu + Giải thuật = Chơng trình". Sự xuất hiện của khoa học TTNT đã làm nảy sinh một công nghệ xử lý thông tin mới dựa trên tri thức. T- ơng tự nh trên, quá trình giải quyết vấn đề đợc cấu thành bởi hai yếu tố cơ bản: biểu diễn bài toán tìm kiếm lời giải trong không gian bài toán. II. Các phơng pháp giải quyết vấn đề. Nh chúng ta đã biết, không thể có phơng pháp giải quyết vấn đề tổng quát cho mọi bài toán. Điều này có nghĩa là khi đề cập đến một bài toán, chúng ta phải chú ý đến phơng pháp biểu diễn nó cùng với các phơng pháp tìm kiếm trong không gian bài toán nhận đợc. 1. Biểu diễn vấn đề trong không gian trạng thái các chiến lợc tìm kiếm trên đồ thị biểu diễn vấn đề. Về thực chất cách làm này gắn liền với chiến lợc tìm kiếm thử sai. Quá trình tìm kiếm có thể diễn đạt nh sau: xuất phát từ hình trạng đầu, xây dựng tất = 8 = Luận văn cuối khoá Giải thuật di truyền cả những hình trạng có thể, nhờ thực hiện một trong các thao tác có thể chấp nhận đợc. Sau đó xây dựng tập các hình trạng tiếp theo nhờ áp dụng thao tác khác cứ tiếp tục nh vậy cho đến khi đạt đến hình trạng đích. Để diễn đạt những phơng pháp tìm kiếm nh vậy, một phơng pháp biểu diễn vấn đề phù hợp là ngời ta đa vào các khái niệm trạng thái (state) toán tử (operator). Các hình trạng ban đầu cuối của bài toán gọi là các trạng thái đầu cuối tơng ứng. Không gian trạng thái đạt đợc từ trạng thái đầu bao gồm tất cả các hình trạng đợc sinh ra nhờ áp các thao tác có thể chấp nhận đợc. Các toán tử về thực chất là các phép biến đổi từ trạng thái này sang trạng thái khác. Một cách biểu diễn trực quan đối với không gian trạng thái các toán tử là sử dụng đồ thị. Trong đồ thị này các đỉnh tơng ứng với các trạng thái, các cung tơng ứng với các toán tử. * Các phơng pháp tìm kiếm: + Tìm kiếm theo chiều rộng + Tìm kiếm theo chiều sâu + Tìm kiếm sâu dần + Tìm kiếm cực tiểu hoá giá thành 2. Qui bài toán về bài toán con các chiến lợc tìm kiếm trên đồ thị Và/Hoặc Cách tiếp cận của bài toán này là tách bài toán thành bài toán con sao cho lời giải của một tập con nào đó của bài toán con cho phép xác định lời giải của bài toán ban đầu. Mỗi bài toán con có thể đợc giải quyết nhờ một phơng pháp nào đó, thậm chí có một bài toán con lại đợc phân tách thành các bài toán con khác. Phơng pháp thử sai đóng vai trò rất quan trọng trong cách tiếp cận dựa vào qui về bài toán con. * Các phơng pháp tìm kiếm : + Tìm kiếm theo chiều rộng + Tìm kiếm theo chiều sâu = 9 = Luận văn cuối khoá Giải thuật di truyền + Tìm kiếm cây lời giải có giá trị nhỏ nhất 3. Biểu diễn vấn đề nhờ Logic hình thức các phơng pháp suy diễn Logic. * Logic mệnh đề, Logic vị từ : một mệnh đề p là một phát biểu chỉ có thể nhận giá trị đúng (True, 1) hoặc sai (False, 0). Các biểu thức mệnh đề đợc xây dựng trên cơ sở các tên mệnh đề ( ký hiệu bởi các chữ cái latinh) các phép toán logic (phép hội, phép tuyển, phép phủ định, .) theo những quy tắc, cú pháp nhất định. Logic vị từ cho phép diễn đạt hầu hết tất cả các khái niệm nguyên lý của các khoa học cơ bản, nhất là toán học vật lý. * Các phơng pháp suy diễn : Chứng minh định lý nhờ Logic hình thức: +Thủ tục Wong.H + Thủ tục Resolution 1 - hợp giải ( dùng cho Logic mệnh đề) + Thủ tục Resolution 2 - hợp giải ( dùng cho Logic vị từ) 4. Phơng pháp tạo - kiểm tra ( generate and test) * Các bớc thực hiện của phơng pháp này nh sau: + Bớc 1: tạo một lời giải thử nghiệm nào đó. + Bớc 2: kiểm tra xem nó có phải là lời giải của bài toán không? + Bớc 3: nếu đúng thì dừng quá trình tìm kiếm đa ra thông báo thành công. Ngợc lại chuyển về Bớc 1. * Nhận xét: Phơng pháp này rất đơn giản. Nếu quá trình tạo lời giải có hệ thống thì thủ tục này sẽ đa ra đợc lời giải, khi quả thật lời giải này tồn tại. Với các bài toán đơn giản thủ tục Tạo - Kiểm tra thờng khá phù hợp. Tuy nhiên với các bài toán phức tạp, kỹ thuật này tỏ ra không mấy hiệu quả, có thể "sa lầy" vô hạn, không mang lại lời giải cho bài toán. 5. Phơng pháp leo đồi ( Hill climbing). = 10 = . tr n, đợc sự nhất trí của giáo vi n hớng d n, tôi ch n đề tài Lu n v n cuối khoá là : " Nghi n cứu về Giải thuật di truy n và ứng dụng để tìm cực trị. truy n. Vì thế, trong đề tài, sau khi nghi n cứu về Giải thuật di truy n, tôi ứng dụng lý thuyết n y để xây dựng chơng trình tìm cực trị của đa thức bậc n và

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

Hình ảnh liên quan

+ Tìm mô hình tối u cho vấn đề. Điển hình là tìm mối liên hệ giữa chi tiết cung cấp và kết quả có đợc - Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc n

m.

mô hình tối u cho vấn đề. Điển hình là tìm mối liên hệ giữa chi tiết cung cấp và kết quả có đợc Xem tại trang 17 của tài liệu.
Bảng 1 Bảng 2 - Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc n

Bảng 1.

Bảng 2 Xem tại trang 22 của tài liệu.
- Ví dụ: Các cá thể ứng với hệ số thích nghi g(i) cho trong bảng sau: - Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc n

d.

ụ: Các cá thể ứng với hệ số thích nghi g(i) cho trong bảng sau: Xem tại trang 25 của tài liệu.
- Với quy tắc chọn lọc bàn Roulete, các cá thể đợc biểu diễn lên hình tròn nh sau: - Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc n

i.

quy tắc chọn lọc bàn Roulete, các cá thể đợc biểu diễn lên hình tròn nh sau: Xem tại trang 25 của tài liệu.
- Quy tắc lai ghép mặt nạ là hình thức tổng quát nhất của Lai ghép. - Luận văn nghiên cứu về giải thuật di truyền và ứng dụng để tìm cực trị của đa thức bậc n

uy.

tắc lai ghép mặt nạ là hình thức tổng quát nhất của Lai ghép Xem tại trang 28 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