This assignment contributes 40% of your final grade.
Submission is to the assignment submission TurnitinUK link in the assessments section for this module.
Please note – If necessary, we will arrange 10-minute vivas (verbal exchanges) with each of you (using Google Hangout or Skype for distance students). During this we may ask about anything to do with either of the two assignments (and therefore the course content). This is to ensure that you understand the work that you have submitted and that it is your own.
Task
Your task is to develop a fuzzy system in Matlab (will be supported in the module with a weekly lab) or using a programming language of your choice (not supported in the weekly lab). The system is one for giving advice on a subject or area of expertise of your choice.
For example.
You could give advice on whether a person should play a particular sport; you could choose the sport and you could ’make up’ a sensible set of fuzzy rules for your system. Possible input variables depending on the sport chosen could be:
• Level of Athleticism
• Hand-Eye Co-ordination
• Interest in team games
• Etc
Or you could advise on whether a person should learn to play a particular musical instrument. Again, you could choose the particular instrument. Input variables for this might include:
• Hand-Eye co-ordination
• Ability to read music
• Interested in solo performance / orchestral / rock band etc.
You should aim to have 3 or 4 input variables.
For whatever advice system you decide on.
• You need to use appropriate membership functions to represent the linguistic terms associated with each input variable.
• You should compare and contrast the results of using different shapes membership functions, different operators, etc. and evaluate the results by testing your system with a variety of input values. Make sure you test boundaries thoroughly (e.g. where the membership functions overlap etc.)
• You should investigate the different defuzzification techniques available in Matlab and carry out an analysis of their effects in this specific problem.
• You should consider carefully the rules that you include – enough to meet the needs of the system but make sure that you do not have multiple rules doing the same job. This is an issue in fuzzy systems and is well documented in the literature. The second edition of the Timothy Ross book has a Chapter on this (Chapter 9).
You should consider and explain in your report what the output results for your system actually mean.
Deliverable
The deliverable is a report that summarises the problem and justifies your design decisions.
• It should provide a commented listing of the Matlab Commands used and appropriate graphical output.
• It should show some fine-tuning of the system to produce sensible results and there should be a discussion of the effects of using different membership functions, operators, defuzzification techniques, etc.
• As a guide you should aim to make the report should be around 8 sides of A4 (using a sensible sized font and line spacing). We are not imposing a penalty for reports that are too long or too short but this is intended to be a technical report and it should present your work in a concise manner, so in-concise reports may well not meet this criterion and therefore may not be classed as well written. Conversely, very short reports might not explain the system fully to the reader.
• Additionally, there should be appropriate use of appendices to provide detailed results.
• The work will be marked from the report and its appendices. If you would like to submit a copy of your fuzzy inference system then email it to us. (If you used an m file to create it please put that on as well. If you are submitting multiple files for the practical part please Zip them before sending by email).