ĐỒ ÁN TỐT NGHIỆP : Tìm Hiểu Logic Mờ và xây dựng ứng dụng Điều khiển tự động tốc độ xe ôtô

59 968 6
ĐỒ ÁN TỐT NGHIỆP : Tìm Hiểu Logic Mờ và xây dựng ứng dụng Điều khiển tự động tốc độ xe ôtô

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG -  - Tìm Hiểu Logic Mờ xây dựng ứng dụng Điều khiển tự động tốc độ xe ôtô Bộ môn : PP Toán Tin Học GVHD : PGS TS Đỗ Văn Nhơn Thực : Nguyễn Khánh Ngọc CH1001117 Thành phố Hồ Chí Minh - Tháng Năm 2012 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN MỤC LỤC Phần 1: Logic Mờ I Giới thiệu II Tập mờ Tập kinh điển 2 Định nghĩa tập mờ .3 Các thông số đặc trưng cho tập mờ .6 Các phép toán tập mờ III Quan hệ mờ .12 IV Logic mờ 12 Khái niệm 12 Biến ngôn ngữ 13 Mệnh đề mờ 13 Các phép toán mệnh đề mờ 14 Phép toán kéo theo mờ 15 Luật mờ 16 Luật Modus Ponens hay Modus Tollens .17 Phần 2: Thiết kế Hệ Thống Mờ I Các yếu tố xây dựng mô hình Logic mờ 20 II Qui trình hoạt động Logic mờ 23 III Phương pháp xây dựng mô hình .23 Mô hình tam giác 23 Mô hình hình thang .24 IV Các phương pháp giải mờ .25 Phương pháp cực đại 25 Phương pháp điểm trọng tâm 26 V Công cụ thực hệ Logic mờ .27 VI Một số ứng dụng Logic mờ 28 Phần 3: Áp dụng logic mờ vào cài đặt ứng dụng điều khiển tốc độ xe ôtô I Mục tiêu thiết kế 30 Mục tiêu 30 Thiết kế ứng dụng 30 II Phân tích thuật toán xây dựng hệ thống điều khiển mờ cho xe ôtô 31 Xây dựng biến ngôn ngữ (Linguistic variables) 31 Xây dựng hàm phụ thuộc (membership function) 31 Xác định luật mờ 35 Làm mờ liệu đầu vào (Fuzzification) 37 Giải mờ 40 III Cài đặt ứng dụng minh họa .42 Cài đặt chương trình họa C# .42 Chạy thử nghiệm 48 IV Kết luận 49 Vai trò phương pháp toán tin học 49 Những kết đạt thu hoạch 49 Hạn chế Hướng phát triển 49 Tài liệu tham khảo 51 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Phần I: Logic Mờ I Giới thiệu Logic mờ công bố lần Mỹ vào năm 1965 giáo sư Lotfi Zadeh Kể từ đó, logic mờ có nhiều phát triển qua chặng đường sau : phát minh Mỹ, áp dụng Châu Âu đưa vào sản phẩm thương mại Nhật Ứng dụng logic mờ vào công nghiệp thực Châu Âu, khoảng sau năm 1970 Tại trường Queen Mary Luân Đôn – Anh, Ebrahim Mamdani dùng logic mờ để điều khiển máy nước mà trước ông điều khiển kỹ thuật cổ điển Và Đức, Hans Zimmermann dùng logic mờ cho hệ định Liên tiếp sau đó, logic mờ áp dụng vào lĩnh vực khác điều khiển lò xi măng, … không chấp nhận rộng rãi công nghiệp Kể từ năm 1980, logic mờ đạt nhiều thành công ứng dụng định phân tích liệu Châu Âu Nhiều kỹ thuật logic mờ cao cấp nghiên cứu phát triển lĩnh vực Cảm hứng từ ứng dụng Châu Âu, công ty Nhật bắt đầu dùng logic mờ vào kỹ thuật điều khiển từ năm 1980 Nhưng phần cứng chuẩn tính toán theo giải thuật logic mờ nên hầu hết ứng dụng dùng phần cứng chuyên logic mờ Một ứng dụng dùng logic mờ nhà máy xử lý nước Fuji Electric vào năm 1983, hệ thống xe điện ngầm Hitachi vào năm 1987 Những thành công tạo nhiều quan tâm Nhật Có nhiều lý để giải thích logic mờ ưa chuộng Thứ nhất, kỹ sư Nhật thường giải pháp đơn giản, sau sâu vào vấn đề Phù hợp với việc logic mờ cho phép tạo nhanh mẫu tiến đến việc tối ưu Thứ hai, hệ dùng logic mờ đơn giản dễ hiểu Sự “thông minh” hệ không nằm hệ phương trình vi phân hay mã nguồn Cũng việc kỹ sư Nhật thường làm việc theo tổ, đòi hỏi phải có giải pháp để người tổ hiểu hành vi hệ thống, chia ý tưởng để tạo hệ Logic mờ cung cấp cho họ phương tiện minh bạch để thiết kế hệ thống Và văn hóa, người Nhật không quan tâm đến logic Boolean hay logic mờ; tiếng Nhật , từ “mờ’ không mang nghĩa tiêu cực Do đó, logic mờ dùng nhiều ứng dụng thuộc lĩnh vực điều khiển thông minh hay xử lý liệu Máy quay phim máy chụp hình dùng logic mờ để chứa đựng chuyên môn người nghệ sĩ nhiếp ảnh Misubishi thông báo xe giới dùng logic mờ điều khiển, nhiều hãng chế tạo xe khác Nhật dùng logic mờ số thành phần Trong lĩnh vực tự động hóa, Omron Corp có khoảng 350 phát minh logic mờ Ngoài ra, logic mờ dùng để tối ưu nhiều trình hóa học sinh học Trang GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Năm năm trôi qua, tổ hợp Châu Âu nhận kỹ thuật chủ chốt vào tay người Nhật từ họ nỗ lực việc dùng logic mờ vào ứng dụng Đến nay, có khoảng 200 sản phẩm bán thị trường vô số ứng dụng điều khiển trình – tự động hóa dùng logic mờ Từ thành công đạt được, logic mờ trở thành kỹ thuật thiết kế “chuẩn” chấp nhận rộng rãi cộng đồng II Tập mờ Tập kinh điển Khái niệm tập hợp hình thành tảng lôgic định nghĩa xếp chung đối tượng có tính chất, gọi phần tử tập hợp Cho tập hợp A, phần tử x thuộc A ký hiệu: x ∈ A Thông thường ta dùng hai cách để biểu diễn tập hợp kinh điển, là: Liệt kê phần tử tập hợp, ví dụ tập A1 = {xe đạp, xe máy, xe ca, xe tải}; Biểu diễn tập hợp thông qua tính chất tổng quát phần tử, ví dụ: tập số thực (R), Tập số tự nhiên (N) Để biểu diễn tập hợp A tập X, ta dùng hàm thuộc µA(x), với: Ký hiệu Ta nói: tập A định nghĩa tập X Hình mô tả hà phụ thuộc tập số thực từ -5 đến Hình 1: Hàm phụ thuộc tập kinh điển A Định nghĩa tập mờ Trang GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Các tập mờ hay tập hợp mờ (Fuzzy set) mở rộng lý thuyết tập hợp cổ điển dùng lôgic mờ Trong lý thuyết tập hợp cổ điển, quan hệ thành viên phần tử tập hợp đánh giá theo kiểu nhị phân theo điều kiện rõ ràng - phần tử thuộc không thuộc tập hợp Ngược lại, lý thuyết tập mờ cho phép đánh giá từ từ quan hệ thành viên phần tử tập hợp; quan hệ mô tả hàm liên thuộc (membership function) Tập hợp mờ tập hợp mà thành phần số tập mờ F có biểu diễn: Như vậy, ta nói F tập mờ không gian X A xác định hàm: Trong đó: X : tập hay gọi tập vũ trụ tập mờ hàm liên thuộc (membership function) độ liên thuộc x vào tập mờ A Các tập mờ coi mở rộng lý thuyết tập hợp cổ điển vì, với universe (Không gian tham chiếu hay không gian nền) định, hàm liên thuộc giữ vai trò hàm đặc trưng (indicator function) ánh xạ phần tử tới giá trị khái niệm cổ điển Trong khái niệm tập hợp kinh điển hàm phụ thuộc µA(x) tập A, có hai giá trị "1" x∈A "0" x∉A Ví dụ 1: Cách biểu diễn hàm phụ thuộc không phù hợp với tập mô tả "mờ" tập B gồm số thực gần 5: B = { x ∈ R | x ≈5 } Khi ta khẳng định chắn số có thuộc B hay không? mà nói thuộc B gao nhiêu phần trăm Để trả lời câu hỏi này, ta phải coi hàm phụ thuộc có giá trị khoảng từ đến tức là: Trang GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Hình 2: Hàm phụ thuộc tập “mờ” B Từ phân tích ta có định nghĩa: Tập mờ B xác định tập kinh điển M tập mà phần tử biểu diễn cặp giá trị Trong x ∈M ánh xạ Ánh xạ gọi hàm liên thuộc tập mờ B Tập kinh điển M gọi sở tập mờ B Như phương diện giải tích tập mờ ứng với hàm số hàm số có đồ thị Những tập mờ thường gặp đồ thị hàm độ thuộc (membership function ) có hình dạng hình tam giác hình thang mà người ta thường gọi vắn tắt “tập mờ hình thang” “tập mờ hình tam giác” hình vẽ đây: h1 Hình 3: Ba tập mờ trạng thái nhiệt độ Cold (lạnh), Warm (ấm) Hot (nóng) có dạng hình thang Theo hình vẽ điểm h1 trục nhiệt độ ( temperature) chiếu lên ta thấy cắt tập mờ warm điểm mà ta thấy “hơi ấm”, đồng thời cắt tập mờ cold điểm mà ta thấy “tương đối lạnh” Tóm lại nhiệt độ h1 xem “hơi ấm” “tương đối lạnh” Ngày tập mờ logic mờ ứng dụng nhiều khoa học kỹ thuật đặc biệt điều khiển tự động hệ trợ giúp định tính toán hiệu cao… Ví dụ máy giặt có ghi Fuzzy logic Controler gặp, máy đo độ bẩn, chất liệu lượng đồ cần giặt từ ấn định mức độ bột giặt, số nước cần dùng chức cần vận hành để giặt Trang GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Ví dụ 2: • Một tập mờ F với số tự nhiên nhỏ mô tả hàm thành viên có đồ thị sau: Hình 4: Đồ thị hàm thành viên Ta có tập mờ • • • Số tự nhiên có độ phụ thuộc Số tự nhiên có độ phụ thuộc thấp Các số không liệt kê có độ phụ thuộc Sử dụng hàm liên thuộc để tính độ phụ thuộc phần tử x có hai cách: tính trực tiếp (nếu dạng công thức tường minh) tra bảng (nếu dạng bảng) Các hàm liên thuộc có dạng “trơn” gọi hàm liên thuộc kiểu S Đối với hàm liên thuộc kiểu S, công thức biểu diễn có độ phức tạp lớn nên thời gian tính độ phụ thuộc cho phần tử lâu Trong kỹ thuật điều khiển mờ thông thường, hàm liên thuộc kiểu S thường thay gần hàm tuyến tính đoạn Một hàm liên thuộc có dạng tuyến tính đoạn gọi hàm liên thuộc có mức chuyển đổi tuyến tính Hình 5: Hàm liên thuộc tuyến tính đoạn Trang 10 GVHD: PGS TS Đỗ Văn Nhơn 0.65 0.3 57 Dựa vào hàm phụ thuộc Cover Với giá trị Cover = 35% 0.5 0.25 35% Chọn phương pháp suy diễn phương pháp Mandani - Sử dụng toán tử suy diễn Trang 45 Nguyễn Khánh Ngọc CH1001117 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 - Sử dụng phép hợp thành max-min Ri: if x is Ai and y is Bi then z is Ci, i = 1, 2, … , n x ∈ U, Ai ⊂ U, y ∈ V, Bi ⊂ V, z ∈ W, Ci ⊂ W Quy tắc Min • Luật 1: If it's Sunny and Warm, drive Fast Sunny(Cover)∧Warm(Temp)⇒Fast(Speed) 0.25 ∧ 0.35 = 0.25 ⇒ Fast = 0.25 • Luật 2: If it's Sunny and Cool, drive Fast Sunny(Cover)∧Cool(Temp)⇒Fast(Speed) 0.25 ∧ 0.65 = 0.25 ⇒ Fast = 0.25 • Luật 3: If it's Partly and Warm, drive Fast Partly(Cover)∧Warm(Temp)⇒Fast(Speed) 0.5 ∧ 0.35 = 0.35 ⇒ Fast = 0.35 • Luật 4: If it's Partly and Cool, drive Slow Partly(Cover)∧Cool(Temp)⇒Slow(Speed) 0.5 ∧ 0.65 = 0.5 ⇒ Slow = 0.5 Quy tắc Max-Min Sử dụng quy tắc Max–Min cho Luật 1, luật luật ta có: Trang 46 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Max(Min(Sunny(Cover),Warm(Temp)), Min(Sunny(Cover),Cool(Temp)), Min(Partly(Cover),Warm(Temp))) = Max (Min(0.25,0.35),Min(0.25,0.65),(0.5,0.35)) = 0.35 ⇒ Fast = 0.35 • Speed 50% Slow 35% Fast Giải mờ a Phương pháp trọng tâm Điểm y’ xác định hoành độ điểm trọng tâm miền bao trục hoành đường μB’(y) Công thức xác định : S miền xác định tập mờ B’ Phương pháp trọng tâm cho luật Sum-Min Giả sử có m luật điều khiển triển khai, ký hiệu giá trị mờ đầu luật điều khiển thứ k μB’k(y) với quy tắc Sum-Min hàm thuộc , y’ xác định: (1) Trang 47 Nguyễn Khánh Ngọc CH1001117 GVHD: PGS TS Đỗ Văn Nhơn Trong đó: k=1,2 m Xét riêng cho trường hợp hàm thuộc dạng hình thang hình : b Phương pháp độ cao Từ công thức (1), hàm thuộc có dạng singleton ta được: với Hk = μB’k(y) Đây công thức giải mờ theo phương pháp độ cao Chú ý hai công thức áp dụng cho luật Max-Min Chúng ta áp dụng phương pháp độ cao để tính vận tốc xe ôtô sau Trang 48 GVHD: PGS TS Đỗ Văn Nhơn • Speed = (0.5*25+ • Speed = (0.5 * 25 + 0.35 * 75)/( 0.5 + 0.35) = 45.9 mph III Cài đặt ứng dụng minh họa Cài đặt chương trình họa C# • Định nghĩa giá trị biến ngôn ngữ public enum LinguisticVariable { None = 0, //Temperature Freezing = 1, Cool = 2, Warm = 3, Hot = 4, //Cover Trang 49 Nguyễn Khánh Ngọc CH1001117 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Sunny = 5, Partly = 6, Overcast = 7, } //Speed Slow = 8, Fast = • Thiết kế Class FuzzyNumber public class { private private private FuzzyNumber double _maximum= 0.0; //maximum cua số mờ double _minimum = 0.0; //minimum cua số mờ double _number = 0.0; // vị trí này,membership lớn private double _membership = 0.0; //độ phụ thuộc private string _name = string.Empty; public FuzzyNumber() { } public FuzzyNumber(string name, double lowRange, double highRange) { } public FuzzyNumber(LinguisticVariable type, double lowRange, double highRange) { …… } public FuzzyNumber(string name, double lowRange, double highRange, double number) { } public void SetNumber(double number) { _number = number; } } • Thiết kế Class FuzzySet public class FuzzySet : ArrayList { private string _name = string.Empty; public string Name { get { return _name; } set { _name = value; } } Trang 50 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 public FuzzySet() : base() { } public FuzzySet(string name) { _name = name; } … } Class FuzzySet chứa liệu tập mờ, Định nghĩa Class MembershipFunction: Class MembershipFunction chứa định nghĩa công thức Hàm phụ thuộc có dạng Triangular, RightTrapezoid LeftTrapezoid … public class MembershipFunction { public MembershipFunction() { } public static double Triangular_MembershipFunction(double a, double b, double c, double x) { double membership = 0.0; if (x a && x membership = (x else if (x > b && x membership = (c else if (x >= c) membership = 0; } = b) membership = 0; return membership; } Trang 51 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 public static double LeftTrapezoid_MembershipFunction(double a, double b, double x) { double membership = 0.0; if (x a && x < b) membership = (x-a) / (b - a); else if (x >= b) membership = 1.0; } return membership; • Khởi tạo chương trình chạy: Tạo tập mờ CarSpeed, Temperature, cover FuzzySet carSpeedSet = new FuzzySet("CarSpeed"); FuzzySet temperatureSet = new FuzzySet("Temperature"); FuzzySet coverSet = new FuzzySet("Cover"); Tạo khái niệm số mờ “Fzeezing”, “Cool”, “Warm”, “Hot” thuộc tập mờ Temperature FuzzyNumber FuzzyNumber FuzzyNumber FuzzyNumber freezing = new FuzzyNumber("Freezing", 10, 50); cool = new FuzzyNumber("Cool", 30, 70); warm = new FuzzyNumber("Warm", 50, 90); hot = new FuzzyNumber("Hot", 70, 110); temperatureSet.Add(freezing); temperatureSet.Add(cool); temperatureSet.Add(warm); temperatureSet.Add(hot); Tạo khái niệm số mờ “Sunny”, “Partly”, “Overcast” thuộc tập mờ Cover //Cover fuzzy set FuzzyNumber sunny = new FuzzyNumber("Sunny", 0, 40); FuzzyNumber partly = new FuzzyNumber("Partly", 20, 80); FuzzyNumber overcast = new FuzzyNumber("Overcast", 60, 100); coverSet.Add(sunny); coverSet.Add(partly); coverSet.Add(overcast); Tạo khái niệm số mờ “Slow”, “Fast” thuộc tập mờ CarSpeed //car speed fuzzy set // FuzzySet carSpeedSet = new FuzzySet("CarSpeed"); FuzzyNumber slow = new FuzzyNumber("Slow", 0, 75, 25); FuzzyNumber fast = new FuzzyNumber("Fast", 25, 100, 75); carSpeedSet.Add(slow); carSpeedSet.Add(fast); Trang 52 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Cài đặt luật làm mờ: public void Fuzzy() { double temperature = trackBar1.Value; double cover = trackbarCloudCover.Value; double membershipFast = 0.0; double membershipSlow = 0.0; double double double double membershipFreezing = 0.0; membershipCool = 0.0; membershipWarm = 0.0; membershipHot = 0.0; double membershipSunny = 0.0; double membershipPartly = 0.0; double membershipOvercast = 0.0; //freezing if (temperatureSet.Temperature_Is_Freezing(temperature)) { membershipFreezing = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Freezing, temperature); } membershipSlow = membershipFreezing; carSpeedSet.DriverSlow(membershipSlow); // sunny and cool if (coverSet.Cover_Is_Sunny(cover) && temperatureSet.Temperature_Is_Cool(temperature)) { membershipSunny = coverSet.GetMemberShipOfVariable(LinguisticVariable.Sunny, cover); membershipCool = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Cool , temperature); membershipFast = FuzzySet.Min(membershipSunny, membershipCool); } carSpeedSet.DriverFast(membershipFast); // sunny and warm if (coverSet.Cover_Is_Sunny(cover) && temperatureSet.Temperature_Is_Warm(temperature)) { membershipSunny = coverSet.GetMemberShipOfVariable(LinguisticVariable.Sunny, cover); membershipWarm = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Warm , temperature); membershipFast = FuzzySet.Min(membershipSunny, membershipWarm); } carSpeedSet.DriverFast(membershipFast); // sunny and hot if (coverSet.Cover_Is_Sunny(cover) && temperatureSet.Temperature_Is_Hot(temperature)) Trang 53 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 { membershipSunny = coverSet.GetMemberShipOfVariable(LinguisticVariable.Sunny, cover); membershipHot = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Hot, temperature); membershipFast = FuzzySet.Min(membershipSunny, membershipHot); } carSpeedSet.DriverFast(membershipFast); //partly and cool if (coverSet.Cover_Is_Partly(cover) && temperatureSet.Temperature_Is_Cool(temperature)) { membershipPartly = coverSet.GetMemberShipOfVariable(LinguisticVariable.Partly, cover); membershipCool = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Cool , temperature); membershipSlow = FuzzySet.Min(membershipPartly, membershipCool); carSpeedSet.DriverSlow(membershipSlow); } //partly and warm if (coverSet.Cover_Is_Partly(cover) && temperatureSet.Temperature_Is_Warm(temperature)) { membershipPartly = coverSet.GetMemberShipOfVariable(LinguisticVariable.Partly, cover); membershipWarm = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Warm , temperature); membershipFast = FuzzySet.Min(membershipPartly, membershipWarm); carSpeedSet.DriverFast(membershipFast); } //partly and hot if (coverSet.Cover_Is_Partly(cover) && temperatureSet.Temperature_Is_Hot(temperature)) { membershipPartly = coverSet.GetMemberShipOfVariable(LinguisticVariable.Partly, cover); membershipHot = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Hot , temperature); membershipFast = FuzzySet.Min(membershipPartly, membershipHot); carSpeedSet.DriverFast(membershipFast); } //overcast if (coverSet.Cover_Is_Overcast(cover)) { Trang 54 GVHD: PGS TS Đỗ Văn Nhơn } Nguyễn Khánh Ngọc CH1001117 membershipOvercast = coverSet.GetMemberShipOfVariable(LinguisticVariable.Overcast , cover); membershipSlow = membershipOvercast; carSpeedSet.DriverSlow(membershipSlow); double speed = carSpeedSet.Defuzzy(); speedControl1.Speed = Math.Round(speed); UpdateSpeed(speed); } Trang 55 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Chạy thử nghiệm Khi khởi động chương trình chọn ngẫu “nhiên nhiệt độ” “độ bao phủ” dựa vào luật để tính tốc độ Người dùng tùy chỉnh “nhiệt độ” “độ bao phủ” thông qua slider cấu hình Nút Start để khởi động timer, tự động thay đổi nhiệt độ độ bao phủ ngẫu nhiên Nút stop để dừng timer, trở trạng thái cấu hình thủ công(cấu hình băng slider) membership Hình 24: Chương trình minh họa điều khiển tốc độ xe ôtô Trang 56 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 IV Kết luận Trong năm gần đây, lý thuyết logic mờ có nhiều áp dụng thành công lĩnh vực điều khiển Bộ điều khiển dựa lý thuyết logic mờ gọi điều khiển mờ Trái với kỹ thuật điều khiển kinh điển, kỹ thuật điều khiển mờ thích hợp với đối tượng phức tạp, không xác định mà người vận hành điều khiển kinh nghiệm Vai trò phương pháp toán tin học Thông qua môn học “Phương pháp toán tin học” tiểu luận giúp em có thêm kiến thức sâu sắc ứng dụng mô hình toán học vào tin học Những vai trò quan trọng toán học tin học khái quát sau: Mô hình hóa khái niệm thực tiễn thành mô hình toán học mà máy tính hiểu • Biểu diễn tri thức người thành dạng mà máy tính đọc • Là sở để thiết kế thuật toán (thuật toán mà hóa, logic mờ …) • Toán học sở để đánh giá hiệu thuật toán, tính toán độ phức tạp thuật toán • Những kết đạt thu hoạch: • Khái quát sở lý thuyết logic mờ, mệnh đề mờ, luật mờ, số mờ … • Áp dụng kiến thức logic mờ để xây dựng ứng dụng điều khiển mờ cho xe ôtô • Sử dụng ngôn ngữ lập trình C# để xây dựng giao diện trực quan cho chương trình • Vẽ biểu đồ biểu diễn trực quan hàm phụ thuộc Hạn chế Hướng phát triển: • Hạn chế: o Chương trình phân tích yếu tố đầu vào đơn giản (nhiệt độ độ bao phủ) để tính tốc độ an toàn cho xe o Chưa thể biểu đồ hàm phụ thuộc dạng 3D o Chương trình ứng dụng mang tính chất minh họa, chưa thể áp dụng thực tiễn, tính khoa học chưa cao • Hướng phát triển: Trang 57 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 o Thêm yếu tố đầu vào phức tạp để xác định tốc độ an toàn cho xe hiệu đáp ứng nhu cầu thực tiễn (độ tốt xấu đường đi, lưu lượng xe đường …) o Phát triển mô hình điều khiển xe ôtô thông minh tránh chướng ngại vật o Vẽ biểu đồ 3D cho hàm phụ thuộc Trang 58 GVHD: PGS TS Đỗ Văn Nhơn Nguyễn Khánh Ngọc CH1001117 Tài liệu tham khảo [1] Bài giảng Phương pháp Toán Tin – PGS TS Đỗ Văn Nhơn [2] Giáo trình hệ sở tri thức – GS TSKH Hoàng Kiếm – TS Đỗ Phúc- TS Đỗ Văn Nhơn – NXB Đại học Quốc Gia Tp HCM - 2005 [3] Lý thuyết Mờ Ứng dụng - Nguyễn Phong – NXB Khoa học Kỹ thuật – 2005 [4] Timothy J.Ross, “Fuzzy Logic with Engineering Applications” McGraw-Hill, 1997 [5] Amiya Patanaik “Fuzzy Logic Control of Air Conditioners” Roll number 05EG1008, Department of Electrical Engineering , Indian Institute of Technology, Kharagpur - 721302, India [6] Henry Nasution “Development of Fuzzy Logic Control for Vehicle Air Conditioning System” Telkomnika Vol 6, No.2, 2008 [7] Manish Agarwal "Fuzzy Logic Control of Washing Machines" Roll number 00ME1011, Department of Mechanical Engineering, Indian Institute of Technology, Kharagpur - 721302, India Trang 59

Ngày đăng: 12/08/2016, 15:04

Từ khóa liên quan

Mục lục

  • Phép phủ định

  • Hàm n:[0,1] -> [0,1] không tăng thỏa mãn điều kiện n(0) = 1, n(1) =0 gọi là hàm phủ định

  • Một vài ví dụ :

  • Hàm phủ định chuẩn n(x) = 1-x

  • Hàm phủ định n(x) = 1-x2

  • Họ phủ định (Sugeno,1997) N (x) = (1-x)/(1+x), với >-1

  • Hàm n là phép phủ định mạnh, nếu n giảm chặt và n(n(x))=x , với mọi x

  • Phép hội (t-norm)

  • Phép hội (vẫn quen gọi là phép AND) là một trong các phép toán logic căn bản nhất. Nó cũng là cơ sở để định nghĩa phép giao của 2 tập mờ.

  • Định nghĩa : Hàm T:[0,1]2 -> [0,1] là một t-norm nếu thỏa mãn các điều kiện sau :

  • a) T(1,x) = x, với mọi 0  x  1 (Tồn tại phần tử đơn vị)

  • b) T(x,y) = T(y,x) với mọi 0  x, y 1 (T có tính giao hoán)

  • c) T(x,y) = T(u,v) với mọi 0 xu1, 0yv1 (không giảm theo từng biến)

  • d) T(x,T(y,z)) = T(T(x,y),z) với mọi 0x,y,z1 (T có tính kết hợp)

  • Từ những điều kiện trên chúng ta suy ra ngay T(0,x). Hơn nữa tiên đề d) đảm bảo tính thác chuyển duy nhất cho hàm nhiều biến.

  • Phép tuyển (t-conorm)

  • Giống như phép hội, phép tuyển (hay toán tử OR) thông thường cần thỏa mãn các tiên đề sau :

  • Định nghĩa : Hàm S : [0,1] gọi là phép tuyển (OR suy rộng) hay là t-conorm nếu thỏa mãn các tiên đề sau :

  • a) S(0,x) = x, với mọi 0  x  1 (Tồn tại phần tử đơn vị)

  • b) S(x,y) = S(y,x) với mọi 0  x, y 1 (S có tính giao hoán)

Tài liệu cùng người dùng

Tài liệu liên quan