diff --git a/backend/src/services/analysis_runs.js b/backend/src/services/analysis_runs.js index 652bb49..860038d 100644 --- a/backend/src/services/analysis_runs.js +++ b/backend/src/services/analysis_runs.js @@ -213,23 +213,16 @@ module.exports = class Analysis_runsService { let isCancelled = false; let cancellationReason = ''; - // Rule 1: Saturated Numbers (appearing too much in recent window) + // Rule 1: Saturated Numbers if (freq > (draws.length / 2)) { - prob *= 0.1; // Drastic reduction + prob *= 0.1; isCancelled = true; cancellationReason = 'Saturação Quântica: Número apareceu em mais de 50% dos últimos concursos.'; } - // Rule 2: Contest Repetition Funnel (often 1 or 2 repeat, but never all) - if (lastDrawNumbers.has(i) && seedRandom(targetContest + i) < 0.7) { - prob *= 0.5; - // Not necessarily cancelled, just lowered - } - - // Rule 3: Entropy Void (Randomly annul parts of space according to target contest) - // This simulates the "anular 95% do espaço amostral" + // Rule 3: Entropy Void if (seedRandom(targetContest * i + 999) < funnel_intensity) { - prob *= 0.05; // Drop to near zero + prob *= 0.05; isCancelled = true; cancellationReason = 'Funil de Entropia: Fora da zona de convergência harmônica para o concurso alvo.'; } @@ -277,19 +270,21 @@ module.exports = class Analysis_runsService { // 3. GENERATOR - Create Suggested Combinations (Sequential / Elite) const topNumbers = scores - .filter(s => s.probability_estimate > 0.1) // Don't pick annulled ones + .filter(s => s.probability_estimate > 0.1) .slice(0, Math.min(game.default_numbers_per_bet * 4, allPossibleNumbers.length)) .map(s => s.number_value); - const numCombosToGenerate = 10; + const numCombosToGenerate = 60; // Upgraded to 60 as requested for (let c = 0; c < numCombosToGenerate; c++) { - const selectedNumbers = []; - const pool = [...topNumbers]; - const actualPool = pool.length >= game.default_numbers_per_bet ? pool : allPossibleNumbers; - - for (let j = 0; j < game.default_numbers_per_bet; j++) { - const poolIdx = Math.floor(seedRandom(targetContest + c + j + 777) * actualPool.length); - selectedNumbers.push(actualPool.splice(poolIdx, 1)[0]); + // Start each sequence with a different number based on the index (First number rotating) + const startNumber = topNumbers[c % topNumbers.length]; + const selectedNumbers = [startNumber]; + + const pool = topNumbers.filter(n => n !== startNumber); + + for (let j = 0; j < game.default_numbers_per_bet - 1; j++) { + const poolIdx = Math.floor(seedRandom(targetContest + c + j + 777) * pool.length); + selectedNumbers.push(pool.splice(poolIdx, 1)[0]); } selectedNumbers.sort((a, b) => a - b); @@ -313,7 +308,7 @@ module.exports = class Analysis_runsService { suggested_combinationId: suggestedCombo.id, position_index: idx + 1, number_value: val, - color_tag: 'green', + color_tag: scores.find(s => s.number_value === val)?.classification === 'elite_green' ? 'green' : 'gray', createdById: currentUser.id, updatedById: currentUser.id })); @@ -329,4 +324,4 @@ module.exports = class Analysis_runsService { throw error; } } -}; +}; \ No newline at end of file diff --git a/frontend/src/pages/admin/quantum-dashboard.tsx b/frontend/src/pages/admin/quantum-dashboard.tsx index 6289655..763e22a 100644 --- a/frontend/src/pages/admin/quantum-dashboard.tsx +++ b/frontend/src/pages/admin/quantum-dashboard.tsx @@ -56,7 +56,7 @@ const QuantumDashboard = () => { setSuccessMsg(`IA WORLD LIVE: Funil de Entropia aplicado em ${Math.floor(funnel * 100)}% da Matriz 9999.`); // Fetch combinations - dispatch(fetchCombos({ query: `?analysis_runId=${result.analysisRun.id}&limit=10` })); + dispatch(fetchCombos({ query: `?analysis_runId=${result.analysisRun.id}&limit=60` })); // Fetch cancellations dispatch(fetchCancellations({ query: `?analysis_runId=${result.analysisRun.id}&limit=1` })); @@ -107,61 +107,6 @@ const QuantumDashboard = () => { )} -
- Sistema autônomo conectado via Rede Neural de 8.42 THz aos terminais da Caixa. - Calculando anomalias estatísticas com Funil Automático de Precisão. -
-- Identificando padrões de entropia em concursos anteriores para anular até 99% do espaço amostral - sem probabilidade de sorteio para o concurso alvo. -
-
Calculador de Probabilidades IA World Elite
-{game.provider} • {game.game_type}
Redução do espaço amostral baseada em entropia.