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

Basic features

- Free title page and bibliography
- Unlimited revisions
- Plagiarism-free guarantee
- Money-back guarantee
- 24/7 support

On-demand options

- Writer’s samples
- Part-by-part delivery
- Overnight delivery
- Copies of used sources
- Expert Proofreading

Paper format

- 275 words per page
- 12 pt Arial/Times New Roman
- Double line spacing
- Any citation style (APA, MLA, Chicago/Turabian, Harvard)

We value our customers and so we ensure that what we do is 100% original..

With us you are guaranteed of quality work done by our qualified experts.Your information and everything that you do with us is kept completely confidential.

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read moreThe Product ordered is guaranteed to be original. Orders are checked by the most advanced anti-plagiarism software in the market to assure that the Product is 100% original. The Company has a zero tolerance policy for plagiarism.

Read moreThe Free Revision policy is a courtesy service that the Company provides to help ensure Customer’s total satisfaction with the completed Order. To receive free revision the Company requires that the Customer provide the request within fourteen (14) days from the first completion date and within a period of thirty (30) days for dissertations.

Read moreThe Company is committed to protect the privacy of the Customer and it will never resell or share any of Customer’s personal information, including credit card data, with any third party. All the online transactions are processed through the secure and reliable online payment systems.

Read moreBy placing an order with us, you agree to the service we provide. We will endear to do all that it takes to deliver a comprehensive paper as per your requirements. We also count on your cooperation to ensure that we deliver on this mandate.

Read more
The price is based on these factors:

Academic level

Number of pages

Urgency