1. Trang chủ
  2. » Công Nghệ Thông Tin

báo cáo môn trí tuê nhân tạo thiết kế mạng phân phối điện năng dùng giải thuật di truyền ( genetic algorithm )

20 525 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 144,05 KB

Nội dung

Định nghĩa 1.6 Thuật toán giải bài toán đặt ra là một thủ tục xác định bao gồm hữu hạn các bước cần thực hiện để thu được đầu ra cho một đầu vào cho trước của bài toán.. Thời gian chạy t

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ───────

BÀI TẬP LỚN

MÔN: TRÍ TUỆ NHÂN TẠO

ĐỀ TÀI: THIẾT KẾ MẠNG PHÂN PHỐI ĐIỆN NĂNG SỬ DỤNG GIẢI THUẬT DI

TRUYỀN

Sinh viên thực hiện : Nhóm 15

2 Phan Hồng Thuý 20092664

3 Nguyễn Văn Trường 20092921

4 Nguyễn Xuân Tuấn 20093016

Mã môn: IT4040 Giáo viên hướng dẫn : Ths Phạm Văn Hải

Hà Nội, tháng 8 năm 2013

Trang 2

MỤC LỤC

MỤC LỤC 2

LỜI MỞ ĐẦU 3

NỘI DUNG 4

CHƯƠNG I CƠ SỞ LÝ THUYẾT 4

1.1 Các khái niệm cơ bản về đồ thị 4

1.2 Lý thuyết về độ phức tạp thuật toán 6

1.3 Lớp bài toán NP-khó 8

CHƯƠNG II BÀI TOÁN THIẾT KẾ MẠNG PHẦN PHỐI ĐIỆN NĂNG 11

2.1 Phát biểu bài toán 11

2.2 Các ứng dụng thực tiễn bài toán 11

CHƯƠNG III GIẢI THUẬT DI TRUYỀN 12

3.1 Ý tưởng của giải thuật di truyền 12

3.2 Các khái niệm cơ bản trong giải thuật di truyền 12

3.3 Các thành phần chính của giải thuật di truyền 14

CHƯƠNG IV CÁC GIẢI THUẬT DI TRUYỀN ÁP DỤNG TRONG BÀI TOÁN THIẾT KẾ MẠNG PHÂN PHỐI ĐIỆN NĂNG 15

4.1 Mã hóa 15

4.2 Hàm thích nghi 15

4.3 Khởi tạo gen 15

4.4 Khởi tạo cá thể 16

4.5 Khởi tạo quần thể 16

4.6 Các phép tiến hóa 16

CHƯƠNG V CÁC KẾT QUẢ ĐẠT ĐƯỢC 17

KẾT LUẬN 19

TÀI LIỆU THAM KHẢO 20

Trang 3

LỜI MỞ ĐẦU

Chúng em xin chân thành cảm ơn thầy Phạm Văn Hải đã tận tình hướng dẫn chúng

em tìm hiểu môn học “Trí tuệ nhân tạo” cũng như trong quá trình hoàn thành đồ án môn

học này Một học kỳ không phải là quá dài, nhưng nhờ sự hướng dẫn của thầy chúng em

đã có những kiến thức nền tảng và cơ bản về môn học “Trí tuệ nhân tạo”, hiểu biết và có khả năng vận dụng các thuật toán tìm kiếm, logic, suy diễn, biểu diễn tri thức Các kiến thức này thực sự là thú vị, cẩn thiết và đã giúp đỡ chúng em rất nhiều trong học tập, trong quá trình học các môn khác Tuy đã rất có gắng nhưng vì thời gian thực hiện đồ án môn học có hạn, kinh nghiệm còn thiếu nên đồ án này chắc chắn sẽ không tránh khỏi thiếu sót Chúng em rất mong nhận được sự góp ý của thầy

Nhóm sinh viên thực hiện đề tài

Trang 4

NỘI DUNG

CHƯƠNG I CƠ SỞ LÝ THUYẾT

Chương này trình bày các vấn đề sau:

 Các khái niệm cơ bản về đồ thị

 Lý thuyết độ phức tạp thuật toán

 Lớp bài toán NP-khó

1.1 Các khái niệm cơ bản về đồ thị

1.1.1 Định nghĩa đồ thị

Đồ thị là một cấu trúc rời rạc gồm các đỉnh và các cạnh nối các đỉnh này Chúng ta phân biệt các loại đồ thị khác nhau bởi kiểu và số lượng các cạnh nối giữa các đỉnh này Ta định nghĩa các loại đồ thị như sau:

Định nghĩa 1.1: Đơn đồ thị vô hướng G = (V, E) là cặp gồm:

Tập đỉnh V là tập hữu hạn phần tử, các phần tử này gọi là đỉnh

Tập cạnh E là tập các bộ không có thứ tự dạng:

(u, v), u, v ∊ V, u≠v

Hình 1: Đơn đồ thị G

Để tiện trong quá trình sử dụng, đồ án sẽ gọi đồ thị thay cho đơn đồ thị vô hướng mà không chú thích gì thêm

Định nghĩa 1.2: Đồ thị G = (V, E) được gọi là đồ thị đầy đủ nếu mọi cặp đỉnh trong V

đều có cạnh nối.

a

b e

f

h

Trang 5

Hình 2: Đồ thị đầy đủ G

1.1.2 Đồ thị con

Trong các bài toán về đồ thị, đôi khi chúng ta chỉ quan tâm tới một phần của đồ thị đó Khái niệm đồ thị con được đưa ra để tách riêng một phần của đồ thị mà chúng ta cần quan tâm

Định nghĩa 1.3: Đồ thị H = (W, F) được gọi là đồ thị con của đồ thị G = (V, E) nếu W

V và F ⊆ E Ký hiệu H ⊆ G.

Hình 3: Đồ thị con H

1.1.3 Đường đi trong đồ thị

Định nghĩa 1.4: Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên dương

trên đồ thị vô hướng G= (V, E) là dãy x 0 , x 1 , x 2 , … x n-1 trong đó u = x 0 , v = x n-1 , (x i , x i+1 )

¿ E, i = 0 (n-2) Đỉnh u được gọi là đỉnh đầu, còn đỉnh v được gọi là đỉnh cuối của đường đi.”

Đường đi gọi là đường đi đơn nếu không có đỉnh nào bị lặp lại trên nó.

Trang 6

Đồ án sử dụng khái niệm hai đường đi phân biệt để chỉ hai đường đi đơn trên cùng một

đồ thị không có đỉnh chung

1.2 Lý thuyết về độ phức tạp thuật toán

Các vấn đề kỹ thuật thường được khái quát dưới dạng bài toán tính toán để tiện cho việc nghiên cứu và giải quyết Bài toán tính toán là mối quan hệ giữa đầu vào (những yếu tố cho trước của bài toán) và đầu ra (những kết quả tính toán cần đạt được) của bài toán Khái niệm độ phức tạp tính toán được xem như là chuẩn mực quan trọng để đánh giá hiệu quả của một bài toán tính toán

1.2.1 Một số khái niệm

Định nghĩa 1.5 Bài toán tính toán F là ánh xạ từ các xâu nhị phân độ dài hữu hạn vào

tập các xâu nhị phân độ dài hữu hạn F: {0, 1}* → {0, 1}*.

Ở đây, các yếu tố đầu vào và đầu ra của bài toán được biểu diễn bằng xâu nhị phân Mọi dạng dữ liệu (số, kí tự, xâu, mảng, tập hợp…) đều có thể mã hóa được bằng xâu nhị phân Bài toán chỉ ra mối quan hệ giữa đầu vào và đầu ra, nhưng để đạt được đầu ra từ đầu vào cho trước thì phải sử dụng các thuật toán để giải bài toán đó

Định nghĩa 1.6 Thuật toán giải bài toán đặt ra là một thủ tục xác định bao gồm hữu hạn

các bước cần thực hiện để thu được đầu ra cho một đầu vào cho trước của bài toán.

Với mọi thuật toán, bên cạnh tính đúng đắn, thì độ phức tạp tính toán của thuật toán đó cũng là một yếu tố đáng được quan tâm

Định nghĩa 1.7 Độ phức tạp tính toán của một thuật toán là lượng tài nguyên tính toán

mà thuật toán đó sử dụng để thực hiện công việc Có hai loại tài nguyên cần quan tâm khi đánh giá độ phức tạp tính toán của thuật toán là bộ nhớ và thời gian.

Ngày nay, do sự phát triển của công nghệ chế tạo bộ nhớ, vấn đề tài nguyên bộ nhớ cho thuật toán thường ít được tập trung hơn vấn đề về thời gian tính toán Thời gian chạy thực

tế của một thuật toán phụ thuộc vào nhiều yếu tố: cấu hình máy, ngôn ngữ cài đặt và cách thức cài đặt thuật toán, trình biên dịch và dữ liệu vào, trong đó dữ liệu vào là yếu tố quan trọng và đặc trưng nhất, được dùng để so sánh hiệu quả của thuật toán Để tạo ra sự thống

Trang 7

nhất trong cách đánh giá thời gian tính của thuật toán, chỉ xét đến yếu tố kích thước dữ liệu đầu vào khi đánh giá

1.2.2 Các ký hiệu tiệm cận

Các ký hiệu tiệm cận thường hay sử dụng khi đánh giá độ phức tạp tính toán của thuật toán gồm có Θ, Ο, Ω và ο, ω Phần này sẽ nhắc lại định nghĩa của các tiệm cận (bỏ qua hai ký hiệu ο, ω)

Định nghĩa 1.8 Cho các hàm f(n) và g(n) là các hàm số của số n nguyên dương

 Θ(g(n)) = {f(n): tồn tại các hằng số dương cf(n): tồn tại các hằng số dương c1, c2 và n0 sao cho 0 ≤ c1g(n) ≤ f(n) ≤

c2g(n), với mọi n ≥ n0}, g(n) được gọi là đánh giá tiệm cận đúng của f(n) hay f(n)

có bậc là g(n)

 Ο(g(n)) = {f(n): tồn tại các hằng số dương cf(n): tồn tại các hằng số dương c và n0 sao cho f(n) ≤ cg(n), với mọi n ≥

n0}, g(n) gọi là tiệm cận trên tiêm cận của f(n) hay f(n) có bậc không quá g(n)

 Ω(g(n)) = {f(n): tồn tại các hằng số dương cf(n): tồn tại các hằng số dương c và n0 sao cho cg(n) ≤ f(n), với mọi n ≥

n0} g(n) được gọi là tiệm cận dưới tiệm cận của f(n) hay f(n) có bậc ít nhất là g(n)

Để sử dụng các ký hiệu tiệm cận trong việc đánh giá thời gian tính của các thuật toán, các quy ước sau được sử dụng:

 Nếu thuật toán có thời gian tính trong tình huống nhanh nhất (tốt nhất) T(n) với kích thước dữ liệu đầu vào n và T(n) = Ω(g(n)) thì thời gian tính tốt nhất của thuật toán có bậc không nhỏ hơn g(n) hay thời gian tính tốt nhất của thuật toán là Ω(g(n))

 Nếu thuật toán đòi hỏi thời gian tính trong tình huống chậm nhất (tồi nhất) T(n) với kích thước dữ liệu đầu vào n và T(n) = Ο(g(n)) thì thời gian tính tốt nhất của thuật toán có bậc không nhỏ hơn g(n) hay thời gian tính tốt nhất của thuật toán là Ο(g(n))

 Nếu thuật toán đòi hỏi thời gian tính trung bình T(n) với kích thước dữ liệu đầu vào n và T(n) = Θ(g(n)) thì thời gian tính tốt nhất của thuật toán có bậc không nhỏ hơn g(n) hay thời gian tính tốt nhất của thuật toán là Θ(g(n))

Trang 8

Thông thường khi nói thuật toán có thời gian tính là Ο(f(n)) thì hiểu là thời gian tính của thuật toán đánh giá trong tình huống tồi nhất là Ο(f(n))

Còn khi nói thuật toán có thời gian tính là Ω(f(n)) thì hiểu đánh giá thời gian tính của thuật toán trong tình huống tốt nhất là Ω(f(n))

1.2.3 Độ phức tạp tính toán của bài toán

Định nghĩa 1.9 Độ phức tạp tính toán của một bài toán là thời gian tính (ở đây chỉ quan

tâm đến đánh giá thời gian thực hiện, bỏ qua đánh giá về yêu cầu bộ nhớ) của thuật toán tốt nhất trong số tất cả các thuật toán giải bài toán đó.

Với bài toán chắc chắn sẽ có những thuật toán chưa biết, vậy làm thế nào để biết được thời gian tính của thuật toán tốt nhất? Có 2 cách để giải quyết vấn đề này:

 Cách thứ nhất: Sử dụng các kỹ thuật đưa ra cận dưới cho độ phức tạp tính toán của bài toán

 Cách thứ hai: Chỉ ra rằng bài toán đang xét có mức độ khó (tức là độ phức tạp tính toán) không thua kém gì bất kỳ một bài toán khó nào hiện biết

1.3 Lớp bài toán NP-khó

1.3.1 Một số khái niệm cơ bản

Định nghĩa 1.9 Thuật toán có thời gian tính đa thức là thuật toán mà độ phức tạp thời

gian của nó trong trường hợp xấu nhất được giới hạn trên bởi một hàm đa thức của kích thước dữ liệu đầu vào (kích thước dữ liệu đầu vào được tính bằng số bít cần thiết để biểu diễn nó) Tức là nếu n là kích thước dữ liệu đầu vào thì luôn tồn tại một đa thức p(n) sao cho:

T(n) = Ο(p(n))

Ví dụ:

Các thuật toán có độ phức tạp thời gian trong trường hợp tồi nhất dưới đây đều có thời gian tính đa thức:

Ο(p(n)) = 2n ; 3n3 + 4 ; 5n + n10

Các thuật toán có độ phức tạp thời gian trong trường hợp tồi nhất dưới đây không có thời gian tính đa thức:

Trang 9

Ο(f(n)) = 2n; 2n; n!

Định nghĩa 1.10 Bài toán quyết định là bài toán mà đầu ra của nó chỉ có thể là “yes”

hoặc “no” (0 hoặc 1, đúng hoặc sai…).

Định nghĩa 1.11 Xét bài toán tối ưu hóa (P) max{f(x): x ¿ D} Ta gọi bài toán dạng quyết định tương ứng với bài toán tối ưu (P) là bài toán quyết định sau:

(PD) “Cho giá trị K Hỏi có tìm được u ¿ D sao cho f(u) ≥ K hay không?”

Bài toán tối ưu và bài toán quyết định của nó có mối liên hệ được phát biểu trong định lý sau:

Định lý 1.12 Nếu bài toán quyết định tương ứng với một bài toán tối ưu có thể giải được

hiệu quả (chẳng hạn bằng thuật toán có thời gian tính đa thức) thì bài toán tối ưu đó cũng giải được hiệu quả (bằng thuật toán thời gian tính đa thức).

Định nghĩa 1.13 Ta gọi bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời “yes”

cho bộ dữ liệu vào “yes” của bài toán là một bằng chứng có độ dài bị chặn bởi một đa thức bậc cố định của độ dài dữ liệu đầu vào của bài toán, và việc kiểm tra nó là bằng chứng xác nhận câu trả lời “yes” đối với đầu vào đã cho của bài toán có thể thực hiện xong sau thời gian đa thức.

1.3.2 Lớp bài toán P, NP, và co-NP

Dưới đây là phân loại các lớp của bài toán:

Định nghĩa 1.14 P là lớp bài toán quyết định có thể được giải quyết trong thời gian đa

thức.

Hay nói cách khác, P là lớp các bài toán có thể được giải một cách nhanh chóng

Định nghĩa 1.15 NP là lớp bài toán quyết định mà để xác nhận câu trả lời là “yes” của

nó, có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra.

Hay có thể nói NP là lớp bài toán mà có thể kiểm tra câu trả lời “yes” một cách nhanh chóng trong thời gian đa thức nếu đã có được lời giải

Hiển nhiên ta có P ⊂ NP, tuy nhiên xác định xem NP ⊂ P hay không hiện vẫn chưa có lời giải

Trang 10

Định nghĩa 1.16 co-NP là lớp bài toán mà để xác nhận câu trả lời “no” thì có thể đưa

ra bằng chứng ngắn gọn dễ kiểm tra.

Như vậy có thể thấy co-NP là lớp bài toán hoàn toàn ngược với lớp NP Có thể miêu tả mối quan hệ giữa ba lớp bài toán trên như trong hình dưới đây:

Hình 4: Các lớp bài toán P, NP và co-NP

1.3.3 Khái niệm quy dẫn

Định nghĩa 1.17 Giả sử A và B là hai bài toán quyết định Ta nói bài toán A có thể quy

dẫn sau thời gian đa thức về bài toán B nếu tồn tại thuật toán thời gian đa thức R cho phép biến đổi bộ dữ liệu vào x của A thành bộ dữ liệu vào R(x) của B sao cho x là bộ dữ liệu “yes” của A khi và chỉ khi R(x) là bộ dữ liệu “yes” của B.

1.3.4 Lớp bài toán đầy đủ và NP-khó

Định nghĩa 1.18 Một bài toán quyết định A được gọi là NP-đầy đủ nếu như A là bài toán

trong NP và mọi bài toán trong NP đều có thể quy dẫn về A.

Định nghĩa 1.19 Một bài toán A được gọi là NP-khó nếu như sự tồn tại thuật toán đa

thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài toán trong NP.

Trang 11

CHƯƠNG II BÀI TOÁN THIẾT KẾ MẠNG PHẦN PHỐI ĐIỆN NĂNG

Chương này sẽ trình bày các vấn đề sau:

 Phát biểu bài toán

 Các ứng dụng thực tiễn của bài toán

2.1 Phát biểu bài toán

Tên bài toán:

Thiết kế mạng phân phối điện năng

Mô tả bài toán:

Cho 1 đồ thị G = (V, E) vô hướng liên thông Ứng với mỗi cạnh e ϵ E sẽ được gán

1 trọng số chi phí kết nối trên 1 đơn vị điện năng

Input:

Cho tâp P ⊂ V là tập các nút nguồn Tập Q ⊂ V là tập các nút tiêu thụ, ứng với mỗi nút v ϵ Q sẽ được gán cho 1 thông số là số đơn vị điện năng tiêu thụ P ∩ Q =

Output:

Xây đựng đường kết đơn nối từ các nút v ϵ Q đến các nút u ϵ P sao cho tổng chi phí xây dựng tất cả cá đường kết nối là nhỏ nhất

Giải thuật đề xuất:

Genetic Algorithm (GA)

2.2 Các ứng dụng thực tiễn bài toán

Ngày nay, vấn đề truyền tải điện năng từ các trung tâm phát điện năng đi xa vẫn đang là vấn đề cần phải bàn tới Với khoảng cách xa và có nhiều đơn vị tiêu thụ điện năng thì vấn

đề tối ưu hóa khoảng cách sẽ giúp đỡ rất nhiều trong việc kết nối Ngoài ra, việc tối ưu mạng phân phối này sẽ giúp tiết kiệm ra nhiều chi phí về nguyên vật liệu cũng như tăng cường hiệu suất truyền tải Bài toán thiết kế điện năng dựa trên những vấn đề cần khắc phục của việc truyền tải từ nhiều nguồn đến nhiều đích với khoảng cách xa Bằng việc

mô phỏng một mạng điện bằng một đồ thị vô hướng với trọng số cạnh là chi phí kết nối, sau khi áp dụng thuật toán, ta sẽ thu được một đường đi trên đồ thị qua các đỉnh tới đích

Trang 12

với đường đi là nhỏ nhất, đường đi này sẽ được áp dụng vào thực tế tương tự như mô phỏng để giảm tải chi phí kết nối và truyền dẫn

CHƯƠNG III GIẢI THUẬT DI TRUYỀN

Chương này sẽ trình bày các vấn đề sau:

 Ý tưởng của giải thuật di truyền

 Các khái niệm cơ bản trong giải thuật di truyền

 Các thành phần của giải thuật di truyền

3

3.1 Ý tưởng của giải thuật di truyền

Thuật giải di truyền do D.E Goldberg đề xuất, được L.Davis và Z.Michalevicz phát triển Thuật giải di truyền hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên

là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu Quan niệm này có thể được xem như một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước Tiến hóa tự nhiên được duy trì nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn được sinh ra để bổ sung, thay thế thế hệ cũ Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại Cá thế nào không thích ứng được với môi trường

sẽ bị đào thải Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hóa

Xuất phát từ quan điểm trên, ý tưởng của giải thuật di truyền là mô phỏng các lời giải của bài toán cần giải quyết thành các cá thể Sau đó dựa vào một tập hợp các cá thể ban đầu,

áp dụng các toán tử di truyền để sinh ra các lời giải mới Quá trình tiến hóa và chọn lọc tự nhiên sẽ tìm ra lời giải tốt nhất của bài toán

3.2 Các khái niệm cơ bản trong giải thuật di truyền

Xuất phát từ ý tưởng mô phỏng quá trình tiến hóa của tự nhiên để tìm lời giải, trong giải thuật di truyền sử dụng rất nhiều các thuật ngữ vay mượn của di truyền học để mô tả các thành phần của bài toán cần giải quyết

Ngày đăng: 23/10/2014, 23:57

HÌNH ẢNH LIÊN QUAN

1.1.2. Đồ thị con - báo cáo môn trí tuê nhân tạo thiết kế mạng phân phối điện năng dùng giải thuật di truyền ( genetic algorithm )
1.1.2. Đồ thị con (Trang 5)
Hình 2: Đồ thị đầy đủ G - báo cáo môn trí tuê nhân tạo thiết kế mạng phân phối điện năng dùng giải thuật di truyền ( genetic algorithm )
Hình 2 Đồ thị đầy đủ G (Trang 5)
Hình 4: Các lớp bài toán P, NP và co-NP - báo cáo môn trí tuê nhân tạo thiết kế mạng phân phối điện năng dùng giải thuật di truyền ( genetic algorithm )
Hình 4 Các lớp bài toán P, NP và co-NP (Trang 10)

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

w