Galera, eu estou quebrando a cabeça num problema... vamos ver se alguém consegue me dar uma luz
O problema é o seguinte: Eu tenho uma lista de valores entre zero e um, que já estão ordenados (fiz um heapsort).
Esses termos são combinados de M em M e os valores multiplicados dão o "valor" da combinação...
A questão é: Como determinar as N combinações de maior valor sem ter de calcular todas as combinações??
Não sei se fui claro, então vou fazer um pequeno exemplo:
A=0.2
B=0.3
C=0.5
Seja M=2, as combinações são:
AA=0.2*0.2=0.04
AB=0.2*0.3=0.06
AC=0.2*0.5=0.1
BA=0.3*0.2=0.06
BB=0.3*0.3=0.09
BC=0.3*0.5=0.15
CA=0.5*0.2=0.1
CB=0.5*0.3=0.15
CC=0.5*0.5=0.25
Se eu quisesse as N=3 maiores combinações, seriam CC,CB,BC.
Espero que tenha dado pra entender...
PS: Sim, estou trabalhando com probabilidades, então a soma sempre da 1.
Felipe Fonte...
Veterano
Registrado
1.4K Mensagens
15 Curtidas