BAM13 - Artifical Intelligence
Course description
Course lay-outThis course covers the topics artificial intelligence & machine learning, programming in logic and expert systems.
Artificial Intelligence & machine learning: artificial intelligence is the area of informatics which focuses on the development of computer software. This software can solve problems in a intelligent matter, e.g.; making diagnoses, recognizing the relationship between the planning and actions. Conventional areas of informatics aim at systematic storage and recovery of data, while AI aims at automatic interpretation of these data, reasoning with knowledge and knowledge discovery in data. Knowledge discovery in data is also called machine learning.
Programming in Logic: Prolog is a program language which is based on first orde logics and is frequently used in the area of artificial intelligence. Prolog is a declarative language, while Java, C, C++ and Pascal are object-oriented languages. As a consequence it is not necessary to describe how the problem should be solved, but the problem should be described as logical facts and rules which are valid in a domain. The interpreter of Prolog will use this facts and rules to solve the problem.
Educational goals
At the end of this course the student has:
insight into the structure, technical know-how and usage of knowledge systems and decision support systems in medicine
knowledge of and insight into search techniques in a way that the student can use them
basic skills in programming in logic with Prolog
an overview of techniques for representing certainty factors and chances and be able to see these two in the context of reasoning with uncertainty
knowledge of and insight into methods of machine learning and use these methods
Involved departments
Clinical Informatics
Guest Lecturers
Evaluation
Evaluation of the course and assignmentsThis course was about artificial intelligence and the application of artificial intelligence in medicine. Three practicals were given to familiarize ourselves with programming in logic; Prolog. It was completely different than programming in Java (object- oriented) and for me it took some time to master it. A major advantage is that you do not have to program algorithms to solve it, only some rules and facts and Prolog will produce a solution.
During these practicals we examined several 'expert systems', what are the advantages and disadvantages? Subsequently these expert systems had to be adapted to another domain. These practicals were very useful to refresh my knowledge about logics. You have a different view on programming than when you had to program in Java.
Besides the practicals lectures were given about algorithms and machine learning. When programming expert systems there are several points of attention, one of these points is the search strategy. Each search strategy has its advantages and disadvantages.
It was very interesting to have look at several expert systems like MYCIN. It was a special expert system, however the values that were used in MYCIN were educated guesses.
I like this course, in particular the expert systems. It was interesting to create applications another way; not object-oriented, but programming in logic. The workload of this course was not high, but it took some time to get used to a new way of programming.