CISC467*Fuzzy Logic
Fall 2019 

Date  Text 
20191018 
Assignment 
Instructor 
Dr. Robin W. Dawes 

Goodwin 537 

dawes
AT cs DOT queensu DOT ca 

http://sites.cs.queensu.ca/dawes/ 

5336061 (but speaking to me in
person is a much better idea) 

Office Hours: TBA 
TAs 
Name 
Email 
Office Hours 
Picture 
Calendar
Description 
History of fuzzy theory; fundamental concepts of fuzzy theory: sets, relations, and logic operators. Approximate reasoning, fuzzy inference, possibility theory. Separation from probability. Fuzzy control systems. Fuzzy pattern recognition. Advanced topics may include fuzzy expert systems, financial systems, graph theory, optimization. 
Suggested Texts 
There is no required text for this course. Here are some suggestions: Fuzzy Logic  Yen and Langari Free PDF texts: Bede  Mathematics of Fuzzy Sets and Fuzzy Logic Chen and Pham  Introduction to Fuzzy Sets, Fuzzy Logic and Fuzzy Control Systems 
Syllabus 
Introduction (2 weeks)
Fuzzy Logical Operators (1 week)
Fuzzy Inference Systems (2 weeks)
Fuzzy Control Systems (2 weeks)
Fuzzy Implication (1 week)
Applications and Advanced Topics in Fuzzy Logic (4 weeks)

Marking Scheme 
Contributions to
shared knowledge base: 10% Homework: 10% Midterm test: 15% Presentation on advanced topic: 20% Implementation project: 20% Term Paper: 25% 
Class
Schedule 
Monday 1:30  2:20 Wednesday 12:30  1:20 Friday 11:30  12:20 
All classes are in Jeffery 234 

Test
Schedule 
Date 
Locations 
Material 
Solutions 
Midterm 
Wednesday October 30, 12:30  1:20 
Jeffery 234 

Date  Description  Source 
General note:
several of these python source files have .py3 as their
extension. This is because I have set up my IDE to use this
extension to distinguish between Python 2 and Python 3 files.
For obscure reasons, some of the extensions are .py even though all
the programs are written in Python 3. You may want to change
all the extensions to .py 

The Mamdani model for Fuzzy Rule Based Inference systems. This contains class definitions for Clauses, Rules, Rule_Sets, and Piecewise_Functions. A variety of tnorms and snorms are provided. Rules can be resolved using clipping or scaling. Rule_Sets are defuzzified using the Centre of Mass method. 
Python
3 source code 

Mamdani System for controlling the
depth of water in a tank 
Python
3 source code 

The Sugeno model for Fuzzy Rule Based Inference systems. This is a very simple version of the Sugeno model: all Rule consequents are constants (as opposed to the full Sugeno model in which consequents can be linear combinations of the input variables). 
Python
3 source code 

Sugeno System for controlling the depth of water in a tank  this
is a work in progress! 
Python
3 source code 

Tnorm sidebyside comparison, and snorm sidebyside
comparison. Each of 7 popular tnorms is shown as a matrix of t(x,y) values, with (0,0) in the bottom left corner and (1,1) in the top right. Shades of grey are used to represent the t(x,y) values, with black representing 0 and white representing 1. On the second display screen (reached by clicking anywhere in the image) the corresponding snorms are displayed. 
Python 3 source code  
Implication sidebyside comparison. 11 popular implication operators are shown in the same manner as the tnorms and snorms in the demo just above 
Python 3 source code  
Modus Ponens An implication operator lets us create a relation between a fuzzy set A and a fuzzy set B. the operator satisfies the Modus Ponens criterion if the result of composing A with the A_Implies_B relation is B. This depends on the tnorm and snorm used to resolve the composition. This demo runs through several wellknown implication operators and combines each with a collection of tnorm/snorm pairs. From the results it is possible to see which combinations satisfy the Modus Ponens criterion. 
Python 3 source code 
Source 
Section 
Comments 
Learning
(Your
First Job) 
All 
Essential reading for all students 
Computer Science For Fun  Any  purely recreational 

Sample Term Papers  Sample 1 Sample 2 Sample 3 Sample 4 
Sample Implementations  Sample 1 Sample 2 
Sample Presentations  Sample 1 Sample 2 
Students are responsible for familiarizing themselves with the regulations concerning academic integrity and for ensuring that their actions conform to the principles of academic integrity. Information on academic integrity is available in the Arts and Science Calendar (see Academic Regulation 1 on the Arts and Science website).
Departures from academic integrity include plagiarism, use of
unauthorized materials, facilitation, forgery and falsification, and are
antithetical to the development of an academic community at Queen's. Given
the seriousness of these matters, actions which contravene the regulation
on academic integrity carry sanctions that include but are not
limited to
Any violation of Academic Integrity in CISC467 will result in a
grade of 0 on the work involved, and a maximum final grade of 60 in the
course. Repeated violations will result in a final grade of 0.
The preceding text on academic integrity is based on a document written by Prof. Margaret Lamb and is used here with her permission.