Write a haskell program to calculates a balanced partition

Assignment Help Programming Languages
Reference no: EM13167

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition, S1, and the sum of the values of the second partition, S2, is minimized. Each partition does not have to have the same number of elements.

One classical way to do this is by using dynamic programming. For dynamic programming to be efficient you should avoid recalculating intermediate results. This can be tricky in a functional language as it does not store state information. The solution is data memorization. Intermediate results are stored is a data structure when they are initially calculated and then simply retrieved when needed.

Here is an example of data memorization in calculating a Fibonacci number.

import Data.Array

fibonacci :: Integer -> Integer
fibonacci n = memo!n
where
  memo = array (0, n) [ (i, fib i) | i <- [0..n] ]
  fib 0 = 0
  fib 1 = 1
  fib i = memo!(i-1) + memo!(i-2)

This example uses the Array module. Since Haskell is a lazy programming language it only calculates a function when it is needed.

Implement a solution to the balanced partition in Haskell.

Reference no: EM13167

Questions Cloud

Managing services in competitive environment : Services can be defined as separately identifiable, intangible activities which provide want-satisfaction when marketed to household consumers and/or industrial users.
Labour dissonance at maruti suzuki india limited: a case stu : This Case Study focuses on various issues related to Labour Unrest at Maruti Suzuki India Limited.
Impact of employee attrition on people management in organis : Talent management implies recognizing a person's inherent skills, traits, personality and offering him a matching job.
Integrating culture and diversity in decision making : People in the organization are known as Google where they share common goals and have common vision.
Write a haskell program to calculates a balanced partition : Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,
Race and racism : This paper is a brief description of the study, discrimination pertains to the prejudice perception and treatment of a person or demographical issues belonging to a category.
What is the electric field at the location : Question: Field and force with three charges? What is the electric field at the location of Q1, due to  Q 2 ?

Reviews

Write a Review

Programming Languages Questions & Answers

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd