21 Aug 380CT: THEORETICAL ASPECTS OF COMPUTER SCIENCE
380CT: THEORETICAL ASPECTS OF COMPUTER SCIENCE- COURSEWORK 2
UNDERSTANDING AND OVERCOMING INTRACTABILITY IN ALGORITHMS DESIGN
The partition problem is the task of deciding whether a given set S of positive integers can be partitioned
into two subsets S1 and S2 such that both have the same sum. Although the partition problem is NP-
complete, there is a polynomial time dynamic programming solution, and there are heuristics that solve
the problem either optimally or approximately. For this reason, it has been called “The Easiest Hard
Problem”. Source is Wikipedia. For the partition problem that you need to address in this coursework
the conditions for a 2Part = {Sub1, Sub2
1- Sub1 ∪ Sub2 = S
2- Sub1 ∩ Sub2 = ∅
3- ∑∀a ai i∈ Sub1 = ∑∀b bi i∈Sub2
Example: S = {2,3,4,6,5,10}, 2Part = {{2,3,4,6},{5,10}} or 2Part = {{4,5,6},{2,3,10}}
1- {2,3,4,6} ∪ {5,10} = {2,3,4,6,5,10} = S
2- {2,3,4,6} ∩ {5,10} = {} = ∅
3- 2 + 3 + 4 + 6 = 5 + 10
So the target in this case is specified by one of the subsets sums t = {2 + 3 + 4 + 6} and the other can
be obtained as Sub2=S-Sub1
You are required to write a report about algorithms suitable for tackling the partition problem, defined
above, and investigate their computational complexities in practice by implementing them. You are
provided with the basic C++ classes to help you and you can use any code you prefer.
You report should cover the following:
1. Outline in pseudo-code an Exhaustive Search (Brute Force) solution for the problem (5 marks)
a. Give its time complexity using O-notation
b. Plot the average running time for 10 randomly generated sets S: |S|= 10, 20, 30 and 40
c. Discuss the algorithm complexity in light of your results in b
2. Outline in pseudo-code a Dynamic Programming solution for the problem (5 marks)
a. Give its time complexity using O-notation
b. Plot the average running time for 10 randomly generated sets S: |S|= 10, 20, 30 and 40
c. Discuss the algorithm complexity in light of your results in b
3. Outline in pseudo-code Greedy or Random Sampling approaches to solve this problem(5 marks)
a. Give its time complexity using O-notation
b. Plot the average running time for 10 randomly generated sets S: |S|= 10, 20, 30 and 40
c. Discuss the algorithm complexity in light of your results in b
4. Outline in pseudo-code for Simulated Annealing or Genetic Algorithm for this problem(5 marks)
a. Give its time complexity using O-notation
b. Plot the average running time for 10 randomly generated sets S: |S|= 10, 20, 30 and 40
c. Discuss the algorithm complexity in light of your results in b
5. Write a conclusion with recommendations on when each method is most suitable
a. Reflect on what you have learnt? (3 marks)
b. What could you have done differently? (2 marks)
6. Present your work clearly, using graphs and referencing wherever appropriate (5 marks)
– Please only include pictures for plots of the performance of your! Algorithms
– Please do not include your programming language code
– Please do not include your pseudo-code or discussions as an image
– Please do not copy other’s work as it results in failing the coursework
– Answers that violate these instructions get 0 marks
1 | P a g e . D r . A b d u l r a h m a n A l t a h h a n 3 8 0 C T C o u r s e W o r k 2
} where Sub1 ⊆ S and Sub2 ⊆ S can be expressed as:
{
From the definition of a partition
Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.
About Wridemy
We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.
How It Works
To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Are there Discounts?
All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.
