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 others 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
Looking for solution of this Assignment?
WHY CHOOSE US?
We deliver quality original papers |
Our experts write quality original papers using academic databases.We dont use AI in our work. We refund your money if AI is detected |
Free revisions |
We offer our clients multiple free revisions just to ensure you get what you want. |
Discounted prices |
All our prices are discounted which makes it affordable to you. Use code FIRST15 to get your discount |
100% originality |
We deliver papers that are written from scratch to deliver 100% originality. Our papers are free from plagiarism and NO similarity.We have ZERO TOLERANCE TO USE OF AI |
On-time delivery |
We will deliver your paper on time even on short notice or short deadline, overnight essay or even an urgent essay |