All problems
Mixed Precision Layer Assignment
Problem
Assign layers to higher precision under a byte budget. Upgrading layer i costs extra = layer_bytes[i] * (high_multiplier - 1) and yields sensitivity[i]; greedily pick upgrades by sensitivity per extra byte (ties by lower index) while the budget allows. Return the chosen indices in ascending order.
The signature is mixed_precision_assignment(layer_bytes, sensitivities, budget_bytes, high_multiplier=2.0).
Hint
This is a greedy knapsack: prioritize sensitivity gained per extra byte spent.
Test cases
case 1
in: [[10,20,30],[5,4,3],25]
expected: [0]
case 2
in: [[10,20,30],[5,4,3],35]
expected: [0,1]
case 3
in: [[10,20,30],[5,4,3],0]
expected: []
case 4
in: [[10,20,30],[5,4,3],1000]
expected: [0,1,2]
case 5
in: [[10,10],[5,5],10]
expected: [0]
Starter codePython
def mixed_precision_assignment(layer_bytes, sensitivities, budget_bytes, high_multiplier=2.0):
# Your code here
pass5 test cases · run your code against them in the editor