Coin changing
Let A_n={a_1,...,a_n} be a finite set of distinct coin types. We can assume
that each a_i is a positive integer and a_1,...,a_n are in descending order of their
value. Each type of coin is available in unlimited quantity. The coin-changing problem is to make up an exact amount C using a minimum total number of coins.
C is a positive integer.
a. Show that if a_n is not equal to 1, then there exists a finite set of coin
types and a C for which there is no solution to the coin-changing problem.
b. Show that there is always a solution when a_n=1.
c. When a_n=1, a greedy solution is to make change by using the coin types in
the order a_1,...,a_n. When coin type a_i is being considered, as many coins
of this type as possible are given. Write an algorithm based on this strategy.
Show that this algorithm does not necessarily generate optimal solutions.
d. Show that if A_n={k^{n-1},...,k^0} for some positive integer k, then the
above greedy method always yeilds an optimal solution.
Optimal Assignment
Assume that there are n workers and n jobs. Let v_{ij} be the value of assigning
worker i to job j. An assignment of workers to jobs corresponds to the assignment of 0 or 1 to the variables x_{ij}, where i and j are integers between 1 and n.
A valid assignment is one in which each worker is assigned to exactly one job
and exactly one worker is assigned to each job. The value of the assignment is
sum over v_{ij}x_{ij}. We want to find an assignment of maximum value.
Consider two greedy strategies. One assigns to each worker the best possible
job and another assigns to each job the best possible worker. Show that neither
of these schemes gives an optimal solution. Is either scheme better than the
other?
Suggest an algorithm to get an optimal solution.
- Let S be a set of n points in the plane. It is given that there is only a
constant say c number of points on the convex hull of S. Can you design an
algorithm to find the convex hull of S that runs in time o(nlog n)? Conceive of
special algorithms for c=3 and c=4 first and then generalize.