CO3310 Artificial Intelligence 2013–14

Coursework assignments

Assignment 1

Question 1: Search

a) Explain why breadth-first and iterative deepening search do not always find the optimal solution. Under what circumstances is the solution they find optimal? Be as precise as you can.

[20]

b) Explain how you would modify each search to ensure that they always find the optimal solution. Prove this for both types of search, using a proof by contradiction.

[30]

c) Implement and experimentally compare the performance (in terms of both the number of nodes expanded during the search - representing the time complexity - and the maximum number of open nodes stored in memory - representing the space complexity) of the standard versions of breadth-first and iterative deepening searches.

Evaluate your implementations using the Missionaries and Cannibals search prob- lem given in Russell and Norvig.

[20]

Your program should be written in well-commented Java, and you should include explicit instructions on how to compile, run and execute it.

Submit the following:

1. Written answers to parts a) and b).

2. A written report describing the performance of each algorithm and summa- rizing the results, for part c).

3. A well commented digital copy of your program source code and executable for part c). Include a file named README.TXT that explains how to run the program, and include a copy of any additional software or libraries required.

Question 2: Knowledge Representation and Reasoning

PROLOG is a declarative programming language that allows you to create a knowl- edge base by writing first-order logic sentences, and then pose queries to that knowledge base. The language itself takes care of performing the necessary in- ference; your role is primarily that of correctly specifying the problem and the query you need answered.

In this question you are asked to first write down first-order logic equivalents of the following pieces of information, and then write a PROLOG program that encodes these statements:

• Plastic things are shiny.

• Varnished things are shiny.

• Blocks are wooden.

• Brown things are wooden.

• Wooden things are varnished.

• Plastic things are light.

• A is a ball.

• A is plastic.

• B is a block.

• C is green.

• C is light.

• D is brown.

Using your PROLOG implementation, determine whether A, B, C and D are shiny. Show the queries that you used, along with the resulting output.

You should begin by consulting one of the many PROLOG tutorials available for free on the Internet. You may use any PROLOG compiler to complete this assign- ment, although a version of SWI PROLOG is included in the CD that accompanies your subject guide.

Submit the following:

1. A written summary of your approach, giving each rule in first-order logic alongside its implementation in PROLOG. You should also give the PRO- LOG code for the necessary queries and show the resulting output.

2. A well commented digital copy of your PROLOG program. Include a file named README.TXT that explains how to run it, and include a copy of any additional software or libraries required.

[30]

Your submission should consist of a single .zip file uploaded to the VLE containing your written answers (in PDF format, if possible) as two separate files (one for each question), and including directories containing your code. Please name the files so that it is obvious which question they address.

CO3310 Artificial Intelligence 2013–14

Coursework assignments

Assignment 2

Question 1: Machine Learning

In this question you are asked to explore the WEKA machine learning toolkit, a copy of which is included in the supplementary material which can be downloaded from the VLE.

Download the datasets-UCI.jar data set from the WEKA website, and se- lect three problems from the data set and three classification methods from those available in WEKA. Run each method on each problem (i.e., run nine different combinations of method and problem), and obtain data describing the method’s performance on each problem. You may wish to vary each method’s parameters to improve its performance.

Make use of all available resources (including the Internet, and the WEKA docu- mentation) as necessary to help you understand the various options and parameters in WEKA. Submit a written document describing the data sets, listing the methods used, and describing their performance on each data set. Your mark will depend significantly on how well your results are explained and presented - be clear and concise.

[40]

Question 2: Social and Ethical Issues

Google introduced a wearable camera and display device called Google Glass in 2012. Glass can be used to record videos, display information, and access the internet (among other things) while a user goes about their daily lives.

a) Write an overview of Google Glass. Explain how the need to make a user comfortable and the device itself unobtrusive impacted its design. (Recommended word count: 300 words.)

[10]

b) In June 2013 Google announced that it will not allow applications or services that perform facial recognition to run on Glass. Discuss the privacy concerns un- derlying this move, and explain whether or not you think it is likely to be effective. (Recommended word count: 750 words.)

[30]

c) Some businesses have already stated that they will deny admission to customers wearing Glass. Compare and contrast this with some businesses refusing to serve customers while they are using a cell phone. What are the concerns underlying

each case? Which do you think is more serious? (Recommended word count: 500 words.)

[20]

Your submission should consist of a single .zip file uploaded to the VLE, containing your written answers (in PDF format, if possible) as two separate files (one for each question). Please name the files so that it is obvious which question they address.

Get help from top-rated tutors in any subject.

Efficiently complete your homework and academic assignments by getting help from the experts at homeworkarchive.com