46
Assignments An Exercise in Building a KBS

Assignments An Exercise in Building a KBS. Assignments Goals: Exercise in the building of a simple KBS Implementation of a simple knowledge base

Embed Size (px)

Citation preview

Page 1: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 2: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 3: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 4: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 5: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 6: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 7: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 8: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 9: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 10: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 11: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 12: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 13: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 14: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 15: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 16: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 17: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 18: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 19: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 20: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 21: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 22: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 23: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 24: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 25: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 26: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 27: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 28: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 29: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 30: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 31: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 32: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 33: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 34: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 35: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 36: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 37: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 38: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 39: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 40: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 41: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 42: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 43: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 44: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 45: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

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

Page 46: Assignments An Exercise in Building a KBS. Assignments  Goals: Exercise in the building of a simple KBS  Implementation of a simple knowledge base

Configuration

Deliverables are same as previous assignments

Instead of rules you can use constraint satisfaction if you want

This assignment is for 1 student