Microsoft Word - Bai 7.1.docx

Tài liệu tương tự
Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Copyright vietjack.com Nạp chồng toán tử trong C# Operator Overloading là Nạp chồng toán tử. Bạn có thể tái định

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Array, Indexer và Collection Array, Indexer và Collection Bởi: phamvanviet truonglapvy Mảng (Array) Mảng là một tập hợp các phần tử có cùng kiểu, được

Bài tập thực hành NNLT Visual Basic GV. Nguyễn Thị Hải Bình BÀI THỰC HÀNH ÔN TẬP 1. Sinh viên ĐỌC CẨN THẨN TẤT CẢ NỘI DUNG trong bài thực hành trước k

Các câu hỏi nhỏ về visual basic Các câu hỏi nhỏ về visual basic Bởi: Khoa CNTT ĐHSP KT Hưng Yên Các câu hỏi nhỏ về visual basic Sau đây là một số câu

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

Lập trình và ngôn ngữ lập trình

Slide 1

Chương trình dịch

Animation, Modules 6 - Hoạt hình, tách file

Microsoft Word - tao_ung_dung_hello_world_trong_android.docx

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ STORAGE.COM.VN

Làm quen với chương trình Microsoft Excel Làm quen với chương trình Microsoft Excel Bởi: unknown Làm quen với chương trình Những thao tác đầu tiên với

Microsoft Word - Lab09 - WebSieuthisach.doc

BÀI TẬP THỰC HÀNH

Microsoft Word - custom_font_trong_android.docx

1. Xem tin tuyển dụng Khi lựa chọn vào Thông tin tuyển dụng hoặc các tin tuyển dụng tại các vị trí, thí sinh sẽ nhìn thây nút Nộp đơn, khi lựa chọn sẽ

27_7193.pdf

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

Microsoft Word - su_dung_sqlite_voi_php.docx

Kế thừa

PHẦN LÝ THUYẾT Câu 1 : Trong Windows Explorer để đánh dấu chọn tất cả các đối tượng ta sử dụng? a. ấn Alt + Click chuột c. Tổ hợp phím Ctrl + A b. Ấn

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

Hướng dẫn sử dụng dịch vụ FTP

Microsoft Word - google_map_trong_android.docx

Microsoft Word - action_trong_jsp.docx

Chuỗi Chuỗi Bởi: phamvanviet truonglapvy Chuỗi (string) trong C# là một kiểu dựng sẵn như các kiểu int, long, có đầy đủ tính chất mềm dẻo, mạnh mẽ và

Hướng dẫn KHG sử dụng dịch vụ BaaS do Mobifone Global cung cấp Tổng Công ty Viễn thông MOBIFONE là nhà cung cấp dịch vụ Viễn thông và CNTT hàng đầu tạ

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Microsoft Word - server_response_trong_servlet.docx

Moduel 7:Trinh chiếu bài thuyết trình 163 Moduel 7: rình chiếu bài thuyết trình 7.1. rình chiếu bài thuyết trình Thiết lập các tùy ch n cho chế độ Sli

Microsoft Word - status_code_trong_servlet.docx

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG HÓA ĐƠN ĐIỆN TỬ LẦN BAN HÀNH: 01 HÀ NỘI 2019

BẢO MẬT Hướng dẫn sử dụng VPS HƯỚNG DẪN NGƯỜI DÙNG MÁY CHỦ RIÊNG ẢO (VPS) CỦA Anzo Capital Cảnh báo rủi ro: giao dịch theo tỉ lệ đòn bẩy với tiền ký q

Microsoft Word - jsp_client_request.docx

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

Bài tập thực hành Chuyên đề 1 CNPM - Java Khoa CNTT- Trường ĐH Công nghệ TP.HCM Lab 01: LẬP TRÌNH JAVA CƠ BẢN VỚI NET BEANS A. MỤC TIÊU: Hướng dẫn tải

1 Tạo slide trình diễn với Microsoft Powerpoint Tạo slide trình diễn với Microsoft Powerpoint Người thực hiện Hoàng Anh Tú Phạm Minh Tú Nội dung 1 Mục

TRUNG TÂM KINH DOANH VNPT ĐỒNG THÁP o0o TÀI LIỆU HƯỚNG DẪN KHAI THÁC Website QUẢN LÝ CÔNG NỢ - HÓA ĐƠN ĐIỆN TỬ dongthap.vnpt.vn/tt

Microsoft Word - Phan 1 - Kien thuc co so IFS-HANU 2011.doc

Hướng dẫn sử dụng Adobe Presenter Pro 7.0

CÔNG TY TNHH TIN HỌC TÍN NGHỆ Hotline: TÀI LIỆU HƯỚNG DẪN CÀI ĐẶT, CẤU HÌNH, SAO LƯU PHẦN MỀM TÍN NGHỆ A. CÀI ĐẶT, CẤU HÌ

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

Microsoft Word - Tin hoc dai cuong 2015

PHỤ LỤC 01 HƯỚNG DẪN KHÁCH HÀNG THAO TÁC ĐĂNG KÝ, KÍCH HOẠT VÀ SỬ DỤNG SOFT OTP (CHALLENGE VÀ MOBILE PUSH) CHO DỊCH VỤ ONLINE BANKING CỦA KHÁCH HÀNG C

TÀI LIỆU HƯỚNG DẪN CÀI ĐẶT CÁC SẢN PHẨM CỦA OFFICE 365

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

Microsoft Word - client_request_trong_servlet.docx

Microsoft Word - jsp_syntax.docx

Microsoft Word - session_tracking_trong_servlet.docx

Microsoft Word - activity_trong_android.docx

HƯỚNG DẪN SỬ DỤNG VNCS HOME TRADING 1. Bảng mô tả Thuật ngữ viết tắt Viết tắt CTCK KH TK PHT Mô tả Công ty chứng khoán Khách hàng Tài khoản Phát hành

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

Microsoft Word - form_trong_html.docx

Thiết kế website động với mã nguồn Drupal 7 - Phần 1

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG HÓA ĐƠN ĐIỆN TỬ

Microsoft Word - Huong dan su dung Mailchimp.docx

Microsoft Word - Cau hoi on tap.doc

Chủ đề :

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

Zotero Công Cụ Hỗ Trợ Lưu và Trích Dẫn Tài Liệu Tham Khảo Zotero [zoh-tair-oh] là phần mềm miễn phí và dễ sử dụng, được dùng cho việc sưu tập-lưu trữ,

TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI DỊCH VỤ CHỨNG THỰC CHỮ KÝ SỐ VIETTEL-CA SỔ TAY HƯỚNG DẪN SỬ DỤNG CHỨNG THƯ SỐ VIETTEL-CA MỤC LỤC 1. GIỚI THIỆU VỀ DỊCH VỤ

ĐÊ CƯƠNG CHI TIẾT HỌC PHẦN

ĐÊ CƯƠNG CHI TIẾT HỌC PHẦN

PDT&SELAB

Backup Cloud Server

Microsoft Word - auto_complete_trong_android.docx

Một số thao tác trong windows XP Một số thao tác trong windows XP Bởi: Vien CNTT DHQG Hanoi MỘT SỐ THAO TÁC TRONG WINDOWS XP Tạo đĩa mềm khởi động DOS

User manual template

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

CÀI ĐẶ T ANDROID TRÊN NETBEAN Yêu cầ u:trong quá trình cài đặ t phả i kế t nố i mạ ng,và phiên bả n này đượ c cài trên windows. 1.Download Netbean(6.7

Công ty CP công nghệ thẻ NACENCOMM HÓA ĐƠN ĐIỆN TỬ CA2 CÔNG TY CỔ PHẦN CÔNG NGHỆ THẺ NACENCOMM TÀI LIỆU NGHIỆP VỤ HÓA ĐƠN ĐIỆN TỬ CA2 Hà Nội 12/2017 1

Microsoft Word - edittext_trong_android.docx

Bài 1:

NGÔN NGỮ THỐNG KÊ R

Kế thừa và đa hình

Microsoft Word - fragment_transition_trong_android.docx

Cách thức sử dụng phần mềm MT4 của FxPro

Hướng Dẫn Sử Dụng Doanh Nghiệp với Giao AdminLTE Bao gồm: - Trỏ record - Quản trị với giao diện AdminLTE - Cấu hình trên Outlook 2013 ( PO

Tài liệu Hướng dẫn sử dụng

Hướng dẫn cài đặt và Tạo bản quyền Sản phẩm SAS INNOVA 2012 OPEN Phần 01 - Cài đặt SAS INNOVA 2012 OPEN Để cài đặt SAS INNOVA 2012 OPEN bạn cần phải c

BÀI MỞ ĐẦU BÀI MỞ ĐẦU Bởi: Vũ Khánh Quý Bài 1: GIỚI THIỆU MÔN HỌC 1. Giới thiệu môn học Với xu thế ứng dụng hệ thống thông tin vào tất cả các hoạt độn

Microsoft Word - Huongdansudung_Nop Thue Dien Tu_Le phi mon bai

Thiết kế các ứng dụng GUI bằng Windows Forms Thiết kế các ứng dụng GUI bằng Windows Forms Bởi: Nguyễn Tuấn Anh Những điều khiển không hỗ trợ Sau đây l

Báo cáo thực tập tốt nghiệp

Sunlite Suite 2 III Programming Chọn tab "All" để xem số channels của tất cả fixture của bạn. -Bạn có thể đánh số fixture của bạn bằng danh mục (index

Hướng dẫn chuyển tiền trong và ngoài Techcombank Chức năng này giúp Quý khách chuyển tiền giữa các tài khoản của doanh nghiệp; hoặc chuyển tiền cho cá

Microsoft Word - TN DKTD.doc

Cách viết một ứng dụng trên microsoft windows Cách viết một ứng dụng trên microsoft windows Bởi: Khuyet Danh CÁCH VIẾT MỘT ỨNG DỤNG TRÊN MICROSOFT WIN

Chương trình dịch

Hướng dẫn sử dụng Web Trading Online

XJ-UT311WN_XJ-UT351WN

Công cụ trong VB6 Công cụ trong VB6 Bởi: FPT Software Để tìm hiểu về các công cụ trong VB chúng ta sẽ đề cập tới Add-in Các công cụ trong add-in Trình

Microsoft Word Vietnamese EGM Gaming Venue RG Code of Conduct APPRO–

Làm việc với các thư viện chung (common library) và các thư viện chia sẻ Làm việc với các thư viện chung (common library) và các thư viện chia sẻ Bởi:

Bản ghi:

Trang 1 MÔN : CÁC MẪU THIẾT KẾ H ỚNG ỐI T ỢNG Bài thực hành số 7.1 : Tiến hóa các biểu thức về biểu thức mục tiêu 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 : biểu thức i số. II. Nội dung : Áp dụng thuật gi i tiến hóa tổng quát ể thử tiến hóa các cá thể có giá trị ặc tr ng là biểu thức ngẫu nhiên ban ầu về biểu thức mục tiêu theo nghĩa giá trị của chúng gần bằng với giá trị của biểu thức mục tiêu nhất. 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.New.Project ể hiển thị cửa sổ New Project. 2. Mở rộng mục Visual C# trong TreeView "Project Types", chọn mục Window, chọn icon "Windows Form Application" trong listbox "Templates" bên ph i, thiết lập th mục chứa Project trong listbox "Location", nhập tên Project vào textbox "Name:" (td. BaiTH7), click button OK ể t o Project theo các thông số ã khai báo. 3. Form ầu tiên của ứng dụng ã hiển thị trong cửa sổ thiết kế, việc thiết kế form là quá trình lặp 4 thao tác t o mới/xóa/hiệu chỉnh thuộc tính/t o hàm xử lý sự kiện cho từng ối t ợng cần dùng trong form. Ta s xây dựng form giao diện ứng dụng sau. 4. Dùng l i th viện miêu t thuật gi i tiến hóa tổng quát ở bài thực hành 5.1 : cách chính quy nhất là sử dụng file *.dll miêu t th viện. Tuy nhiên ở ây ta chỉ dừng l i ở mức dùng l i mã nguồn của th việ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à GenLib. 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 GenLib trong project BaiTH5 ã có ể copy chúng vào folder hiện hành. 5. Dùng l i phân hệ miêu t biểu thức ở bài thực hành 6.1 : cách chính quy nhất là sử dụng file *.dll miêu t phân hệ này. Tuy nhiên ở ây ta chỉ dừng l i ở mức dùng l i mã nguồn của phân hệ. 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à Expression. 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 Expression trong project BaiTH6 ã có ể copy chúng vào

Trang 2 folder hiện hành (l u ý không copy file MyRandom.cs và dùng file này trong th mục GenLib ã có). 6. Hiện thực class ExprIndividual miêu t 1 cá thể có thuộc tính giá trị ặc tr ng là 1 biểu thức i số. ph i chuột vào nó ể hiển thị menu lệnh, chọn chức n ng Add.Class ể hiển thị cửa sổ Add New Item, chọn mục Class, hiệu chỉnh tên class là ExprIndividual.cs, chọn button Add ể máy t o 1 class mới. Viết code cho class này nh sau (l u ý các file mã nguồn ợc t o mới trong ứng dụng ều ph i dùng 2 lệnh : using BaiTH5.GenLib; using BaiTH6.Expression; vì chúng có dùng các phần tử trong 2 namespace cũ này): class ExprIndividual : AbstractIndividual //giá trị ặc tr ng là 1 biểu thức private IExpression specval; private static IExpressionFactory ef = new ExpressionFactory(); //hàm t o cá thể 1 cách ngẫu nhiên public ExprIndividual() specval = ef.createrandomexpression(); //hàm t o cá thể có giá trị ặc tr ng xác ịnh public ExprIndividual(IExpression specval) this.specval = specval; //hiện thực thuộc tính SpecValue public override Object SpecValue get return specval; set specval = (IExpression)value; //hàm gi i mã ối t ợng thành chuỗi v n b n public override String ToString() //return String.Format("vp=0:f4, fit=1:f4",valeurpropre, fitness); return String.Format("vp=0:s fp=1:f5\r\n", specval.tostring(), Fitness); //hàm phối giống với other public override IIndividual cross(iindividual other)

Trang 3 // on accã de directement à la valeur propre, pas la peine d'utiliser d'accesseur. IExpression e2 = other.specvalue as IExpression; if (e2!= null) IExpression ek = ef.createbinaryop(operator.div, ef.createbinaryop(operator.plus, specval, e2), ef.createconstant(2)); return new ExprIndividual(ek.simplify()); return clone(); //hàm ột biến public override void muter() //t o biểu thức mới ngẫu nhiên IExpression e2 = ef.createrandomexpression(); //theo trung bình cộng của mình với biểu thức mới specval = ef.createbinaryop(operator.div, ef.createbinaryop(operator.plus, specval, e2), ef.createconstant(2)); specval = specval.simplify(); //hàm nhân b n theo mẫu Prototype public override IIndividual clone() IIndividual ei = new ExprIndividual(specVal); ei.fitness = Fitness; return ei; 7. Hiện thực ối t ợng mục tiêu mà các biểu thức muốn hội tụ về. ph i chuột vào nó ể hiển thị menu lệnh, chọn chức n ng Add.Class ể hiển thị cửa sổ Add New Item, chọn mục Class, hiệu chỉnh tên class là FuncTarget.cs, chọn button Add ể máy t o 1 class mới. Viết code cho class này nh sau : class FuncTarget : ITarget //giá trị mục tiêu private double value; //danh sách trị của các biến ợc dùng private IVarList env; // ố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();

Trang 4 private static IExpressionFactory ef = new ExpressionFactory(); //hàm khởi t o public FuncTarget() value = rnd.rnddouble(); env = ef.createrandomvarlist(); //hàm tính toán giá trị cá thể public double getval(iindividual i) IExpression e = i.specvalue as IExpression; if (e == null) return 0; return e.eval(env); //hàm tính toán cá thể public double eval(iindividual i) IExpression e = i.specvalue as IExpression; if (e == null) return 0; double r1 = e.eval(env); return 1 / ((value - r1) * (value - r1)); //hàm gi i mã ối t ợng thành chuỗi v n b n public override String ToString() return String.Format("Ta tìm biểu thức có giá trị : 0:f5 nếu dùng giá trị các biến 1:s", value, env.tostring()); 8. Hiện thực class Factory chuyên t o thế hệ các cá thể mà mỗi cá thể có giá trị ặt tr ng là biểu thức. ph i chuột vào nó ể hiển thị menu lệnh, chọn chức n ng Add.Class ể hiển thị cửa sổ Add New Item, chọn mục Class, hiệu chỉnh tên class là ExprPopFactory.cs, chọn button Add ể máy t o 1 class mới. Viết code cho class này nh sau : class ExprPopFactory : IPopulationFactory //hàm t o ối t ợng mục tiêu public ITarget createtarget() return new FuncTarget(); //hàm t o thế hệ có size cá thể ngẫu nhiên public IPopulation createrandompopulation(int size)

Trang 5 IPopulation pop = new Population(); for (int i = 0; i < size; i++) pop.add(new ExprIndividual()); return pop; 9. Nếu cửa sổ ToolBox ch a hiển thị chi tiết, chọn menu View.Toolbox ể hiển thị nó (th ờng nằm ở bên trái màn hình). Click chuột vào button (Auto Hide) nằm ở góc trên ph i cửa sổ ToolBox ể chuyển nó về chế ộ hiển thị th ờng trực. 10. Duyệt tìm phần tử Button trong cửa sổ ToolBox, chọn nó và v nó ở góc trên trái của Form. Vào cửa sổ thuộc tính của Button và hiệu chỉnh l i thuộc tính Text = "Start", thuộc tính (Name) = btnstart. T o hàm xử lý sự kiện Click trên Button rồi viết o n code kiểm thử gi i thuật tiến hóa các biểu thức i số nh sau : private void btnstart_click(object sender, EventArgs e) int popsize = 20; //số cá thể trong từng thế hệ int nbgens = 10; //số thế hệ cần tiến hóa //t o ối t ợng qu n lý file ể ghi dữ liệu StreamWriter ofile = new StreamWriter("data.txt", true, Encoding.Unicode); //xuất số cá thể của mỗi thế hệ ra file ofile.writeline("ta sử dụng cộng ồng có " + popsize + " cá thể"); //t o ối t ợng Factory cho ứng dụng IPopulationFactory pf = new ExprPopFactory(); //nhờ Factory t o ngẫu nhiên thế hệ ầu tiên IPopulation pop = pf.createrandompopulation(popsize); //nhờ Factory t o ối t ợng mục tiêu cần hội tụ tới ITarget vc = pf.createtarget(); //xuất ối t ợng mục tiêu ra file ofile.writeline(vc); //lặp tiến hóa thế hệ với số lầ lặp xác ịnh for (int i = 0; i < nbgens; i++) //xuất giá trị thế hệ hiện hành ra file ofile.writeline("thế hệ " + i + ":"); OutExprPop(oFile, pop, vc); pop = pop.evoluer(vc); //xuất giá trị thế hệ cuối cùng ra file ofile.writeline("kết qu : "); OutExprPop(oFile, pop, vc); //xuất thế hệ cuối cùng ra file ofile.writeline("các biểu thức kết qu : " + pop); ofile.writeline("=========================================================="); // óng file

Trang 6 ofile.close(); private void OutExprPop(StreamWriter ofile, IPopulation pop, ITarget vc) int cnt = pop.size(); FuncTarget ft = (FuncTarget)vc; for (int i = 0; i < cnt; i++) ofile.writeline(ft.getval(pop[i]) + ", "); 11. Thêm các lệnh using sau vào ầu file Form1.cs : using BaiTH6.GenLib; using BaiTH7.Expression; using System.IO; 12. Dịch và ch y ch ng trình. Nếu có lỗi thì sửa, nếu hết lỗi thì ch ng trình s ch y. Mỗi lần ng ời dùng click chuột vào button, ch ng trình s t o 1 biểu thức ngẫu nhiên làm mục tiêu tiến hóa ến, sau ó ch ng trình t o thế hệ ban ầu gồm nhiều cá thể mà giá trị ặc tr ng là biểu thức ngẫu nhiên. Cuối cùng ch ng trình thử ch y gi i thuật tiến hóa trên thế hệ ban ầu nhiều lần. Cuối cùng ch ng trình xuất thế hệ cuối cùng ra file ể ta kiểm tra kết qu và ánh giá mức ộ hội tụ của gi i thuật tiến hóa. 13. Dùng trình WordPad mở file data.txt trong th mục chứa file kh thi của ch ng trình, quan sát xem các biểu thức kết qu và giá trị của chúng có gần giống với biểu thức mục tiêu không.