PV
Size: a a a
PV
t
PV
let good = 0;
let bad = 0;
const numbers = { '12': 8, '10': 5, '11': 8 };
function traverse(numbers, value = 1, lastNumber = '') {
const totalCount = Object.values(numbers).reduce((a,b) => a + b);
if (!totalCount) {
return good += value;
}
const prob = value * 1 / totalCount;
Object.keys(numbers).forEach((number) => {
const numberCount = numbers[number]
if (!numberCount) {
return;
}
if (lastNumber === number) {
bad += prob * numberCount;
} else {
const newNumbers = Object.assign({}, numbers);
newNumbers[number]--;
traverse(newNumbers, prob * numberCount, number);
}
});
}
traverse(numbers);
console.log(good, bad);
PV
let good = 0;
let bad = 0;
const numbers = { '12': 8, '10': 5, '11': 8 };
function traverse(numbers, value = 1, lastNumber = '') {
const totalCount = Object.values(numbers).reduce((a,b) => a + b);
if (!totalCount) {
return good += value;
}
const prob = value * 1 / totalCount;
Object.keys(numbers).forEach((number) => {
const numberCount = numbers[number]
if (!numberCount) {
return;
}
if (lastNumber === number) {
bad += prob * numberCount;
} else {
const newNumbers = Object.assign({}, numbers);
newNumbers[number]--;
traverse(newNumbers, prob * numberCount, number);
}
});
}
traverse(numbers);
console.log(good, bad);
t
let good = 0;
let bad = 0;
const numbers = { '12': 8, '10': 5, '11': 8 };
function traverse(numbers, value = 1, lastNumber = '') {
const totalCount = Object.values(numbers).reduce((a,b) => a + b);
if (!totalCount) {
return good += value;
}
const prob = value * 1 / totalCount;
Object.keys(numbers).forEach((number) => {
const numberCount = numbers[number]
if (!numberCount) {
return;
}
if (lastNumber === number) {
bad += prob * numberCount;
} else {
const newNumbers = Object.assign({}, numbers);
newNumbers[number]--;
traverse(newNumbers, prob * numberCount, number);
}
});
}
traverse(numbers);
console.log(good, bad);
PV
t
t
PV
НС
НС
НС
(2/3)**20
, а снизу как (1/2)**30
НС
PV
НС
НС