Assignments
An Exercise in Building a KBS
Assignments
Goals Exercise in the building of a simple KBS
Implementation of a simple knowledge base Implementation of a simple inference mechanism Implementation of a simple user interface
Focus initial steps to build a KBS
choosing a KR methodology defining amp creating a knowledge base (KB)
facts and rules semantic network frames define tasks in the domain implement inference (searchbackwardforward
chaining inheritance)
List of Assignments Diagnosis
Diagnose faults in a PC based on observed malfunctions
Diagnose faults in a carbike based on observed malfunctions
Prognosis Predict weather conditions based on observations
and recorded patterns Predict stock market prices based on observations
and recorded patters Configuration
Construct PCcarbike configuration for clients based on preferencesconstraints
List of Assignments
Recommendation Systems Recommend an MSc course to graduate
students based on their preferences and capabilities
Recommend job opportunities to graduate students based on their preferences and capabilities
Recommend investments to clients based on their status (financial etc) and needs and on the market trends
Recommend package holidays to clients based on their status and preferences
List of Assignments
Classification amp Taxonomic Organization Build and reason with a taxonomy
(classification) of vehicles Recommendation to users based on needs
(optionally) Build and reason with a taxonomy
(classification) of art items Build and reason with a taxonomy
(classification) of pieces of music Etc
List of Assignments
You can also propose any assignment you can think of After a discussion with me
Eg Earthquake forecasting (prognosis)
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Assignments
Goals Exercise in the building of a simple KBS
Implementation of a simple knowledge base Implementation of a simple inference mechanism Implementation of a simple user interface
Focus initial steps to build a KBS
choosing a KR methodology defining amp creating a knowledge base (KB)
facts and rules semantic network frames define tasks in the domain implement inference (searchbackwardforward
chaining inheritance)
List of Assignments Diagnosis
Diagnose faults in a PC based on observed malfunctions
Diagnose faults in a carbike based on observed malfunctions
Prognosis Predict weather conditions based on observations
and recorded patterns Predict stock market prices based on observations
and recorded patters Configuration
Construct PCcarbike configuration for clients based on preferencesconstraints
List of Assignments
Recommendation Systems Recommend an MSc course to graduate
students based on their preferences and capabilities
Recommend job opportunities to graduate students based on their preferences and capabilities
Recommend investments to clients based on their status (financial etc) and needs and on the market trends
Recommend package holidays to clients based on their status and preferences
List of Assignments
Classification amp Taxonomic Organization Build and reason with a taxonomy
(classification) of vehicles Recommendation to users based on needs
(optionally) Build and reason with a taxonomy
(classification) of art items Build and reason with a taxonomy
(classification) of pieces of music Etc
List of Assignments
You can also propose any assignment you can think of After a discussion with me
Eg Earthquake forecasting (prognosis)
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
List of Assignments Diagnosis
Diagnose faults in a PC based on observed malfunctions
Diagnose faults in a carbike based on observed malfunctions
Prognosis Predict weather conditions based on observations
and recorded patterns Predict stock market prices based on observations
and recorded patters Configuration
Construct PCcarbike configuration for clients based on preferencesconstraints
List of Assignments
Recommendation Systems Recommend an MSc course to graduate
students based on their preferences and capabilities
Recommend job opportunities to graduate students based on their preferences and capabilities
Recommend investments to clients based on their status (financial etc) and needs and on the market trends
Recommend package holidays to clients based on their status and preferences
List of Assignments
Classification amp Taxonomic Organization Build and reason with a taxonomy
(classification) of vehicles Recommendation to users based on needs
(optionally) Build and reason with a taxonomy
(classification) of art items Build and reason with a taxonomy
(classification) of pieces of music Etc
List of Assignments
You can also propose any assignment you can think of After a discussion with me
Eg Earthquake forecasting (prognosis)
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
List of Assignments
Recommendation Systems Recommend an MSc course to graduate
students based on their preferences and capabilities
Recommend job opportunities to graduate students based on their preferences and capabilities
Recommend investments to clients based on their status (financial etc) and needs and on the market trends
Recommend package holidays to clients based on their status and preferences
List of Assignments
Classification amp Taxonomic Organization Build and reason with a taxonomy
(classification) of vehicles Recommendation to users based on needs
(optionally) Build and reason with a taxonomy
(classification) of art items Build and reason with a taxonomy
(classification) of pieces of music Etc
List of Assignments
You can also propose any assignment you can think of After a discussion with me
Eg Earthquake forecasting (prognosis)
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
List of Assignments
Classification amp Taxonomic Organization Build and reason with a taxonomy
(classification) of vehicles Recommendation to users based on needs
(optionally) Build and reason with a taxonomy
(classification) of art items Build and reason with a taxonomy
(classification) of pieces of music Etc
List of Assignments
You can also propose any assignment you can think of After a discussion with me
Eg Earthquake forecasting (prognosis)
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
List of Assignments
You can also propose any assignment you can think of After a discussion with me
Eg Earthquake forecasting (prognosis)
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis
Implementation of simple system that can diagnose faults in a PC based on observed malfunctions
The system could take as input facts describing malfunctions and return a description of the possible fault(s) Forward chaining
Or it could take as input a possible fault and decide if the system suffers from it or not Backward chaining
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis
Examples of rules If antivirus program does not start and it
is installed then computer is infected with virus or license has expired
If computer cannot boot then there is a disk error
If cannot connect to internet then modem is faulty or phone line is down
Rules can stored in a text file in some convenient syntax and structure
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis
The working memory will contain the facts entered by the user Computer does not boot MS Word does not start Disk boot error message appears Antivirus is installed Phone line is OK Etc
Or the query about a possible fault Is the CD-writer problematic
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is a requirement in all assignments Assuming a rule-based KBS is implemented
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Diagnosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used
Any other assignment from the diagnosis domain has similar requirements
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis
Implementation of simple system that can predict weather conditions or earthquake event or volcano eruption based on observations and recorded patterns
The system could take as input facts describing eg the weather and return a prediction of the weather for the next days Forward chaining
Or it could take as input a possible weather condition and decide if it will occur (eg will it rain) Backward chaining
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis
Build a rule base using either A pseudo formal language (simple syntax
must be defined) Prolog
Implement a simple inference engine for your domain Forward chaining Backward chaining General search algorithmsheuristics
Some pattern matching code will be necessary1048708
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis
Examples of rules If it is hot and humid then it will rain If sunny and summer then
temperaturegt30 If rain for past 5 days then will stop
raining or rain for next 5 days
Rules can be stored in a text file in some convenient syntax and structure
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis
The working memory will contain the facts entered by the user Rain for past 5 days Winter Cloudy Clouds from Southeast approaching Yesterdayrsquos temperature=21 Etc
Or the query about a possible fault Will it rain tomorrow
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis
These factsqueries must be given in a convenient syntax as well
The working memory can be implemented as a (simple) data structure a list a queue a stack etc
You can read all rules in memory and also store them in a (simple) data structure But they must exist in a file (not hardwired
in the program code)
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis If you use backwardforward chaining
at least two cycles must be executed for some task (not all of them necessarily) It is not OK if no facts are added or removed
from working memory ever It is not OK if all queries are answered by
doing a match with a single rule and firing a single rule
This is requirement in all assignments Assuming a rule-based KBS is implemented
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis - Deliverables
A text file containing the KB with the rules (and possibly some facts)
A text file containing the taskquery definitions that you tried
A report explaining how your inference engine works what have you done why and how queries are answered by your program
And of coursehellip The source code and executable files
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Prognosis - Deliverables
This assignment is for 1 student Prolog (SWI or WIN-PROLOGFLEX)
or CLIPS or JAVA can be used Any other assignment from the
prognosis domain has similar requirements
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
Implementation of a simple system in the domain of vehicle classification and (optionally) recommendation
The system should be able to conduct a simple dialogue with clients ie answer simple queries and perform
simple tasks posted by a client
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
draw a semantic network or frame network (or ontology) for your domain use inheritance - subtype object hierarchy
(taxonomy) use frames or entitiesrelations to describe
concepts and their attributes Nodes or Frames
Vehicles and vehicle parts (cars bikes trucks engines etc)
Features (links amp attributes or slots) size width max speed acceleration max
number of passengers max capacity etc
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
Transform the semantic (or frames) network diagram into a knowledge base (KB) using either facts amp rules a direct approach (hierarchies) Prolog
If you donrsquot use Prolog you have to use a pseudo formal language define the syntax of frames (nodeslinks)
or rulesfacts
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
Define list of basic tasksqueries Use pseudo formal language (define
syntax) or Prolog operations on vehicle items in the KB
Insert a new category or specific vehicle client queries
Does a BMW 320i have a sunroof Recommendation tasks (optional)
User enters a set of requirements and the system proposes a vehicle
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
Examples add new vehicle item in the KB specify basic properties answer queries about a vehicle item Depending on the KR method you choose you can also define more complex tasks such as
explain procedure that describes to a user certain vehicles
profile procedure that defines what the user looks for
recognize match users wishes with the vehicle types etc
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organizationndash If not Prolog then
Implement a simple inference engine for your domain
Depending on the KR framework you choose it may be based on Inheritancegraph navigation Forward chaining Backward chaining
Some pattern matching code will be necessary1048708
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
You inference engine should be able to handle some (not necessarily all) of the tasksqueries you have defined You choose which ones If you use Prolog all tasksqueries must
be implemented
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization
Prepare a report containing explanations for Semantic (frames) network KB pseudo (or Prolog) description in rules amp
facts language if used Tasksqueries you have defined The way your inference engine works Reflection on problems amp interesting
issues in this assignment
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization - Deliverables
A semantic (frames) network diagram of the vehicle domain
A text file containing the vehicle KB with facts amp rules or semantic (frames) network
A text file containing the taskquery definitions
A report explaining how your inference engine works what have you done why and how queries are answered by your program
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification amp Taxonomic Organization - Deliverables
And of coursehellip The source code and executable files
This assignment is for 1 student using WIN-PrologFLEX or a Frames (or ontology) languagetool
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification
Implementation of a simple KBS that will be able to classify pieces of music into genres Use frames
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification
draw a frame network for your domain use inheritance - subtype object
hierarchy (taxonomy) use frames to describe concepts and their
attributes Frames
Pieces of music and genres (songs pop classical dance etc)
Features (slots) artist duration date producer etc
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification
Features (slots) Write a daemon that will try to play the
piece of music
Implement the KB directly as a network of frames
Implement an inference mechanism based on inheritance graph navigation
Define a set of tasksqueries
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Classification - Deliverables A frames network diagram of the vehicle
domain A text file containing the vehicle KB with
the frames network A text file containing the taskquery
definitions A report explaining how your inference
engine works what have you done why and how queries are answered by your program
Codeexehellip
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential MSc courses
The system should hold knowledge about various MSc courses Their prerequisites Their level of difficulty Tuition fees Other requirements Etc
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Recommendation Systems
A student should be able to enter hishers profile Grades Courses takes Topic of final year project Languages spoken Etc
And the system should be able to propose MSc courses that fit the studentrsquos profile
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Recommendation Systems
Design and implement an MSc advisor rule-based system
Create a rule base using either A pseudo formal language (define syntax) Prolog
Knowledge about specific MSc courses can either be entered by the user each time the system is used or can be stored in the KB
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Recommendation Systems Examples of rules
If student only speaks English then MSc course must be in English
If topic of final year project is AI then student likes AI
If student likes AI and has grade gt 7 in AI course and has passed Algorithms amp Data Structures then MSc course title should contain word AI
If MSc course title should contain word AI and MSc course must be in English then MSc course in Edinburgh or MSc course in Imperial
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Recommendation Systems
Implement a simple inference mechanism (or use any Prolog)
Deliverables are same as previous assignments Except the parts about semantic (frames
networks)
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Recommendation Systems
Implementation of a simple system that will propose to a final year student potential job opportunities Similar as Assignment 5 Instead of MSc courses we have jobs All else similar
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Configuration
Implementation of a simple system that will construct PC configurations for clients
A client should be able to enter hishers preferences Cpu RAM HD etc Assume that clients are not knowledgeable
And the system should be able to construct a PC configuration that fits the clientrsquos needs and satisfies any relevant constraints
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Configuration
Design and implement a PC configuration rule-based system
Create a rule base using either A pseudo formal language (define
syntax) Prolog
Implement a simple inference mechanism (or use Prologrsquos)
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Configuration Systems Examples of rules related to preferences
If wants fast PC and low cost then 2MHz ltCpult3MHz and 2GbltRAMlt1Gb
If wants to play games then graphics controller is X or Y or Z
If wants fast internet then provide ADSL Examples of rules related to constraints
If graphics controller is Y then sound controller is W
If wants HP PC then costgt1500
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student
Configuration
Deliverables are same as previous assignments
Instead of rules you can use constraint satisfaction if you want
This assignment is for 1 student