Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Các mẫu thiết kế hướng ₫ối tượngbai 9 1
MIỄN PHÍ
Số trang
27
Kích thước
148.2 KB
Định dạng
PDF
Lượt xem
719

Các mẫu thiết kế hướng ₫ối tượngbai 9 1

Nội dung xem thử

Mô tả chi tiết

Trang 1

MÔN : CÁC MẪU THIẾT KẾ HỚNG ỐI TỢNG

Bài thực hành số 9.1 : Tiến hóa các tập luật chi ể tìm ờng i trong mê cung

I. Mục tiêu :

 Giúp SV làm quen cách áp dụng gii thuật tiến hóa vào loi cá thể xác ịnh :

tập luật miêu t ờng i của agent trong mê cung.

II. Nội dung :

Tổng hợp kết qu 2 bài thực hành 5.1 và 8.1 ể thử tiến hóa các tập luật miêu t

ờng i của agent trong mê cung ban ầu về tập luật tối u.

III. Chuẩn ầu ra :

 Nắm vững tính chất, công dụng của các mẫu thiết kế ợc dùng trong bài

thực hành này ể có thể dùng li các mẫu này trong bất kỳ vị trí nào của

chng trình mới cần xây dựng.

IV. Qui trình xây dựng chng trình

1. Chy VS .Net, chọn menu File.Open.Project ể mở li Project của bài thực

hành 8.1.

2. Copy li các file mã nguồn ã viết trong bài thực hành 7.1 sang project hiện

hành :

Dời chuột về phần tử gốc của cây Project trong cửa sổ “Solution Explorer”, ấn

phi chuột vào nó ể hiển thị menu lệnh, chọn chức nng Add.New Folder ể

to 1 folder mới. ặt tên cho folder này là BaiTH5. Click phi chuột vào folder

mới vừa to và chọn option Add.Existing Item, duyệt chọn các file *.cs trong

th mục qun lý project BaiTH7 ã có ể copy chúng vào folder hiện hành

(chú ý không cần copy các file Program.cs, Form1.cs).

3. Vào folder BaiTH5 của Project BaiTH81, duyệt xem và hiệu chỉnh (nếu cần)

nội dung từng file mã nguồn theo nội dung mới nh sau :

//nội dung file IEnvironment.cs

interface IEnvironment {

//tác vụ tính toán trị của cá thể

double getVal(IIndividual ind);

//tác vụ tính toán cá thể

double eval(IIndividual ind);

}

//nội dung file IIndividual.cs

interface IIndividual : IComparable<IIndividual> {

//thuộc tính luận lý SpecValue : chỉ ọc

Object SpecValue { get; set; }

//thuộc tính luận lý Fitness : ọc/ghi

double Fitness { get; set; }

//thuộc tính miêu t bị ột biến

bool Muted { get; set; }

//hàm phối giống với other

Trang 2

IIndividual cross(IIndividual other);

//hàm ột biến mình

void muter();

//hàm to ối tợng mới theo c chế nhân bn vô tính (dùng mẫu Prototype)

IIndividual clone();

//hàm gii mã ối tợng thành dng chuỗi vn bn

String ToString();

}

//nội dung file Individual.cs

class Individual : IIndividual {

//giá trị ặc trng của cá thể

private MyDouble spVal;

//ộ thích nghi của cá thể

private double fitness = 0.0;

//thuộc tính miêu t ã bị ộ biến cha

private bool muted = false;

//ối tợng to số ngẫu nhiên duy nhất trong toàn chng trình

private static MyRandom rnd = MyRandom.getInstance();

//hàm khởi to cá thể có giá trị ặc trng ngẫu nhiên

public Individual()

{

this.spVal = new MyDouble(rnd.RndDouble());

}

//hàm khởi to cá thể có giá trị ặc trng xác ịnh

public Individual(MyDouble valeurPropre)

{

this.spVal = valeurPropre;

}

//hiện thực thuộc tính luận lý Muted

public bool Muted

{

get { return muted; }

set { muted = value; }

}

//hiện thực thuộc tính luận lý SpecValue

public Object SpecValue

{

get { return spVal; }

set { spVal = (MyDouble)value; }

}

//hiện thực thuộc tính luận lý Fitness

public double Fitness

Tải ngay đi em, còn do dự, trời tối mất!