Jump to content

BigMax

Super VIP
  • Posts

    2,314
  • Joined

  • Last visited

  • Days Won

    55

Everything posted by BigMax

  1. Para satisfazer a curiosidade, caso pontuem mais linhas com 13pt então temos a seguinte performance: Evidente que vc pode usar 22 números quaisquer desde que faça as devidas substituições na matriz e arquivos. Então para ter 15pt nas mãos, com uma quantidade de linhas bem menor, basta acertar a previsão de quantas linhas pontuarão 13pt na matriz citada acima . Colocarei esses arquivos na seção download caso alguém se interesse, observando que está padronizado 01 ao 22. Boa Sorte!
  2. Um novo enfoque, sobre um mesma temática. Usando a matriz @Tuareg com 22 números sempre lucro SE 15. E partindo do pressuposto que temos 15 sorteadas entre as 22 ( padrão 01 a 22 ) Vamos usar apenas uma condicional e acertando temos 15pt facim facim. Só para ironizar: O difícil é acertar a condicionais. Como funciona essa redução por matriz? Temos que estabelecer quantas linhas pontuarão 13pt na referida matriz e em um sorteio fictício "futuro" houve por bem serem sorteadas os seguintes números: 03 05 06 08 09 10 11 12 13 14 17 19 20 21 22 e conferindo na matriz de 349 linhas veremos que apenas 1 linha pontuou 13pt. Ótimo, estava esperando que haveria apenas 1 linha pontuando 13pt . E toda vez que houver a pontuação de apenas 1 linha com 13pt temos 15pt no arquivo do spoiler.
  3. Observação: o arquivo inicial da rede neural são os resultados da Megasena. Arquivo extensão .txt. com o nome dados.
  4. E outros... Pessoal, sou meio "burrão", fiz só até a 5ª série e não tenho competência para isso ( Embrulha pra viagem - youtube). Quem fez foi Chatgpt e eu estou publicando aqui. Deu um trabalhão danado para um leigo em programação "ensinar" a IA o que eu queria. Evidente que essa rede neural é simples, é apenas um aprendizado "na marra" ( ao invés de ler livros e fazer curso, vamos por ensaio e erro ). O que ela faz? Seleciona alguns concursos passados que entende com potencial maior de ter números a serem sorteados e emite um listagem denominado predicão nesse formato: 15: 20, 32, 34, 49, 58, 60 51: 15, 30, 38, 46, 58, 59 107: 21, 24, 29, 34, 59, 60 147: 32, 35, 41, 55, 58, 59 e outra listagem com os 25 números mais frequentes na "predicao" nesse formato: 59 => 37 x 60 => 35 x 58 => 33 x 57 => 11 x 20 => 7 x 47 => 7 x 16 => 7 x 50 => 7 x 22 => 6 x 42 => 6 x Se realmente tem aplicação prática, só testando e amanhã veremos. Se tem erros, eu não sei. Por favor, quem puder apontar erros colocar novas camadas etc... o espaço é público. E vamos que vamos... eu ainda chego lá. ( no sentido de fazer a 6ª série KKKKK) //////////////////////////////////// import numpy as np from collections import Counter class NeuralNetwork: def __init__(self, input_size, hidden_size, output_size, learning_rate=0.01, epochs=2861): self.input_size = input_size self.hidden_size = hidden_size self.output_size = output_size self.learning_rate = learning_rate self.epochs = epochs # Inicialização dos pesos e vieses self.weights_input_hidden = np.random.randn(self.input_size, self.hidden_size) self.bias_hidden = np.zeros((1, self.hidden_size)) self.weights_hidden_output = np.random.randn(self.hidden_size, self.output_size) self.bias_output = np.zeros((1, self.output_size)) def sigmoid(self, x): # Evitar overflow usando a função clip x = np.clip(x, -500, 500) return 1 / (1 + np.exp(-x)) def sigmoid_derivative(self, x): return x * (1 - x) def forward(self, X): # Propagação direta self.hidden_activation = self.sigmoid(np.dot(X, self.weights_input_hidden) + self.bias_hidden) self.output = self.sigmoid(np.dot(self.hidden_activation, self.weights_hidden_output) + self.bias_output) return self.output def backward(self, X, y): # Retropropagação output_error = y - self.output output_delta = output_error * self.sigmoid_derivative(self.output) hidden_error = output_delta.dot(self.weights_hidden_output.T) hidden_delta = hidden_error * self.sigmoid_derivative(self.hidden_activation) # Atualização dos pesos e vieses (faltava no código original) self.weights_hidden_output += self.hidden_activation.T.dot(output_delta) * self.learning_rate self.bias_output += np.sum(output_delta, axis=0, keepdims=True) * self.learning_rate self.weights_input_hidden += X.T.dot(hidden_delta) * self.learning_rate self.bias_hidden += np.sum(hidden_delta, axis=0, keepdims=True) * self.learning_rate def train(self, X, y): for epoch in range(self.epochs): # Propagação e retropropagação self.forward(X) self.backward(X, y) # Função para carregar dados de um arquivo TXT e normalizar def load_data(file_path): data = np.loadtxt(file_path, dtype=np.float32) # Normalização para valores entre 0 e 1 normalized_data = (data - np.min(data, axis=0)) / (np.max(data, axis=0) - np.min(data, axis=0)) # Última coluna é considerada como saída, o restante como entrada X = normalized_data[:, :-1] y = normalized_data[:, -1].reshape(-1, 1) return X, y # Exemplo de uso # Leia os dados do arquivo txt # Leia os dados do arquivo txt file_path = "dados.txt" X, y = load_data(file_path) # Crie uma instância da rede neural input_size = X.shape[1] hidden_size = 4 output_size = 1 learning_rate = 0.01 # Reduzi a taxa de aprendizado epochs = 2681 nn = NeuralNetwork(input_size, hidden_size, output_size, learning_rate, epochs) # Treine a rede nn.train(X, y) # Fazendo previsões predictions = nn.forward(X) print("Predictions:") print(predictions) # Arredondando as previsões para os números inteiros mais próximos rounded_predictions = np.round(predictions, decimals=1).astype(int) print("Rounded Predictions:") print(list(enumerate(rounded_predictions))) print('*'*30) lista_oficial = [] # Carregando os dados originais sem normalização data_original = np.loadtxt(file_path, dtype=np.float32) for lin, pred in zip(enumerate(predictions), rounded_predictions): print(lin) if pred > 0.95: linha_com_seis_numeros = data_original[lin[0]].astype(int) lista_oficial.append((lin[0], linha_com_seis_numeros)) with open('predicao.txt', 'a') as final: final.write(f"{lin[0]}: {', '.join(map(str, linha_com_seis_numeros))}\n") print(len(lista_oficial)) print('$'*50) for k in lista_oficial: print(k) # Contagem de frequência e geração de relatório numeros_predicoes = [] # Leia as linhas relacionadas às predições for lin, pred in zip(enumerate(predictions), rounded_predictions): if pred > 0.95: linha_com_seis_numeros = data_original[lin[0]].astype(int) numeros_predicoes.extend(linha_com_seis_numeros) # Crie um dicionário para armazenar a contagem de cada número contagem = Counter(numeros_predicoes) # Obtenha os 25 números com maior frequência top_25_numbers = contagem.most_common(25) # Abra um arquivo de relatório para escrita with open("relatorio.txt", "w") as relatorio: # Escreva o relatório de saída no arquivo for numero, quantidade in top_25_numbers: relatorio.write(f"{numero} => {quantidade} x\n") print("Relatório gerado com sucesso no arquivo 'relatorio.txt'.")
  5. Talvez vc não tenha atentado, estou usando o Valor Esperado (V.E (09 17 26 35 44 52)) para -2 + 2. A conferência deve dar um valor diferente do levantado em relação ao concurso anterior, SE é isso o que fez. Eu fiz uma planilha dessa Algoritmo Plus 3 - Minus 3 só não me lembro onde foi postada ou talvez nem tenha sido é apenas fruto da minha imaginação.
  6. É preciso treino para evitar que o presente embace a vista e impeça que o olhar se alongue, para poder divisar tendências. Quando se olha para trás, se pode verificar, depois que tudo se passou, dos fatos que se repetem, do que é conhecido, do já visto. Podemos ver o passado e compreendê-lo, mas não podemos alterá-lo. O futuro não é visível, mas podemos participar da sua construção. Sempre pode haver eventos incontroláveis, mas temos grande capacidade de dar previsibilidade, por isso é importante esse longo olhar.
  7. Tudo na vida depende de uma pitada de sorte. Ontem no jogo do Palmeiras quem assistiu viu que o 1º e 2º gols foram acontecimentos anormais. Jogador colocar a mão na bola daquela forma no 1º ou ninguém tocar na bola em um chute distante ne área coalhada de jogadores. Será sorte ou quis o destino? Em loteria é semelhante, temos que dar oportunidades para que a sorte ou destino aconteça. Mas como? Nesse tópico temos uma matriz que obedece a alguns padrões já explanado anteriormente. Também foi dito que se combinasse 4 a 4 os grupos da matriz formaria linhas de 20 números com uma determinada pontuação. Abaixo uma imagem com as pontuações possíveis em apenas 5 linhas de 20 números. Difícil ter linhas de 20 números com 15pt? Nem tanto, basta ter paciência de pescador e de repente fisgar um peixe. É um jogo de espera... esperar um padrão vir . E ele virá? Vai depender de sua paciência e estudo. Temos 16 padrões: 4 deles tem 15pt direto em 5 linhas de 20 números. 8 deles tem 15pt em linhas de 21 números. 4 deles, deixem de fora, é muito esforço. Em quase 3 anos o tópico ficou parado e essa "isquinha" é para ver se desperta a curiosidade. Conseguiu ver uma cor diferente?, SE não, é porque não está usando o prisma na posição correta. Daqui 3 anos, continuo o tópico.
  8. Olhando sob um novo prisma, estou vendo possibilidades nesse estudo. Vislumbro a cor rosa, a mesma que os cientistas dizem não existir, mas vemos. Como hoje tem Palmeiras, verei com mais atenção amanhã assim que raiar o sol e o prisma me mostrará as cores. Boa Sorte!
  9. Por curiosidade e passatempo fiz o proposto. 1- "Elevar" as 6 linhas de 17 para linhas de 21, gerando 15 em cada um dos 3 blocos. Fiz direto C17,11 X C8,4 gerando direto linhas de 15 com 15pt SE nas linhas de 17 tiverem 11pt. Para cada grupo, o mesmo processo. 2- Desdobrar "volta" para 15 as linhas de 21 geradas. Vamos ter muitas linhas, claro... Desnecessário visto a forma que foi feito o item 1 3- Caçar apenas as linhas de 15 que estejam exatamente iguais nos 3 arquivos. Nessas linhas com 3 iguais entre os arquivos teremos o prêmio de 15 e vários prêmios de 14. Comparado os 3 arquivos e "caçado" as potenciais de 15pt. O arquivo é imenso vide o tamanho e a conferência no concurso 3000. 205724 acerto(s) de 11 ponto(s) 40582 acerto(s) de 12 ponto(s) 3742 acerto(s) de 13 ponto(s) 123 acerto(s) de 14 ponto(s) 1 acerto(s) de 15 ponto(s) --- Totais: Valor do provável prêmio: R$ 0,00 Quantidade de bilhetes do fechamento: 2222783 Quantidade de combinações para conferência: 1 Total de jogos conferidos: 2222783 ///////////////////////////// A vantagem é que é um processo matemático. Não tem erro. Vamos encontrar o de 15 na confluência dos 3 arquivos quando as linhas forem exatamente iguais entre os 3 arquivos. ................... O ideal é partir inicialmente de linhas de 15 números com expectativa de 11pt para os arquivos serem menores. Tenho um tópico "redução por matriz" que foca a mesma temática conforme seus ensinamentos metre @DixieJoe . A estrada é longa, a saúde não permite grandes caminhadas, então vamos de barco e tocando o barco sabendo o destino.
  10. Simples: Na inicial, foi como fez. Depois ordena as linhas e faz a contagem considerando a quantidade de vezes em que uma linha está presente no arquivo. SE 1x SE 2x SE 3x Óbvio que faz a contagem e elimina as iguais.
  11. link para as linhas dos arquivos referidos: Em um sorteio em que houver 1X 14pt podemos fazer 15pt com 35334 linhas Em um sorteio em que houver 2X 14pt podemos fazer 15pt com 651 linhas Em um sorteio em que houver 3X 14pt podemos fazer 15pt com 3 linhas https://www.dropbox.com/scl/fi/dkt6oqol9amwhi01ks865/Megasena-JMF.rar?rlkey=zt5rvr8rbt9ohg5vq0lhb3p8s&dl=0
  12. Observo que foi dentro das 22 dezenas tendo por base as suas 349 linhas. E ficando restrito as 22. Foi isso que fiz, considerando 15 em 22.
  13. Simulando: 03 05 06 07 08 09 12 14 15 16 18 19 20 21 22 14 acerto(s) de 8 ponto(s) 68 acerto(s) de 9 ponto(s) 135 acerto(s) de 10 ponto(s) 95 acerto(s) de 11 ponto(s) 32 acerto(s) de 12 ponto(s) 4 acerto(s) de 13 ponto(s) 1 acerto(s) de 14 ponto(s) 0 acerto(s) de 15 ponto(s) --- Totais: Valor do provável prêmio: R$ 0,00 Quantidade de bilhetes do fechamento: 349 Quantidade de combinações para conferência: 1 Total de jogos conferidos: 349 .......................................................... 1378 acerto(s) de 8 ponto(s) 7222 acerto(s) de 9 ponto(s) 13192 acerto(s) de 10 ponto(s) 9851 acerto(s) de 11 ponto(s) 3180 acerto(s) de 12 ponto(s) 478 acerto(s) de 13 ponto(s) 32 acerto(s) de 14 ponto(s) 1 acerto(s) de 15 ponto(s) --- Totais: Valor do provável prêmio: R$ 0,00 Quantidade de bilhetes do fechamento: 35334 Quantidade de combinações para conferência: 1 Total de jogos conferidos: 35334 ////////////////////////////////////////////////////////////////////////////////////// Simulando: 01 02 03 06 09 11 12 13 14 15 17 18 20 21 22 18 acerto(s) de 8 ponto(s) 61 acerto(s) de 9 ponto(s) 131 acerto(s) de 10 ponto(s) 106 acerto(s) de 11 ponto(s) 28 acerto(s) de 12 ponto(s) 4 acerto(s) de 13 ponto(s) 1 acerto(s) de 14 ponto(s) 0 acerto(s) de 15 ponto(s) --- Totais: Valor do provável prêmio: R$ 0,00 Quantidade de bilhetes do fechamento: 349 Quantidade de combinações para conferência: 1 Total de jogos conferidos: 349 .................................................................................... 1499 acerto(s) de 8 ponto(s) 6952 acerto(s) de 9 ponto(s) 13070 acerto(s) de 10 ponto(s) 10130 acerto(s) de 11 ponto(s) 3178 acerto(s) de 12 ponto(s) 468 acerto(s) de 13 ponto(s) 36 acerto(s) de 14 ponto(s) 1 acerto(s) de 15 ponto(s) --- Totais: Valor do provável prêmio: R$ 0,00 Quantidade de bilhetes do fechamento: 35334 Quantidade de combinações para conferência: 1 Total de jogos conferidos: 35334
  14. Só curiosidade... Constatei que é expressivo a presença de 14pt na matriz de 349 linhas do @Tuareg e SE: Em um sorteio em que houver 1X 14pt podemos fazer 15pt com 35334 linhas Em um sorteio em que houver 2X 14pt podemos fazer 15pt com 651 linhas Em um sorteio em que houver 3X 14pt podemos fazer 15pt com 3 linhas Mas não são todos os concursos que vai ter 14pt nas 349 linhas.
  15. Julio, presta atenção. As linhas que postei dependem da pontuação das 12 linhas de 45 ( Substantivo ). Se 2 linhas pontuou 6pt nas de 45 então na faixa que fiz 2 a 2 tem os 6pt com menos números Se 3 linhas pontuou 6pt nas de 45 então na faixa que fiz 2 a 2 tem os 6pt com menos números e também na faixa 3 a 3. Se 4 linhas pontuou 6pt nas de 45 então na faixa que fiz 2 a 2 tem os 6pt com menos números e também na faixa 3 a 3 e também na faixa de 4 a 4 Quando apenas uma das linhas de 45 números pontuar 6pt então em nenhuma das faixas que fiz vai ter 6pt. Cuidado para não perder dinheiro enganado. Qualquer dúvida, pergunte não me escuso de responder. abs e boa sorte
  16. Trabalho do ChatGPT e postagem minha. O script abaixo, gera números aleatórios direcionado a Megasena ( originalmente - pode ser alterado para outras loterias ), obedecendo faixas de parâmetros: # Defina as faixas de parâmetros faixa1 = [4, 14] faixa2 = [15, 22] faixa3 = [23, 31] faixa4 = [32, 40] faixa5 = [41, 49] faixa6 = [50, 58] Acho que é melhor assim que as surpresinhas da CEF. import random def gerar_linhas(quantidade_linhas, quantidade_numeros, faixas): linhas = [] for _ in range(quantidade_linhas): linha = [] for i in range(quantidade_numeros): faixa_atual = faixas[i] numero_gerado = random.randint(faixa_atual[0], faixa_atual[1]) linha.append(numero_gerado) linha.sort() linhas.append(linha) return linhas # Pergunta quantas linhas o usuário deseja gerar quantidade_linhas = int(input("Digite a quantidade de linhas a serem geradas: ")) quantidade_numeros = 6 # Você pode ajustar o número de números por linha se quiser # Defina as faixas de parâmetrosfaixa1 = [4, 14] faixa1 = [4, 14] faixa2 = [15, 22] faixa3 = [23, 31] faixa4 = [32, 40] faixa5 = [41, 49] faixa6 = [50, 58] faixas = [faixa1, faixa2, faixa3, faixa4, faixa5, faixa6] # Gere as linhas linhas = gerar_linhas(quantidade_linhas, quantidade_numeros, faixas) # Imprima as linhas não ordenadas print("\nLinhas geradas:") for linha in linhas: print(linha) # Ordene as linhas linhas.sort() # Abra um arquivo de relatório para escrita with open("relatorio.txt", "w") as relatorio: # Escreva o relatório de saída no arquivo for linha in linhas: relatorio.write(" ".join([str(numero).zfill(2) for numero in linha]) + "\n") print("Relatório gerado com sucesso no arquivo 'relatorio.txt'.")
  17. O que fiz é o método do @DixieJoe enunciado +/- assim: "Se em dois arquivos há linha com a pontuação máxima de uma determinada loteria então as linhas em comum aos dois arquivos são as potenciais com a pontuação máxima". Se em mais arquivos também é válido ( desde que tenham a pontuação máxima). Então, baseado no mesmo principio e considerando a pontuação máxima (6pt) em 2 ou 3 ou 4 ou 5 separei os números em comum para cada situação. No concurso em que vc conferiu, teve 4 linhas de 45 com 6pt então todas as premissas igual ou menor que 4 linhas foram satisfeitas então encontrará 6pt nesses arquivos. Não foi encontrado sena na condição 5 a 5, pois uma das linhas falhou, não tinha 6pt ... Caso haja 6pt em cinco linhas no mesmo sorteio, fiz os cruzamentos 5 a 5 e relacionei os números comuns as 5 linhas. pois os 6pt estão neles. Então se houvesse 3 linhas de 45 com 6pt não encontraríamos sena nas de 4 a 4 e também na de 5 a 5. //////////////////////////////// Observação: Do concurso 1 ao 2676 com 0 acerto de 6 dezenas 148 concurso 5,53% do total dos concursos; Trocando em miúdos: Com 12 linhas de 15 números teríamos beliscado os 6pt em 148 concursos da Megasena do concurso 1 ao 2676...Parece poucos, mas ... Essas 12 linhas de 15 números são as inversas das 12 de 45 do @Substantivo E vamos que vamos, hoje tem sorteio e meus credores estão fazendo fila na porta de casa na esperança de receber. Eu quero pagar, mas não consigo acertar na loteria.
  18. Taí, SE tudo correto, resta conferir.... Caso haja 6pt em cinco linhas no mesmo sorteio, fiz os cruzamentos 5 a 5 e relacionei os números comuns as 5 linhas. pois os 6pt estão neles. Tá ficando muito fácil acertar 6pt na Megasena SE...
  19. Postado agora Caso haja 6pt em quatro linhas no mesmo sorteio, fiz os cruzamentos 4 a 4 e relacionei os números comuns as 4 linhas. pois os 6pt estão neles. Se estiver tudo correto, resta conferir, imagine SE suas linhas de 45 tiverem 5 linhas pontuando 6pt? Jogaremos com quantos números?
  20. Caso haja 6pt em três linhas no mesmo sorteio, fiz os cruzamentos 3 a 3 e relacionei os números comuns as três linhas. pois os 6pt estão neles.
  21. Caso haja 6pt em duas linhas no mesmo sorteio, fiz os cruzamentos 2 a 2 e relacionei os números comuns as duas linhas, pois os 6pt estão neles.
  22. Essa tem fechamento inferior a 80%. Segue 2000 sorteios em que não fecha 16;
  23. Realmente não está. Conferindo pelo Numeromania, acrescentando para ficar 100% já achou + 4 em menos de 5 min.
  24. Não fui eu quem avaliou as suas 12 linhas de 45.
×
×
  • Create New...