4.2.1. Giới thiệu
Bộ cụng cụ Logic mờ (Fuzzy Logic Toolbox – FLT) cung cấp cho ngƣời sử dụng một hệ thống thiết kế và phõn tớch dựa trờn logic Mờ. Nú cú đầy đủ cỏc phiờn của quỏ trỡnh suy diễn, bao gồm nhƣ : phỏt triển, nghiờn cứu, thiết kế, mụ phỏng và suy diễn tớnh toỏn. Giao diện đồ hoạ với ngƣời sử dụng (GUI) cung cấp một mụi trƣờng trực quan để hƣớng dẫn ngƣời sử dụng từng bƣớc thiết kế hệ suy diễn Mờ. Nhiều phƣơng phỏp của Logic Mờ cung cấp cho ngƣời dựng thụng qua cỏc hàm nhƣ phƣơng phỏp phõn lớp và luyện mạng nơron.
Trong Matlab FLT cho phộp tạo và hiệu chỉnh cỏc hệ suy diễn Mờ. Ngƣời sử dụng cú thể dễ dàng sử dụng cỏc cụng cụ đồ hoạ hay cỏc hàm trực tiếp từ cửa sổ lệnh để tạo xõy dựng hệ suy diễn, hoặc ngƣời sử dụng cũng cú thể tạo chỳng tự
động bằng cỏch sử dụng hoặc kỹ thuật phõn cụm hoặc Adaptive - kỹ thuật Mờ nơ ron.
GUI (Graphical User Interfaces) GUIs trong FLT cho phộp ta thiết lập hai kiểu hệ thống mờ :
- Hệ suy diễn Mờ (FIS - Fuzzy Inference System):
Suy diễn Mờ là một phƣơng phỏp thụng dịch giỏ trị của vộc tơ đầu vào, dựa trờn cỏc luật đƣợc định nghĩa để xỏc định giỏ trị của cỏc vộc tơ đầu ra. FLT cung cấp cho ta một tập hợp cỏc trỡnh soạn thảo GUI cho phộp xõy dựng một FIS. Cỏc trỡnh soạn thảo và quan sỏt đƣợc sử dụng để xõy dựng tập luật, xỏc định hàm thuộc và phõn tớch hoạt động của FIS.
Hỡnh 4.1: Cửa sổ soạn thảo phõn lớp Mờ- Neuron thớch nghi
- Hệ suy diễn Mờ - Neuron thớch nghi (Adaptive neuron - Fuzzy Inference System - ANFIS): Đõy là giao diện đồ hoạ tỏch riờng cung cấp chức năng cho việc phõn nhúm Mờ. ANFIS cho phộp ta định dạng hàm thuộc dựa vào việc huấn luyện cỏc dữ liệu đầu vào bằng mỏy tớnh. ANFIS chỉ sử dụng thuật toỏn lan truyền ngƣợc hoặc nú kết hợp cựng với phƣơng phỏp bỡnh phƣơng cực tiểu. Điều này cho phộp hệ Mờ học từ tập dữ liệu mà đó đƣợc thiết kế.
Ngoài ra, ngƣời sử dụng cú thể kiểm tra hệ thống Mờ của mỡnh bằng việc mụ hỡnh hoỏ trong cụng cụ Simulink.
Điều đặc biệt của FLT là cú tớnh Mở, cho phộp dễ dàng hiệu chỉnh cấu trỳc của hệ suy diễn Mờ. Do đú FLT đƣợc thiết kế cho phộp ngƣời sử dụng cú thể tự tạo cỏc hàm phự hợp theo hệ thống của riờng mỡnh dƣới dạng cỏc hàm của Matlab, và
cú thể thay thế cho cỏc hàm đƣợc thiết kế sẵn trong Matlab. Cụ thể nhƣ là FLT cho phộp ngƣời sử dụng hiệu chỉnh cỏc hàm thuộc, cỏc phộp kộo theo, cỏc toỏn tử logic AND hoặc OR, phộp kết nhập và phộp giải Mờ.
Hỡnh 4.2: Hệ thống suy diễn Mờ được thiết kế bằng Simulink
Bộ thƣ viện cụng cụ cũng cho phộp ngƣời sử dụng viết chƣơng trỡnh trực tiếp bằng ngụn ngữ lập trỡnh cấp cao C một cỏch trực tiếp mà khụng cần Simulink (mụ hỡnh hoỏ).
Nhờ tớnh mở của mụi trƣờng làm việc Matlab, cho phộp ngƣời sử dụng cú thể tạo ra cỏc cụng cụ riờng cho FLT hay tớch hợp với cỏc bộ thƣ viện cụng cụ khỏc, vớ dụ nhƣ: Hệ thống điều khiển (Control System),Mạng Nơron (Neuron Network) Bộ cụng cụ tối ƣu hoỏ (Optimization Toolbox)
Khả năng mụ hỡnh hoỏ cỏc quan hệ phức tạp nhƣ là một tập cỏc luật đơn giản làm cho logic Mờ trở thành một phƣơng phỏp để mụ hỡnh hoỏ và điều khiển cỏc hệ thống phức tạp, phi tuyến. Khi việc thể hiện mụ hỡnh toỏn học của một hệ thống là khụng thể đƣợc thỡ FLT cho phộp ngƣời sử dụng sử dụng tập luật để mụ tả cỏc hoạt động của hệ thống. Cỏc luật này đó sử dụng phộp kộo theo trong hệ suy diễn Mờ để tạo ra mụ hỡnh Mờ của hệ thống. Giống nhƣ cỏc thƣ viện khỏc của Matlab, FLT cú thể tuỳ biến. Ngƣời sử dụng cú thể đễ dàng hiệu chỉnh mó nguồn, thuật giải hay thờm vào cỏc hàm thuộc, phộp kộo theo, phộp giải Mờ riờng. Hoặc là ngƣời sử dụng cũng cú thể sử dụng thự viện nhƣ là mụ tơ suy diễn riờng biệt. Mặt khỏc, ta cú thể tạo ra cỏc khối cụng việc bờn trong cụng cụ Simulink, cho phộp ngƣời sử dụng mụ phỏng hệ thống Mờ trong phạm vi mụ hỡnh vật lý toàn diện của hệ thống. Ta cú thể sử dụng Real-Time Workshop để tạo ra mó nguồn file C, cú thể đƣợc sử dụng
cho xPC Target hay dựng cho mục đớch xử lý tốc độ phộp toỏn dấu phảy động. FLT trong Matlab giải quyết đƣợc cỏc vấn đề nhƣ:
- Tạo và soạn thảo cỏc hệ thống suy diễn Mờ bằng cỏc cỏch: + Thụng qua giao diện ngƣời sử dụng đồ hoạ: GUI
+ Dựng cỏc khối dũng lệnh
+ Cho phộp tớch hợp hệ thống Mờ (suy diễn Mờ) với cụng cụ Simulink
+ Xõy dựng suy diễn Mờ bằng cụng cụ C (gọi từ ngụn ngữ lập trỡnh C đến Matlab).
4.2.2. Cỏc tớnh năng cơ bản của FLT
- Hỗ trợ việc tuỳ biến cỏc luật và hàm thuộc để tạo ra hệ suy diễn Mờ.
- Bộ GUIs (giao diện đồ hoạ với ngƣời sử dụng ) riờng để vận dụng cho cỏc hệ thống đồ hoạ, xem và phõn tớch kết quả tƣơng tỏc.
- Xõy dựng hệ suy diễn chuẩn kiểu Mamdani và Sugeno
- Sự quyết định của cỏc hàm thuộc chuẩn thụng qua kỹ thuật luyện mạng neuron thớch nghi và phõn nhúm Mờ.
- Khả năng nhỳng một hệ suy diễn Mờ vào mụ hỡnh Simulink sử dụng khối điều khiển Logic Mờ (Fuzzy Logic Controller).
- Khả năng tạo ra cỏc tệp C một cỏch linh động thụng qua Real-Time Workshop.
- Mụ tơ Logic Mờ sử dụng mó nguồn file C cho phộp ta định dạng suy diễn Mờ một cỏch độc lập hoặc nhỳng vào cỏc trỡnh ngoại trỳ khỏc.
4.2.3. Xõy dựng hệ suy diễn bằng GUI của FLT
Trong FLT, hệ suy diễn Mờ gồm 5 phần: Mờ hoỏ biến vào, ỏp dụng cỏc toỏn tử Mờ cho cỏc giả thiết, ỏp dụng phộp kộo theo cho từng giả thiết đến kết quả, gộp cỏc kết quả bằng bộ luật và giải Mờ.
Trong mụi tƣờng Matlab, một hệ thống suy diễn Mờ hoàn chỉnh cung cấp cho ta 5 phần:
Hỡnh 4.3: Mụ hỡnh cấu trỳc GUI trong Matlab
- Bộ soạn thảo (FIS Editor): hiển thị cỏc thụng tin chung về một hệ suy diền Mờ: bao nhiờu biến vào, bao nhiờu biến ra, tờn cỏc biến. FLT khụng giới hạn số lƣợng biến vào, tuy nhiờn, số lƣợng biến vào phải phụ thuộc vào bộ nhớ cho phộp của mỏy tớnh. Nếu số lƣợng biến vào quỏ lớn hoặc số lƣợng hàm thành viờn quỏ nhiều thỡ cú thể khú phõn tớch khi sử dụng cụng cụ GUI.
- Bộ soạn thảo hàm thuộc (Membership function Editor) đƣợc sử dụng để định nghĩa dạng của cỏc hàm thuộc ứng với từng biến.
- Bộ soạn thảo luật (Rule Editor) dựng để soạn thảo danh sỏch cỏc luật - xỏc định hành trạng của hệ thống.
- Quan sỏt luật và quan sỏt bề mặt đƣợc sử dụng để quan sỏt. Trỏi với soạn thảo, đõy là cụng cụ chỉ đọc. Quan sỏt luật là là một hỡnh ảnh cơ sở của Matlab hiển
thị đồ thị suy diễn Mờ trong giai đoạn sau cựng. Nú cú thể chỉ ra hoạt động của cỏc luật, chỉ ra ảnh hƣởng của cỏc hàm thuộc nhƣ thế nào đối với kết quả trả về. Quan sỏt bề mặt cho phộp hiển thị độc lập một biến ra và một hoặc hai biến vào
4.2.4. Cấu trỳc của hệ suy diễn mờ trong Matlab
Cấu trỳc của FIS (Fuzzy Inference System) là một đối tƣợng của Matlab trong đú bao gồm tất cả cỏc thụng tin về hệ suy diễn. Cấu trỳc này đƣợc lƣu trữ bờn trong mỗi cụng cụ GUI. Cỏc hàm truy nhập nhƣ là getfis, setfis sẽ cho ta dễ dàng kiểm tra cấu trỳc này. Ta cũng cú thể lấy cỏc thụng tin của một cấu trỳc Fis bằng cỏch sử dụng cỳ phỏp structure.field.
Mọi thụng tin của một hệ suy diễn đƣa ra đƣợc chứa đựng trong cấu trỳc FIS bao gồm nhƣ tờn biến, hàm thuộc xỏc định… Ta cú thể xem mụ hỡnh của cấu trỳc FIS trong bộ cụng cụ Logic mờ bao gồm cỏc thành phần nhƣ sau:
FIS name type andMethod orMethod defuzzyMethod impMethod aggMethod input output rule Input name range mf Output name range mf Rules antecedent consequent weight connections Input 1 MFs name type params Input 2 MFs name type params Output MFs name type params Hỡnh 4.4: Cấu trỳc FIS
Bờn cạnh cỏch xõy dựng hệ suy diễn mờ dựa vào bộ cụng cụ giao tiếp với ngƣời sử dụng GUI một cỏch thuận tiện thỡ bộ cụng cụ Logic Mờ cũng cung cấp cho ngƣời sử dụng cỏc hàm, lệnh để truy nhập và làm việc trực tiếp từ cửa sổ lệnh của Matlab.
4.3.1. Bài toỏn điều khiển tớn hiệu đốn giao thụng
Điều khiển và kiểm soỏt giao thụng thành phố đang trở thành một vấn đề lớn ở nhiều nƣớc. Với số lƣợng ngày một tăng của xe trờn đƣờng, Bộ Giao thụng vận tải là cơ quan đó tỡm nhiều cỏch hoặc biện phỏp khắc phục mới. Cỏc biện phỏp đang phỏt triển cỏc tuyến đƣờng mới ở giữa thành phố; xõy dựng đƣờng vũng. Vớ dụ nhƣ đƣờng vũng trong, vũng giữa đƣờng bộ và đƣờng vũng ngoài; giới thiệu xe lửa thành phố nhƣ vận chuyển nhanh nhẹ; hạn chế xe lớn trong thành phố trong giờ cao điểm, và cũng cú thể phỏt triển của cỏc điều khiển giao thụng tinh vi và hệ thống điều khiển.
Đối với bài toỏn điều chỉnh thời đốn xanh, đỏ tại ngó tƣ đƣờng đó cú nhiều phƣơng phỏp đƣợc ỏp dụng [15], trong đú cỏc phƣơng phỏp tuõn theo logic cổ điển vẫn thƣờng đƣợc dựng hiện nay là hai phƣơng phỏp:
- Điều chỉnh theo thời gian: tức là đối với bài toỏn đặt ra tại cỏc ngó tƣ đƣờng cú mức độ ƣu tiờn nhƣ nhau thỡ việc điều chỉnh đốn sẽ tuỳ vào thời gian cao điểm trờn đoạn đƣờng đú mà cú thể thờm hoặc bớt thời gian đốn xanh, đỏ.
- Điều chỉnh theo hƣớng: tức là đối với cỏc ngó tƣ cú phõn biệt mức độ ƣu tiờn. Với hƣớng cú mức độ ƣu tiờn cao thỡ thời gian đốn xanh nhiều hơn, và ngƣợc lại. Bờn cạnh đú cũng cú xột thờm về yếu tố thời gian cao điểm.
Ngoài ra, cũn nhiều phƣơng ỏn cũng kết hợp vúi nhiều cỏc yếu tố liờn quan hơn nhƣ khoảng cỏch rộng của ngó tƣ,… Song cú một vấn đề đặt ra là việc ỏp dụng cỏc phƣơng phỏp trờn nhiều khi rất bất lợi. Bởi vỡ việc thống kờ số liệu liờn quan đến bài toỏn trờn từng ngó tƣ là khỏc nhau, dẫn đến việc thống kờ khụng chớnh xỏc do đú làm cho thời gian chết tại cỏc ngó tƣ nhiều. Việc tớnh toỏn lƣợng xe đi lại vào giờ cao điểm khụng phải luụn đỳng với mọi ngày trong tuần hay với mọi ngày trong năm… Đó cú phƣơng phỏp để nghiờn cứu giải phỏp cho cỏc vấn đề trờn là cỏc chuyờn gia ỏp dụng phƣơng phỏp thớch nghi (adaptation). Trong phƣơng phỏp này, ngƣời ta khụng cố định thời gian T đốn xanh nhất định, mà biến TN là thời gian đốn xanh ở một thời điểm thứ N nào đú, và TN khụng phải là một hằng số. TN khỏc nhau phụ thuộc vào lượng xe thụng qua ở một số thời điểm trƣớc nú. Tức là thời gian TN sẽ đƣợc xỏc định bằng cỏch quan sỏt ở k thời điểm trƣớc đú. Đõy cũn gọi là phƣơng ỏn Markov.
Nếu sử dụng phƣơng phỏp này thỡ vẫn phải tiến hành cỏc cụng việc nhƣ quan sỏt trƣớc và dựng cỏch thức định tớnh. Hơn nữa, khú cú thể sử dụng để tớnh toỏn và ƣớc lƣợng cho nhiều yếu tố bất định cú thể xảy ra trong thực tế nhƣ: thời tiết, giờ cao điểm,… Vỡ vậy, việc ỏp dụng phƣơng phỏp suy diễn mờ cho phộp làm việc với cỏc biến ngụn ngữ, tớnh toỏn theo một xỏc xuất lớn sẽ cho kết quả tốt hơn cỏc phƣơng phỏp khỏc.
Bài toỏn lập hệ suy diễn để điều chỉnh thời gian đốn xanh đốn đỏ tại ngó tƣ - đƣờng cao tốc cú chỳ ý ƣu tiờn một trong một số tỡnh huống nhƣ: lƣợng xe từ cỏc hƣớng Đụng, Tõy, Nam Bắc, thời tiết, giờ cao điểm … dẫn đến cần cỏc thuật giải suy diễn Mờ. Đõy là một trong những vớ dụ thƣờng thấy trong nghiờn cứu và ỏp dụng cỏc thuật toỏn suy diễn mờ đƣợc nhiều ngƣời quan tõm.
Trƣớc đõy, ngƣời ta ỏp dụng cỏc thuật toỏn suy diễn dạng Max-min (Mandani) và Max-Prod (Sugeno) trong đú sử dụng cỏc t-chuẩn, t-đối chuẩn thụng thƣờng. Trong [15], Kok Khiang Tan và cỏc cộng sự đó giới thiệu một phần mềm thực hiện một hệ thống kiểm soỏt giao thụng thụng minh đốn sử dụng cụng nghệ logic mờ cú khả năng bắt chƣớc trớ thụng minh của con ngƣời cho phộp điều khiển đốn giao thụng. Ở giới hạn của luận văn này chỉ xin giới thiệu lại thiết kế bài toỏn kiểm soỏt đốn giao thụng và sử dụng bộ luật để cài đặt thử cho thuật toỏn suy diễn 1 và 2 (đó giới thiệu trong chƣơng III).
4.3.2. Tiờu chớ và ràng buộc
Giả sử thiết lập cỏc tiờu chớ cho hệ giao thụng nhƣ sau:
i) Ngó tƣ là bốn đƣờng giao nhau với đƣờng giao thụng đến từ phớa bắc, tõy, nam và phớa đụng;
ii) Khi giao thụng từ phớa Bắc và di chuyển về phớa Nam, giao thụng từ phớa Tõy và Đụng dừng lại, và ngƣợc lại;
iii) Khụng cú quyền rẽ trỏi;
iv) Bộ điều khiển logic mờ sẽ quan sỏt mật độ giao thụng phớa Bắc và phớa Nam là một bờn và mật độ phớa Tõy và phớa Đụng nhƣ một bờn khỏc;
vi) Thời gian tối thiểu và tối đa của đốn màu xanh là 2 giõy và 20 giõy tƣơng ứng.
4.3.3. Thiết kế bộ điều khiển giao thụng mờ
Một bộ điều khiển logic mờ đƣợc thiết kế cho một ngó 4: bắc, nam, đụng và tõy nhƣ trong hỡnh.
Trong điều khiển đốn giao thụng hai biến đầu vào mờ đƣợc lựa chọn: lƣu lƣợng xe bờn đến (Arrival) và số lƣợng xe bờn hàng đợi (Queue). Nếu phớa bắc và phớa nam là màu xanh lỏ cõy thỡ hƣớng này sẽ là Arrival trong khi bờn phớa tõy và phớa đụng sẽ đƣợc coi nhƣ là Queue và ngƣợc lại. Biến ra mờ biến sẽ là gia hạn thời gian cần thiết cho ỏnh sỏng màu xanh lỏ cõy ở bờn đến (Extension). Nhƣ vậy dựa trờn cỏc điều kiện giao thụng hiện tại của cỏc luật mờ cú thể đƣợc xõy dựng sao cho đầu ra của bộ điều khiển mờ sẽ kộo dài hoặc khụng kộo dài thời gian của đốn màu xanh. Nếu khụng cú gia hạn thời gian trạng thỏi đốn xanh hiện tại, đốn giao thụng ngay lập tức sẽ thay đổi sang pha khỏc.
4.3.3.1. Hàm thuộc của biến vào và biến ra
Với bộ điều khiển tớn hiệu đốn giao thụng, cú 4 hàm thuộc cho mỗi biến vào và ra của hệ thống. Bảng sau chỉ ra cỏc biến mờ của cỏc biến Arrival, Queue và Extention, sử dụng chữ cỏi đầu để viết tắt cho cỏc biến mờ.
Arrival Queue Extention
Almost AN Very small VS Zero Z
Few F Small S Short S
Many MY Medium M Medium M
Biểu diễn hỡnh học cho cỏc hàm thuộc của biến vào trong hỡnh:
Hỡnh 4.5: Hàm thuộc biến mờ của biến vào Arrival
Hỡnh 4.6: Hàm thuộc biến mờ của biến vào Queue
Hỡnh 4.7: Hàm thuộc biến mờ của biến ra Extention
Trục y biểu diễn cho giỏ trị độ thuộc của mỗi biến mờ. Đối với cỏc biến vào mờ trờn trục x là một tớn hiệu cảm biến số lƣợng xe. Với biến ra là chiều dài thời gian đƣợc kộo dài trong vài giõy. Thiết kế cho cỏc hàm thuộc này đƣợc thực hiện theo quan sỏt của cỏc chuyờn gia hệ thống và mụi trƣờng. Tuy nhiờn, độ rộng và trọng tõm của cỏc hàm thuộc cú thể dễ dàng thay đổi và thiết kế lại theo cỏc điều kiện và trạng thỏi giao thụng khỏc nhau.
Vớ dụ nếu đƣờng giao nhau là quỏ tắc nghẽn, số lƣợng xe ụ tụ trong tập con mờ "Quỏ nhiều" hay "lớn" là cần đƣợc tăng lờn. Mặt khỏc, đƣờng giao nhau rộng và ớt nghẽn thỡ chiều rộng hàm thuộc cú thể đƣợc giảm bớt... Ta cú thể quan sỏt