Skip to content

Instantly share code, notes, and snippets.

@munro
Created November 23, 2011 05:53
Show Gist options
  • Save munro/1387979 to your computer and use it in GitHub Desktop.
Save munro/1387979 to your computer and use it in GitHub Desktop.
Regression
var sample_set = (function () {
'use strict';
var sample_set = [];
function generateSample(not_recursive) {
var overhead_usage = Math.random() * 2 + 5,
game_usage = Math.random() * 2 + 3,
idle_usage = Math.random(),
games = Math.floor(Math.random() * 30) + 10,
idle_clients = Math.floor(Math.random() * 50) + 10,
cpu_usage = overhead_usage + game_usage * games + idle_usage * idle_clients,
sample;
if (not_recursive) {
return {
cpu_usage: cpu_usage,
games: games,
idle_clients: idle_clients,
_overhead_usage: overhead_usage,
_game_usage: game_usage,
_idle_usage: idle_usage
};
}
while (true) {
sample = generateSample(true);
if (sample.cpu_usage <= 100) {
return sample;
}
}
}
for (var i = 0; i < 20; i += 1) {
sample_set.push(generateSample());
}
return sample_set;
}());
(function actualSolution(sample_set) {
'use strict';
var solution = sample_set.reduce(function (prev, curr) {
prev.overhead_usage += curr._overhead_usage / sample_set.length;
prev.game_usage += curr._game_usage / sample_set.length;
prev.idle_usage += curr._idle_usage / sample_set.length;
return prev;
}, {
overhead_usage: 0,
game_usage: 0,
idle_usage: 0
});
console.log('answer', solution);
}(sample_set));
(function solveDataSet(sample_set) {
'use strict';
// cpu_usage = overhead_usage + games * game_usage + idle_clients * idle_usage
//
// Solve for `overhead_usage`, `game_usage`, and `idle_usage` where:
// overhead_usage > 0
// game_usage > 0
// idle_usage > 0
var solution = 'foobar';
console.log('regression', solution);
}(sample_set));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment