1. (50 points) Software Team Management. You are a team leader at a large software company whose goal is to provide tool
Posted: Mon Jun 06, 2022 2:31 pm
1. (50 points) Software Team
Management. You are a team leader at a large software
company whose goal is to provide tools to your team of developers.
There are two types of tools: a debugging tool and a testing tool.
Due to budget constraints, each developer on your team can only
have exactly one kind of tool. Developers are divided into groups
of 2 or more, and a developer can be a part of more than one group
at a time. Each group is given a specific tool requirement that at
least one developer must satisfy. Your goal is to solve
the TOOL problem, where you need to
determine whether there is a way to assign tools
to n developers
across m groups such that every
group’s tool constraint is realized.
For example, suppose we have 4 developers: Alice, Bob, and Carl,
and Dennis, and the group assignments are as follows:
Group 1 (Alice and Bob): Alice must have a tester tool or Bob
must have a debugger
Group 2 (Bob and Carl): Either Bob or Carl must have a tester
tool
Group 3 (Alice, Bob, and Dennis): Either one of Alice, Bob, or
Dennis must have a debugger tool.
Given those groups, one possible solution for the distribution
of tools is as follows: Alice gets a tester tool, Bob gets a tester
tool, Carl gets a debugger tool, and Dennis gets a debugger tool.
This will satisfy all group requirements. However, there may be
instances where there does not exist a tool assignment to satisfy
all group requirements.
Prove
that TOOL is NP-complete
by answering the following (note that you need to do so with
respect to ANY arbitrary instance
with n developers
and m groups):
1
Management. You are a team leader at a large software
company whose goal is to provide tools to your team of developers.
There are two types of tools: a debugging tool and a testing tool.
Due to budget constraints, each developer on your team can only
have exactly one kind of tool. Developers are divided into groups
of 2 or more, and a developer can be a part of more than one group
at a time. Each group is given a specific tool requirement that at
least one developer must satisfy. Your goal is to solve
the TOOL problem, where you need to
determine whether there is a way to assign tools
to n developers
across m groups such that every
group’s tool constraint is realized.
For example, suppose we have 4 developers: Alice, Bob, and Carl,
and Dennis, and the group assignments are as follows:
Group 1 (Alice and Bob): Alice must have a tester tool or Bob
must have a debugger
Group 2 (Bob and Carl): Either Bob or Carl must have a tester
tool
Group 3 (Alice, Bob, and Dennis): Either one of Alice, Bob, or
Dennis must have a debugger tool.
Given those groups, one possible solution for the distribution
of tools is as follows: Alice gets a tester tool, Bob gets a tester
tool, Carl gets a debugger tool, and Dennis gets a debugger tool.
This will satisfy all group requirements. However, there may be
instances where there does not exist a tool assignment to satisfy
all group requirements.
Prove
that TOOL is NP-complete
by answering the following (note that you need to do so with
respect to ANY arbitrary instance
with n developers
and m groups):
1