Nubert is a high-level manager in a software firm and is managing n software projects. He is asked to assign m of the programmers in the firm among these n projects. Assume that all of the programmers are equally (in)competent. After some careful thought, Nubert has figured out how much benefit i programmers will bring to project j. View this benefit as a number. Formally put, for each project j, he has computed an array Aj [0..m] where Aj [i] is the benefit obtained by assigning i programmers to project j. Assume that Aj [i] is nondecreasing with increasing i. Further make the economically-seeminglysound assumption that the marginal benefit obtained by assigning an ith programmer to a project is nonincreasing as i increases. Thus, for all j and i ≥ 1, Aj [i + 1] − Aj [i] ≤ Aj [i] − Aj [i − 1]. Help Nubert design a greedy algorithm to determine how many programmers to assign to each project such that the total benefit obtained over all projects is maximized. Justify the correctness of the algorithm and analyze its running time.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Nubert is a high-level manager in a software firm and is managing n software projects. He is
asked to assign m of the programmers in the firm among these n projects. Assume that all of the
programmers are equally (in)competent.
After some careful thought, Nubert has figured out how much benefit i programmers will bring
to project j. View this benefit as a number. Formally put, for each project j, he has computed
an array Aj [0..m] where Aj [i] is the benefit obtained by assigning i programmers to project j.
Assume that Aj [i] is nondecreasing with increasing i. Further make the economically-seeminglysound assumption that the marginal benefit obtained by assigning an ith programmer to a project
is nonincreasing as i increases. Thus, for all j and i ≥ 1, Aj [i + 1] − Aj [i] ≤ Aj [i] − Aj [i − 1].
Help Nubert design a greedy algorithm to determine how many programmers to assign to each
project such that the total benefit obtained over all projects is maximized. Justify the correctness
of the algorithm and analyze its running time.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Maximum Flow
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education