BÀI báo cáo môn NHẬP môn TRÍ TUỆ NHÂN tạo đề tài gene giải thuật để giải bài toán ba lô

44 0 0
BÀI báo cáo môn  NHẬP môn TRÍ TUỆ NHÂN tạo đề tài gene giải thuật để giải bài toán ba  lô

Đ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

TRƯỜNG ĐẠI HỌC HẢI PHỊNG KHOA CƠNG NGHỆ THƠNG TIN BÀI BÁO CÁO Mơn : NHẬP MƠN TRÍ TUỆ NHÂN TẠO Nhóm 11 – Đề tài: Gene Giải thuật để giải tốn ba- lơ Sinh viên thực hiên: Lương Anh Q Đào Tiến Minh Nguyễn Hồng Việt Tơ Mạnh Lớp: DHCNTT1.K22 Giảng viên: Đào Việt Anh Hải Phòng, tháng 12 năm 2022 Khoa Công Nghệ Thông Tin Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 Khoa Công Nghệ Thông Tin Mục lục Giới thiệu Giải thuật di truyền (Genertic Algorithm - GAs) I Giới thiệu: II Các thành phần Gas Bài toán Ba lô Phát biểu toán: Ứng dụng Gas để giải toán: III Ứng dụng mơ tốn: Môi trường xây dựng ứng dụng: Cấu trúc ứng dụng: Một số thành phần chương trình: Chương trình Giao diện 40 Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 Khoa Cơng Nghệ Thơng Tin  Giới thiệu T rong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho toán vấn đề nhà khoa học máy tính đặc biệt quan tâm Mục đích thuật tốn tìm kiếm lời giải tìm lời giải tối ưu cho toán thời gian nhỏ Các thuật tốn tìm kiếm khơng có thơng tin / vét cạn (tìm kiếm danh sách, đồ thị) sử dụng phương pháp đơn giản trực quan thuật tốn tìm kiếm có thơng tin sử dụng heurictics để áp dụng tri thức cấu trúc không gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm sử dụng nhiều với khơng gian tìm kiếm nhỏ khơng hiệu tìm kiếm khơng gian tìm kiếm lớn Tuy nhiên, thực tiễn có nhiều tốn tối ưu với khơng gian tìm kiếm lớn cần phải giải Vì vậy, việc địi hỏi thuật giải chất lượng cao sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt cần thiết giải tốn có khơng gian tìm kiếm lớn Thuật giải di truyền (genetic algorithm) kỹ thuật tìm kiếm lời giải tối ưu đáp ứng yêu cầu nhiều toán ứng dụng Hiện nay, thuật toán di truyền với logic mờ ứng dụng rộng rãi lĩnh vực phức tạp Thuật toán di truyền kết hợp với logic mờ chứng tỏ hiệu vấn đề khó giải phương pháp thơng thường hay phương pháp cổ điển, tốn cần có lượng giá, đánh giá tối ưu kết thu 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 Tuy giải thuật Gene (GA) chậm số thuật toán khác song GA lại có vài ưu điểm trội như: dễ thể hiện, không bị rơi vào trạng thái cực trị địa phương, dễ thay đổi hàm thích nghi, … Vì vậy, thuật tốn Gene lựa chọn thích hợp cho dạng tốn định Ví dụ tốn tìm đường, tốn balơ, … Trong khn khổ đề tài này, em xin trình bày nội dung giải thuật Gene ứng dụng việc giải tốn Chiếc ba lơ loại (Knapsack 2) với phương pháp lựa chọn Rank Selection Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 Khoa Công Nghệ Thông Tin I Giải thuật di truyền (Genertic Algorithm - GAs) Giới thiệu: GAs (John Holland, 1975) mơ tiến hóa tự nhiên (Darwinian Evolution) mức gen sử dụng tư tưởng survival of the fittest (chọn lọc tự nhiên) Một cá (chromosome) mô tả lời giải ứng viên toán Một tập cá thể “alive”, gọi quần thể (population) tiến hóa từ hệ tới hệ khác phụ thuộc vào thích nghi cá thể Thế hệ sinh chứa lời giải toán  Giải thuật: - Khởi tạo quần thể P(0) - số i hệ thứ i - Lặp đến quần thể hội tụ đạt đến tiêu chuẩn kết thúc + Đánh giá độ thích nghi cá thể P(i) + Lựa chọn cha từ P(i) dựa độ thích nghi chúng P(i) + Áp dụng toán tử Gen (crossover, mutation) từ cha chọn để sinh + Đạt hệ P(i + 1) gồm cá thể cha P(i) Các thành phần Gas a Khởi tạo (Initializetion) Tạo ngẫu nhiên số cá thể chấp nhận để quần thể phù hợp với kích thước quần thể quy định sẵn b Hàm thích nghi (Fitness Function) Gán giá trị thích nghi cho cá thể Giá trị thích nghi sát với thực tế độ xác cao c Lựa chọn để kết hợp lại (Selection For Recombine) Có nhiều kiểu lựa chọn Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 Khoa Công Nghệ Thông Tin + roulette wheel selection + Boltzman selection + Tournament selection + rank selection + steady state selection + Elitism d Mã hóa Mã hóa chuỗi gene cá thể thành dạng thích hợp (nhị phân, mã hóa giá trị, mã hóa hoán vị) e Lai ghép Sau chọn cặp NST dùng để lai, ta tiến hành cắt ghép để tạo NST (con mới) Có nhiều hình thức lai ghép: lai điểm, lai nhiều điểm, lai phép toán nhị phân, … f Đột biến Sau lai ghép, để tạo đa dạng quần thể, ta làm phép đột biến vài cá thể Trên chuỗi gene, vài vị trí, làm thay đổi giá trị đoạn gene g Đánh giá Khi có quần thể mới, ta tiến hành kiểm tra đánh giá xem cá thể tốt nhất, cá thể tồi Loại bỏ bớt cá thể tồi để lặp lại bước h Tiêu chuẩn kết thúc Khơng có q trình khơng thể kết thúc Q trình tiến hóa dừng lại sau khoảng tgian quy định(một số hệ) sau hội tụ (khơng thể tìm thêm cá thể tốt hơn) Nhập mơn trí tuệ nh/div>"; html += "" + "" + ""; element.append($(html)); } /** 29 Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 Khoa Công Nghệ Thông Tin * function to create new graph area */ function createNewDemo(demoOptions) { if (!demoOptions) demoOptions = {}; demoOptions = $.extend(true, {}, DEMO, demoOptions); var container = $("#mainPageDemosContainer"); var grapHeaderContainer = $("#MainTabs"); DEMO_ID_INC++; NUM_OF_DEMOS++; var demoId = "demo" + DEMO_ID_INC; var graphHeaderHtml = $("Demo" + DEMO_ID_INC + " "); graphHeaderHtml.click(function(e) { if (e.target.className == "closeDemo") { $('#' + demoId + 'Header').remove(); $('#' + demoId + 'Area').remove(); delete MAIN_DEMOS[demoId]; NUM_OF_DEMOS ; if (NUM_OF_DEMOS > 0) { // get last graphId var i = 0; for ( var property in MAIN_DEMOS) { if (MAIN_DEMOS.hasOwnProperty(property)) { i++; if (i < NUM_OF_DEMOS) continue; // stuff 30 Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 Khoa Cơng Nghệ Thơng Tin // MAIN_GRAPHS[property].graphTitle selectDemo(property); break; } } } else { // hide drawing menu $('.drawingMenuItem').addClass('hiden'); } } else (e.target.className.indexOf('changeBetween') !== -1) { // no time to be implemented now } else { selectDemo(demoId); } e.stopPropagation(); if }); var demoAreaHtml = $("" + ""); container.append(demoAreaHtml); grapHeaderContainer.append(graphHeaderHtml); if (!MAIN_DEMOS[demoId]) { MAIN_DEMOS[demoId] = $.extend(true, demoOptions, { demoTitle : "Demo" + DEMO_ID_INC, demoId : demoId, }); } 31 Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 {}, Khoa Công Nghệ Thông Tin if (MAIN_DEMOS[demoId].elements != null) selectDemo(demoId); } /** * function to be called when selecting a graph header * * @param graphId */ function selectDemo(demoId) { $('.demoAreaHeader').removeClass('selected'); $('.demoArea').removeClass('selected'); $('#' + demoId + 'Header').addClass('selected'); $('#' + demoId + 'Area').addClass('selected'); CUURENT_OPEN_DEMO = demoId; // show add node button $('.drawingMenuItem').removeClass('hiden'); } function runDemo() { var demoId = CUURENT_OPEN_DEMO; MAIN_DEMOS[demoId].numOfElements SELECTED_DATA.numOfElements; MAIN_DEMOS[demoId].maxCapacity SELECTED_DATA.maxCapacity; MAIN_DEMOS[demoId].elements SELECTED_DATA.elements; // draw initial things drawDemo(demoId); // start the Algorithm setup(demoId); } //function to draw new demo tab function drawDemo(demoId) { var container = $('#' + demoId + 'Area allEleents'); 32 Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22 = = = Khoa Công Nghệ Thông Tin container.html(''); var demo = MAIN_DEMOS[demoId]; var elements = demo.elements; var elementsHTML = ''; for (var i = 0; i < elements.length; i++) { var info = 'w: ' + elements[i].weight + 'b: ' + elements[i].benefit + 'i: ' + i + ''; elementsHTML += '' + '' + '' + '' + '' + '' + '' + '' + info + ''; } container.append($(elementsHTML)); // draw bag var container = $('#' + demoId + 'Area demoBagDrawing'); container.html(''); var elementsHTML = ''; var info = 'Status: Not started yet! Total Weight: ' + 'Total benefit :' + 'Max Capacity: ' + 'Total generation:' + '' + '' + 'Time in ms:' + ''; 33 Nhập mơn trí tuệ nhân tạo Nhóm 11 – CNTT1.K22

Ngày đăng: 26/04/2023, 10:35