function [best] = guess(data, BUDGET)

[a, b] = size(data);
c = a + (2 * (b - 1));
d = BUDGET * ceil(sqrt(1 + c) - (1 / 2));

for i = 1 : d
good(i, :) = randint(1,c);
goodness(i, 1) = fwpsabe(data, data, good(i,1:a), good(i,a+1:end));
end

[junk, pos] = min(goodness(:,1));

best = good(pos, :);