COMP6068 Machine Intelligence Assignment – Bournemouth University UK.

Unit Code & Title : COMP6068 Machine Intelligence
Assessment Title : Tasks from selected topics of Machine Intelligence
Assignment Type : individual assignment
ASSESSMENT TASK : This assignment consists of one problem with 3 parts. You need to address all questions for full marks. This is an individual assignment. This assignment addresses all Intended Learning Outcomes (ILOs) for this unit (see below).
COMP6068 Machine Intelligence Assignment – Bournemouth University UK.

COMP6068 Machine Intelligence Assignment

Problem :
Mr. XXX a home printer, has acquired a programmable second-hand gravity printer (this term will be explained later) which allows him to print several coloured posters at the same time. This printer is programmable in the sense that it is
provided with an ordered list of posters to print, and it interprets this list to decide the actual printing order. It has ink cartridges, each of a different colour (the colours are numbered from 0 to N-1) and can print several posters simultaneously, provided that any two of these posters do not use a common colour.

The printing of a poster (or simultaneously of several posters as explained below) is done in a unit of time, and since Mr. XXX has just acquired this new printer, he prefers that one of his workers is near the machine at all times to check that everything is going well. He cannot run the printer for more than T units of time in the day.

Your job is as follows: every day around Mr.XXX provides you with the list of orders for the next day, and you must provide him with the program for his printer at the latest. In other terms, the job consists of transforming the list of customer orders into an optimised printing schedule (program).Let’s define what the list of orders (input of the problem = input to your algorithm) and program (expected output of your algorithm) are:

The list of orders is provided in the form of an ascii text file in the following format:
On the first line, separated by spaces: the number N of ink cartridges of the printer, the number C of orders placed for that day, the time T of printing available; On each of the following C lines, separated by spaces: the number K of colours to use for the poster, followed by the list of K colours used.

Here is an example of a list of orders:

Output :
The program you need to provide looks like this:
1.on the first line: an integer giving the number A of posters to print;
2.on each of the following A lines, the order number.

An example program supplied to the printer for the preceding list of orders is given in Figure 1.

Figure 1: program supplied to the printer (left column)

It is not imperative that all orders be printed, but it is mandatory that the printing time does not exceed T because the
printer cannot be stopped while a program is running. The first printing is made at time 0.

The program is interpreted by the printer as a part of Tetris where posters obey gravity. For instance, for the program on Figure 1, the posters are printed according to the following diagram shown in Figure 2. Here the x-axis indicates the
colours (0 to 5) and the y-axis the order (time).

The printing schedule resulting from Tetris in Figure 2 could read as follows:

Figure 3: Scheduling after application of gravity: posters 1, 3 and 4 are printed at time 0, prints 0 at time 1 and prints 2 at time 2.

As can be seen from Figure 3, all colours of a poster are printed at the same time (due to the gravity notion).

The main objective is to print as many posters as possible in the allotted time T.

Unfortunately, the salesman has warned Mr. Willy that due to its age, the printer has a slight defect: you cannot use all the colours simultaneously, otherwise the pipes overheat and the colours bleed on the posters.

In terms of income, each poster printed earns Mr. Willy £10, while each sheet wasted (because of the ink smeared) costs him £5. A score is associated with each program is calculated according to this rule of income and loss. However, if the printing time exceeds T, the score is 0.

COMP6068 Machine Intelligence Assignment – Bournemouth University UK.

COMP6068 Machine Intelligence Assignment

Part 1: Optimisation
1.Why can this problem be considered an optimisation problem?

Part 2 : Genetic Algorithms
2.1. Using genetic algorithms to solve this problem, theoretically design a technical solution (providing technical details) by describing the following

a. the fitness function
b. the encoding of the chromosomes
c. the crossover operator
d. the mutation operator

2.2. Implement Python code with comments by using off-the-shelf (and provide the reference) or adapting the code given in the lab and run your simulation to find the optimal schedule that produces the best (final) score that should
be indicated too. Please make sure to submit your code.

2.3. In your report, please critically discuss the outcome of your simulation and how the algorithm evolved the solutions to obtain that final score.

Part 3: Ant Colony Optimisation
Explain how Ant Colony Optimisation (ACO) can be applied to solve this problem by describing the main modelling steps. Please be systematic in your explanation, by providing:

3.1. How to model this problem to fit the ACO heuristic. The modelling task consists of providing the algorithm in the form of a pseudo code and describing its building blocks (steps) with full details. The answer should be as complete as if you were to implement the pseudocode. Please try to be general and not very specific about the example given
above, meaning your reasoning should be about any possible list of orders

3.2. Implement in python your algorithm by using off-the-shelf (and provide the reference) or adapting the code
given in the lab and run your simulation to find the outcome

3.3. Discuss the result in comparison to your GA outcome.

This unit assesses your ability to:

1.Understand the essential elements of machine intelligence including machine learning, optimization and pattern
2.Develop a critical understanding of the “true predictive capability” concept of a learning machine, demonstrating
awareness of pitfalls of the different approaches and the power of nature-inspired algorithms in solving problems.
3.Analyse decision making from both a computational and problem-solving perspective.
4.Critically evaluate different software that allow to solve-real world problems in different decision-making areas.

COMP6068 Machine Intelligence Assignment – Bournemouth University UK.

COMP6068 Machine Intelligence Assignment

Support will be available via the assignment web page (accessible via Bright space) and in class. Additional support is available on request via email. Please note that the University guidelines state that emails should be responded to within 3 working days. Students are encouraged to work continuously on the assignment as the lectures progress.