Administrador Jimmy Posted October 24, 2022 Administrador Posted October 24, 2022 Olá, pessoal, estou fazendo algumas mudanças no fórum, colocando algumas informações extras, mudando informações de lugar e aos poucos vou mexendo no que eu acho que posso fazer para tornar o fórum melhor. Mas como sei que não sei de tudo, gostaria de saber a opinião de vocês. O que você acha que deve mudar no fórum? Quais informações devo incluir? Quais devo retirar? O que você acha que preciso mudar de lugar? O que precisa acrescentar? O que você gostaria de ver aqui e que ainda não tem? Sua opinião é muito importante para mim e para a evolução do fórum. Obrigado! 4 Quote
Administrador Jimmy Posted October 24, 2022 Author Administrador Posted October 24, 2022 Mudanças efetuadas hoje: - A barra com "Arquivos" mudou de nome para "Últimos Arquivos Atualizados" para condizer melhor com o conteúdo que está sendo publicado. Essa opção subiu em destaque no fórum; - Foram adicionadas as opções "Mais Vistos da Semana" e "Mais Comentados do Mês" para destacar publicações que recebem muitas visualizações e comentários em um tempo menor. 4 Quote
Omesmo Posted October 24, 2022 Posted October 24, 2022 11 horas atrás, Jimmy disse: O que precisa acrescentar? uma categoria de planilha geral no arquivo para planilhas que atendam a todas as loterias ou tem uso como curiosidade a escolher 1 Quote
Administrador Jimmy Posted October 24, 2022 Author Administrador Posted October 24, 2022 (edited) Pessoal, o servidor é a parte mais cara de se ter um fórum com a audiência que temos. Para evitar abusos, fiz algumas mudanças no limite de downloads, até mesmo para diminuir o número de pessoas que utilizam do fórum para simplesmente copiar o nosso conteúdo. Acredito que quem está participando ou se torna VIP não tem interesse em todas as planilhas. Quando alguém entra e tenta baixar todo o conteúdo de uma vez, algo não está correto. ANTES: Os membros, membros vips e super vips podiam fazer downloads ilimitados; COMO É AGORA: Membro - 2 downloads dia, 10 na semana e 30 no mês; Membro VIP - 10 downloads dia, 30 na semana e 60 no mês; Super VIP - Ilimitado. * Membros Novatos ou Inativos continuam sem acesso aos downloads até que fiquem ativos, se tornem Membros ou VIPs. EXEMPLO: O Membro faz 2 downloads por dia, mas no 5º dia completa os 10 da semana, automaticamente fica bloqueado de fazer mais durante aquela semana. Obs. Novas restrições poderão ocorrer caso perceba que a mudança não surtiu o efeito de evitar abusos. Aqueles que usam o fórum de forma saudável não sentirá a mudança. ATUALIZEI: Pensei e achei justo aumentar o número de downloads daqueles que fazem uma contribuição para o fórum. Contudo, se notar um abuso de algum usuário, tomarei atitudes pontuais. Edited October 25, 2022 by Jimmy Atualizado a quantidade de downloads! 3 Quote
walt Posted January 17, 2023 Posted January 17, 2023 Parece que existe uma ocorrencia de replicação de cada consulta de usuário na lista de visualizações. 1 Quote
NADA É O QUE PARECE Posted January 22, 2023 Posted January 22, 2023 PÔ Jimmy, gostaria de postar um cartão de 15 pontos ganho por mim. Mas tá difícil. de resto tudo ok. 1 Quote
TinoHd Posted January 25 Posted January 25 Eu acho que o Fórum poderia ter mais membros se tivesse uma área de Downloads Especial para Melhores Planilhas Só Para Membros eu mesmo tenho algumas planilhas para postar mais não coloco. onde membros poderiam postar a regra seria as melhores será julgadas pelos membros para ficar fixas no Downloads Especial. Obs. Só Membros pode entrar e visualizar Grupo Fechado. esta e minha opinião . Quote
Administrador Jimmy Posted January 26 Author Administrador Posted January 26 Em 25/01/2024 em 08:43, TinoHd disse: Eu acho que o Fórum poderia ter mais membros se tivesse uma área de Downloads Especial para Melhores Planilhas Só Para Membros eu mesmo tenho algumas planilhas para postar mais não coloco. onde membros poderiam postar a regra seria as melhores será julgadas pelos membros para ficar fixas no Downloads Especial. Obs. Só Membros pode entrar e visualizar Grupo Fechado. esta e minha opinião . Mas já é assim, somente membros vips podem acessar os downloads Quote
Omesmo Posted January 27 Posted January 27 @Jimmy acho que tem que indicar se o post teve edição, mesmo para os super vip, pelo menos na area de palpites , tipo mostrar a hora que a pessoa editou, pq se editou antes do sorteio ainda fica valendo o palpite 1 Quote
Di Butuca Posted January 29 Posted January 29 Seria bom aumentar o tamanho das imagens postadas...talvez criar uma pasta para armazenar as imagens. Noto que após um tempo a imagem da publicação desaparece. Seria bom também ter a possibilidade de excluir a própria postagem quando essa não for mais relevante. 1 Quote
Guest Posted March 10 Posted March 10 @Jimmy eu não sei se é uma função desabilitada ou falha no procedimento, mas existe uma função na conta do usuário ( segurança & privacidade ) que permite excluir a conta ! tentei em 2 dias diferentes, recebi a cada vez, um e-mail solicitando que eu confirmasse a exclusão da conta e aparentemente nada aconteceu, tanto que minha conta ainda está ativa. acaso esta função não está 100% implementada ou é um erro do sistema mesmo ? seria muito útil se estivesse 100% funcional, facilitaria a quem deseja excluir a própria conta e ao mesmo tempo, não te ocupa com tais solicitações via MP. obrigado Quote
Administrador Jimmy Posted March 12 Author Administrador Posted March 12 Em 10/03/2024 em 17:24, Visitante disse: @Jimmy eu não sei se é uma função desabilitada ou falha no procedimento, mas existe uma função na conta do usuário ( segurança & privacidade ) que permite excluir a conta ! tentei em 2 dias diferentes, recebi a cada vez, um e-mail solicitando que eu confirmasse a exclusão da conta e aparentemente nada aconteceu, tanto que minha conta ainda está ativa. acaso esta função não está 100% implementada ou é um erro do sistema mesmo ? seria muito útil se estivesse 100% funcional, facilitaria a quem deseja excluir a própria conta e ao mesmo tempo, não te ocupa com tais solicitações via MP. obrigado Quando o usuário pede a exclusão de sua conta, ela fica aguardando a aprovação da administração. Acabei de fazer isso, seu usuário acaba de ser excluído. 2 Quote
Julio Cezar Posted March 18 Posted March 18 Incremento de recursos, Eu gostaria que tivesse uma ferramenta de conferencia de resultados para linhas de jogos para algumas loteria. LF, LM, MS, DS, Qn, SP7. Eu uso o mazusoft, não me faz muita falta o forum não oferecer, mas não posso falar principalmente pelos iniciantes e seria mais um atrativo oferecido pelo forum. 2 Quote
Administrador Jimmy Posted March 18 Author Administrador Posted March 18 @Julio Cezar acho legal também, porém é preciso de um investimento com programação. Já pensei por diversas vezes contratar alguém para fazer isso para nós, o problema está na falta de recursos. De qualquer modo, é sim algo que gostaria de implementar aqui. Obrigado! 1 Quote
Varelo Posted April 23 Posted April 23 Bom dia! Solicitei em Ago-2023 (inclusive através do Nando ADM!) a inclusão de um sub-fórum de Matrizes na loteria "DIA DE SORTE" mas não sei se o mesmo te comunicou ou se você foi comunicado e não conseguiu ainda tempo para executar! quando puderes dá uma olhadinha com carinho. Neste meu tópico abaixo postei bastante matrizes dos desenvolvedores, que ficam perdidas no meio de tantos tópicos aleatórios: \[..]/ 2 Quote
Omesmo Posted May 14 Posted May 14 @Jimmy acho que uma adição legal seria uma area só para uso de IAs nas loterias, agora com o gpt e o gemini facilitando muito o estudo e desenvolvimento , com o novo gpt 4 suportanto 25 mil palavras dá até para ter um projeto mais complexo tipo um exemplo que fiz de teste com o novo gpt no modo gratuito EU: "voce conseguiria juntar tudo numa coisa só mas trabalhando com matrizes de 15 colunas x 4 mil linhas com dezenas de 1 a 80?" GPT4: Claro, vamos criar um projeto VBA que integra uma rede neural, algoritmo genético e regressão linear em uma única planilha, trabalhando com matrizes de 15 colunas x 4000 linhas com dezenas de 1 a 80. Vou dar uma estrutura básica para cada componente e depois juntar tudo. Passos: Estrutura do Projeto: Criar uma planilha chamada "Dados" onde os dados serão armazenados. Criar uma planilha chamada "Resultados" onde os resultados serão exibidos. Rede Neural: Adaptação da rede neural para lidar com 15 entradas e 4000 exemplos de treinamento. Algoritmo Genético: Ajustar para 15 genes em cada indivíduo. Regressão Linear: Ajustar para prever valores baseados em uma coluna específica. Código Integrado: Sub ProjetoIntegrado() ' Inicializar dados e parâmetros Dim entradas(1 To 4000, 1 To 15) As Double Dim saidas(1 To 4000) As Double Dim pesosIH(1 To 15, 1 To 10) As Double ' Pesos entre camada de entrada e oculta Dim pesosHO(1 To 10, 1 To 1) As Double ' Pesos entre camada oculta e saída Dim biasH(1 To 10) As Double ' Biases da camada oculta Dim biasO(1 To 1) As Double ' Bias da camada de saída Dim taxaAprendizado As Double taxaAprendizado = 0.1 ' Taxa de aprendizado ' Inicializar pesos e biases com valores aleatórios Dim i As Integer, j As Integer For i = 1 To 15 For j = 1 To 10 pesosIH(i, j) = Rnd Next j Next i For i = 1 To 10 For j = 1 To 1 pesosHO(i, j) = Rnd Next j Next i For i = 1 To 10 biasH(i) = Rnd Next i For i = 1 To 1 biasO(i) = Rnd Next i ' Carregar dados da planilha "Dados" Dim wsDados As Worksheet Set wsDados = ThisWorkbook.Sheets("Dados") For i = 1 To 4000 For j = 1 To 15 entradas(i, j) = wsDados.Cells(i + 1, j).Value Next j saidas(i) = wsDados.Cells(i + 1, 16).Value Next i ' Treinamento da rede neural TreinarRedeNeural entradas, saidas, pesosIH, pesosHO, biasH, biasO, taxaAprendizado ' Algoritmo genético AlgoritmoGenetico ' Regressão linear RegressaoLinear End Sub Sub TreinarRedeNeural(ByRef entradas As Variant, ByRef saidas As Variant, _ ByRef pesosIH As Variant, ByRef pesosHO As Variant, _ ByRef biasH As Variant, ByRef biasO As Variant, _ ByVal taxaAprendizado As Double) Dim epocas As Integer epocas = 1000 ' Número de épocas de treinamento Dim entrada(1 To 15) As Double Dim saidaDesejada As Double Dim saidaObtida As Double Dim somasOculta(1 To 10) As Double Dim saidasOculta(1 To 10) As Double Dim somasSaida(1 To 1) As Double Dim erroSaida(1 To 1) As Double Dim erroOculta(1 To 10) As Double Dim i As Integer, j As Integer, k As Integer, epoca As Integer For epoca = 1 To epocas For i = 1 To 4000 ' Configurar entrada e saída desejada For j = 1 To 15 entrada(j) = entradas(i, j) Next j saidaDesejada = saidas(i) ' Propagação para frente For j = 1 To 10 somasOculta(j) = biasH(j) For k = 1 To 15 somasOculta(j) = somasOculta(j) + entrada(k) * pesosIH(k, j) Next k saidasOculta(j) = Sigmoid(somasOculta(j)) Next j For j = 1 To 1 somasSaida(j) = biasO(j) For k = 1 To 10 somasSaida(j) = somasSaida(j) + saidasOculta(k) * pesosHO(k, j) Next k saidaObtida = Sigmoid(somasSaida(j)) Next j ' Propagação para trás (retropropagação) For j = 1 To 1 erroSaida(j) = saidaDesejada - saidaObtida For k = 1 To 10 pesosHO(k, j) = pesosHO(k, j) + taxaAprendizado * erroSaida(j) * saidasOculta(k) Next k biasO(j) = biasO(j) + taxaAprendizado * erroSaida(j) Next j For j = 1 To 10 erroOculta(j) = 0 For k = 1 To 1 erroOculta(j) = erroOculta(j) + erroSaida(k) * pesosHO(j, k) Next k erroOculta(j) = erroOculta(j) * saidasOculta(j) * (1 - saidasOculta(j)) For k = 1 To 15 pesosIH(k, j) = pesosIH(k, j) + taxaAprendizado * erroOculta(j) * entrada(k) Next k biasH(j) = biasH(j) + taxaAprendizado * erroOculta(j) Next j Next i Next epoca End Sub Function Sigmoid(x As Double) As Double Sigmoid = 1 / (1 + Exp(-x)) End Function Sub AlgoritmoGenetico() Dim populacao(1 To 100, 1 To 15) As Integer Dim novaPopulacao(1 To 100, 1 To 15) As Integer Dim fitness(1 To 100) As Double Dim i As Integer, j As Integer, k As Integer ' Inicializar a população com números aleatórios For i = 1 To 100 For j = 1 To 15 populacao(i, j) = Int((80 - 1 + 1) * Rnd + 1) Next j Next i ' Avaliar a aptidão de cada indivíduo For i = 1 To 100 fitness(i) = AvaliarAptidao(populacao, i) Next i ' Evolução por várias gerações For k = 1 To 100 ' Seleção, crossover e mutação For i = 1 To 100 Dim pai1 As Integer, pai2 As Integer pai1 = SelecionarPai(fitness) pai2 = SelecionarPai(fitness) For j = 1 To 15 If Rnd < 0.5 Then novaPopulacao(i, j) = populacao(pai1, j) Else novaPopulacao(i, j) = populacao(pai2, j) End If ' Mutação If Rnd < 0.01 Then novaPopulacao(i, j) = Int((80 - 1 + 1) * Rnd + 1) End If Next j Next i ' Atualizar população e recalcular aptidão For i = 1 To 100 For j = 1 To 15 populacao(i, j) = novaPopulacao(i, j) Next j fitness(i) = AvaliarAptidao(populacao, i) Next i Next k ' Exibir os melhores resultados Dim melhorAptidao As Double Dim melhorIndividuo As Integer melhorAptidao = 0 For i = 1 To 100 If fitness(i) > melhorAptidao Then melhorAptidao = fitness(i) melhorIndividuo = i End If Next i MsgBox "Melhor combinação: " & Join(Application.Index(populacao, melhorIndividuo, 0), ", ") End Sub Function AvaliarAptidao(populacao As Variant, indice As Integer) As Double ' Função de aptidão simples que soma os números (ajuste conforme necessário) Dim soma As Double soma = 0 Dim i As Integer For i = 1 To 15 soma = soma + populacao(indice, i) Next i AvaliarAptidao = soma End Function Function SelecionarPai(fitness As Variant) As Integer ' Seleção por roleta viciada (proporcional à aptidão) Dim somaFitness As Double somaFitness = Application.Sum(fitness) Dim roleta As Double roleta = Rnd * somaFitness Dim i As Integer Dim acumulado As Double acumulado = 0 For i = 1 To UBound(fitness) acumulado = acumulado + fitness(i) If acumulado >= roleta Then SelecionarPai = i Exit Function End If Next i End Function Sub RegressaoLinear() Dim wsResultados As Worksheet Set wsResultados = ThisWorkbook.Sheets("Resultados") Dim ultimaLinha As Long ultimaLinha = wsResultados.Cells(wsResultados.Rows.Count, 1).End(xlUp).Row Dim x() As Double Dim y() As Double ReDim x(1 To ultimaLinha - 1) ReDim y(1 To ultimaLinha - 1) Dim i As Long For i = 2 To ultimaLinha x(i - 1) = wsResultados.Cells(i, 1).Value ' Ajuste conforme necessário y(i - 1) = wsResultados.Cells(i, 2).Value ' Ajuste conforme necessário Next i Dim sumX As Double, sumY As Double, sumXY As Double, sumX2 As Double sumX = 0: sumY = 0: sumXY = 0: sumX2 = 0 For i = 1 To UBound(x) sumX = sumX + x(i) sumY = sumY + y(i) sumXY = sumXY + x(i) * y(i) sumX2 = sumX2 + x(i) ^ 2 Next i Dim n As Long n = UBound(x) Dim a As Double, b As Double b = (n * sumXY - sumX * sumY) / (n * sumX2 - sumX ^ 2) a = (sumY - b * sumX) / n ' Exibir os resultados MsgBox "Equação da Regressão: y = " & a & " + " & b & "x" ' Previsão para um novo valor de x Dim novoX As Double novoX = InputBox("Insira o valor de x para previsão:") Dim previsao As Double previsao = a + b * novoX MsgBox "Previsão para x = " & novoX & " é y = " & previsao End Sub Explicação: Função Principal (ProjetoIntegrado): Inicializa os dados e parâmetros. Carrega dados da planilha "Dados". Chama as sub-rotinas para treinar a rede neural, executar o algoritmo genético e a regressão linear. Sub-rotina de Treinamento da Rede Neural (TreinarRedeNeural): Treina uma rede neural simples com 15 entradas e 10 neurônios na camada oculta. Sub-rotina do Algoritmo Genético (AlgoritmoGenetico): Implementa um algoritmo genético com 15 genes em cada indivíduo. Sub-rotina de Regressão Linear (RegressaoLinear): Realiza a regressão linear nos dados da planilha "Resultados". Esta implementação assume que os dados estão adequadamente organizados nas planilhas "Dados" e "Resultados". Para usar o código, certifique-se de ajustar os dados conforme necessário e executá-lo em um ambiente VBA habilitado. ===================================================== acho que fica uma area legal para aproveitar o potencial das novas ferramentas 1 1 Quote
oiregor Posted June 4 Posted June 4 tentei implementar com a lotofacil na base... não consegui.... resultado estranho... e imaginei que me daria "algumas linhas" de opção.. e não somente uma.... vou tentar um novo pedido no gpt4 Quote
Omesmo Posted June 4 Posted June 4 6 minutos atrás, oiregor disse: tentei implementar com a lotofacil na base... não consegui.... resultado estranho... e imaginei que me daria "algumas linhas" de opção.. e não somente uma.... vou tentar um novo pedido no gpt4 como assim algumas linhas? bem em vba é meio dificil ter boas respostas já que tudo é feito com funções simples, e no gratuito nao tem tempo de resposta suficiente para trabalhar a solução de qualquer forma tudo depende do tipo de pedido e dos comando que se faz Quote
oiregor Posted June 4 Posted June 4 6 minutos atrás, Omesmo disse: como assim algumas linhas? bem em vba é meio dificil ter boas respostas já que tudo é feito com funções simples, e no gratuito nao tem tempo de resposta suficiente para trabalhar a solução de qualquer forma tudo depende do tipo de pedido e dos comando que se faz to aprendendo ainda sobre AI... não sei usar direito... mas vou aprendendo... heheehh realmente acabou o tempo e parou de escrever... preciso entender melhor como fazer as perguntas Quote
Omesmo Posted June 4 Posted June 4 14 minutos atrás, oiregor disse: preciso entender melhor como fazer as perguntas por isso eu opinei sobre incluir uma area só para uso de IAS , assim se pode conversar sobre o tema e discutir sobre a melhor estratégia tal vez até ter um arquivo base e comandos padrões para iniciar o chat para se ter respostas mais padronizadas e que o gpt nao fique jogando conversa fora 1 Quote
PS_(Soares) Posted June 18 Posted June 18 Olá Jimmy, bom dia! Uma sugestão que me ocorreu é a seguinte; Não sei se a plataforma tem esse tipo de recurso, mas o fórum é baseado em participação e colaboração, então quando um tópico é resolvido, ajudando o criador, caso esse possa assinalar a resolução do tópico o membro que o fez, poderia pontuar, para dessa forma, permitir maior pontuação e mudança de classe do membro. Talvez isso ajude um pouco a estimular maior participação focada na resolução dos problemas. É isso! 1 Quote
vilsonmaziero Posted July 5 Posted July 5 Em 14/05/2024 em 13:16, Omesmo disse: @Jimmy acho que uma adição legal seria uma area só para uso de IAs nas loterias, agora com o gpt e o gemini facilitando muito o estudo e desenvolvimento , com o novo gpt 4 suportanto 25 mil palavras dá até para ter um projeto mais complexo tipo um exemplo que fiz de teste com o novo gpt no modo gratuito EU: "voce conseguiria juntar tudo numa coisa só mas trabalhando com matrizes de 15 colunas x 4 mil linhas com dezenas de 1 a 80?" GPT4: Claro, vamos criar um projeto VBA que integra uma rede neural, algoritmo genético e regressão linear em uma única planilha, trabalhando com matrizes de 15 colunas x 4000 linhas com dezenas de 1 a 80. Vou dar uma estrutura básica para cada componente e depois juntar tudo. Passos: Estrutura do Projeto: Criar uma planilha chamada "Dados" onde os dados serão armazenados. Criar uma planilha chamada "Resultados" onde os resultados serão exibidos. Rede Neural: Adaptação da rede neural para lidar com 15 entradas e 4000 exemplos de treinamento. Algoritmo Genético: Ajustar para 15 genes em cada indivíduo. Regressão Linear: Ajustar para prever valores baseados em uma coluna específica. Código Integrado: Sub ProjetoIntegrado() ' Inicializar dados e parâmetros Dim entradas(1 To 4000, 1 To 15) As Double Dim saidas(1 To 4000) As Double Dim pesosIH(1 To 15, 1 To 10) As Double ' Pesos entre camada de entrada e oculta Dim pesosHO(1 To 10, 1 To 1) As Double ' Pesos entre camada oculta e saída Dim biasH(1 To 10) As Double ' Biases da camada oculta Dim biasO(1 To 1) As Double ' Bias da camada de saída Dim taxaAprendizado As Double taxaAprendizado = 0.1 ' Taxa de aprendizado ' Inicializar pesos e biases com valores aleatórios Dim i As Integer, j As Integer For i = 1 To 15 For j = 1 To 10 pesosIH(i, j) = Rnd Next j Next i For i = 1 To 10 For j = 1 To 1 pesosHO(i, j) = Rnd Next j Next i For i = 1 To 10 biasH(i) = Rnd Next i For i = 1 To 1 biasO(i) = Rnd Next i ' Carregar dados da planilha "Dados" Dim wsDados As Worksheet Set wsDados = ThisWorkbook.Sheets("Dados") For i = 1 To 4000 For j = 1 To 15 entradas(i, j) = wsDados.Cells(i + 1, j).Value Next j saidas(i) = wsDados.Cells(i + 1, 16).Value Next i ' Treinamento da rede neural TreinarRedeNeural entradas, saidas, pesosIH, pesosHO, biasH, biasO, taxaAprendizado ' Algoritmo genético AlgoritmoGenetico ' Regressão linear RegressaoLinear End Sub Sub TreinarRedeNeural(ByRef entradas As Variant, ByRef saidas As Variant, _ ByRef pesosIH As Variant, ByRef pesosHO As Variant, _ ByRef biasH As Variant, ByRef biasO As Variant, _ ByVal taxaAprendizado As Double) Dim epocas As Integer epocas = 1000 ' Número de épocas de treinamento Dim entrada(1 To 15) As Double Dim saidaDesejada As Double Dim saidaObtida As Double Dim somasOculta(1 To 10) As Double Dim saidasOculta(1 To 10) As Double Dim somasSaida(1 To 1) As Double Dim erroSaida(1 To 1) As Double Dim erroOculta(1 To 10) As Double Dim i As Integer, j As Integer, k As Integer, epoca As Integer For epoca = 1 To epocas For i = 1 To 4000 ' Configurar entrada e saída desejada For j = 1 To 15 entrada(j) = entradas(i, j) Next j saidaDesejada = saidas(i) ' Propagação para frente For j = 1 To 10 somasOculta(j) = biasH(j) For k = 1 To 15 somasOculta(j) = somasOculta(j) + entrada(k) * pesosIH(k, j) Next k saidasOculta(j) = Sigmoid(somasOculta(j)) Next j For j = 1 To 1 somasSaida(j) = biasO(j) For k = 1 To 10 somasSaida(j) = somasSaida(j) + saidasOculta(k) * pesosHO(k, j) Next k saidaObtida = Sigmoid(somasSaida(j)) Next j ' Propagação para trás (retropropagação) For j = 1 To 1 erroSaida(j) = saidaDesejada - saidaObtida For k = 1 To 10 pesosHO(k, j) = pesosHO(k, j) + taxaAprendizado * erroSaida(j) * saidasOculta(k) Next k biasO(j) = biasO(j) + taxaAprendizado * erroSaida(j) Next j For j = 1 To 10 erroOculta(j) = 0 For k = 1 To 1 erroOculta(j) = erroOculta(j) + erroSaida(k) * pesosHO(j, k) Next k erroOculta(j) = erroOculta(j) * saidasOculta(j) * (1 - saidasOculta(j)) For k = 1 To 15 pesosIH(k, j) = pesosIH(k, j) + taxaAprendizado * erroOculta(j) * entrada(k) Next k biasH(j) = biasH(j) + taxaAprendizado * erroOculta(j) Next j Next i Next epoca End Sub Function Sigmoid(x As Double) As Double Sigmoid = 1 / (1 + Exp(-x)) End Function Sub AlgoritmoGenetico() Dim populacao(1 To 100, 1 To 15) As Integer Dim novaPopulacao(1 To 100, 1 To 15) As Integer Dim fitness(1 To 100) As Double Dim i As Integer, j As Integer, k As Integer ' Inicializar a população com números aleatórios For i = 1 To 100 For j = 1 To 15 populacao(i, j) = Int((80 - 1 + 1) * Rnd + 1) Next j Next i ' Avaliar a aptidão de cada indivíduo For i = 1 To 100 fitness(i) = AvaliarAptidao(populacao, i) Next i ' Evolução por várias gerações For k = 1 To 100 ' Seleção, crossover e mutação For i = 1 To 100 Dim pai1 As Integer, pai2 As Integer pai1 = SelecionarPai(fitness) pai2 = SelecionarPai(fitness) For j = 1 To 15 If Rnd < 0.5 Then novaPopulacao(i, j) = populacao(pai1, j) Else novaPopulacao(i, j) = populacao(pai2, j) End If ' Mutação If Rnd < 0.01 Then novaPopulacao(i, j) = Int((80 - 1 + 1) * Rnd + 1) End If Next j Next i ' Atualizar população e recalcular aptidão For i = 1 To 100 For j = 1 To 15 populacao(i, j) = novaPopulacao(i, j) Next j fitness(i) = AvaliarAptidao(populacao, i) Next i Next k ' Exibir os melhores resultados Dim melhorAptidao As Double Dim melhorIndividuo As Integer melhorAptidao = 0 For i = 1 To 100 If fitness(i) > melhorAptidao Then melhorAptidao = fitness(i) melhorIndividuo = i End If Next i MsgBox "Melhor combinação: " & Join(Application.Index(populacao, melhorIndividuo, 0), ", ") End Sub Function AvaliarAptidao(populacao As Variant, indice As Integer) As Double ' Função de aptidão simples que soma os números (ajuste conforme necessário) Dim soma As Double soma = 0 Dim i As Integer For i = 1 To 15 soma = soma + populacao(indice, i) Next i AvaliarAptidao = soma End Function Function SelecionarPai(fitness As Variant) As Integer ' Seleção por roleta viciada (proporcional à aptidão) Dim somaFitness As Double somaFitness = Application.Sum(fitness) Dim roleta As Double roleta = Rnd * somaFitness Dim i As Integer Dim acumulado As Double acumulado = 0 For i = 1 To UBound(fitness) acumulado = acumulado + fitness(i) If acumulado >= roleta Then SelecionarPai = i Exit Function End If Next i End Function Sub RegressaoLinear() Dim wsResultados As Worksheet Set wsResultados = ThisWorkbook.Sheets("Resultados") Dim ultimaLinha As Long ultimaLinha = wsResultados.Cells(wsResultados.Rows.Count, 1).End(xlUp).Row Dim x() As Double Dim y() As Double ReDim x(1 To ultimaLinha - 1) ReDim y(1 To ultimaLinha - 1) Dim i As Long For i = 2 To ultimaLinha x(i - 1) = wsResultados.Cells(i, 1).Value ' Ajuste conforme necessário y(i - 1) = wsResultados.Cells(i, 2).Value ' Ajuste conforme necessário Next i Dim sumX As Double, sumY As Double, sumXY As Double, sumX2 As Double sumX = 0: sumY = 0: sumXY = 0: sumX2 = 0 For i = 1 To UBound(x) sumX = sumX + x(i) sumY = sumY + y(i) sumXY = sumXY + x(i) * y(i) sumX2 = sumX2 + x(i) ^ 2 Next i Dim n As Long n = UBound(x) Dim a As Double, b As Double b = (n * sumXY - sumX * sumY) / (n * sumX2 - sumX ^ 2) a = (sumY - b * sumX) / n ' Exibir os resultados MsgBox "Equação da Regressão: y = " & a & " + " & b & "x" ' Previsão para um novo valor de x Dim novoX As Double novoX = InputBox("Insira o valor de x para previsão:") Dim previsao As Double previsao = a + b * novoX MsgBox "Previsão para x = " & novoX & " é y = " & previsao End Sub Explicação: Função Principal (ProjetoIntegrado): Inicializa os dados e parâmetros. Carrega dados da planilha "Dados". Chama as sub-rotinas para treinar a rede neural, executar o algoritmo genético e a regressão linear. Sub-rotina de Treinamento da Rede Neural (TreinarRedeNeural): Treina uma rede neural simples com 15 entradas e 10 neurônios na camada oculta. Sub-rotina do Algoritmo Genético (AlgoritmoGenetico): Implementa um algoritmo genético com 15 genes em cada indivíduo. Sub-rotina de Regressão Linear (RegressaoLinear): Realiza a regressão linear nos dados da planilha "Resultados". Esta implementação assume que os dados estão adequadamente organizados nas planilhas "Dados" e "Resultados". Para usar o código, certifique-se de ajustar os dados conforme necessário e executá-lo em um ambiente VBA habilitado. ===================================================== acho que fica uma area legal para aproveitar o potencial das novas ferramentas VBA não é linguagem para IA... seria um trabalho que ja nasceria morto. Tem que usar uma linguagem que tenha suporte para redes neurais e outros algoritmos 1 Quote
sorel Posted July 11 Posted July 11 ola= A escolha da melhor linguagem de programação para loterias depende de alguns fatores: 1. Experiência e objetivos: Iniciante: Se você está começando, linguagens como Python ou R são ótimas opções. Elas são fáceis de aprender, possuem grande comunidade e bibliotecas prontas para análise de dados e machine learning. Experiente: Se você já tem experiência em programação, linguagens como C++ ou Java podem oferecer mais performance e flexibilidade. Mas exigem mais tempo para aprender. 2. Recursos disponíveis: Bibliotecas: Verifique se a linguagem possui bibliotecas específicas para análise de dados de loterias, como geração de números aleatórios, análise estatística e machine learning. Tutoriais e documentação: É importante ter acesso a tutoriais e documentação de qualidade para te auxiliar no desenvolvimento. 3. Integração com outras ferramentas: API da loteria: Verifique se a linguagem possui integração com a API da loteria que você deseja analisar. Ferramentas de visualização: É importante ter acesso a ferramentas para visualizar os dados e os resultados das análises, como Matplotlib ou Plotly. Considerando os 3 pontos e sua menção a redes neurais e inteligência artificial, algumas linguagens se destacam: Python: Uma linguagem versátil e amigável para iniciantes, com diversas bibliotecas para análise de dados, machine learning e redes neurais, como NumPy, SciPy, TensorFlow e PyTorch. Possui grande comunidade e vasta quantidade de tutoriais e documentação. R: Uma linguagem focada em análise estatística e machine learning, com bibliotecas como ggplot2, caret e RSNNS. Possui ótima integração com ferramentas de visualização. Java: Uma linguagem robusta e escalável, com bibliotecas como Weka e H2O. Ideal para projetos complexos que exigem alto desempenho. Outras linguagens a serem consideradas: C++: Altamente performante, mas exige mais conhecimento técnico e tempo para aprender. C#: Boa integração com o framework .NET, mas com menos bibliotecas específicas para análise de loterias em comparação com Python e R. Lembre-se: Não existe uma linguagem mágica que garanta o sucesso nas loterias. O importante é escolher a linguagem que melhor se encaixa em seus conhecimentos, objetivos e recursos. Estude bastante, pratique e explore diferentes técnicas para aumentar suas chances. Recursos para auxiliar na sua escolha: Comparação de linguagens para machine learning: [URL inválido removido] Aprenda Python: https://www.codecademy.com/learn/learn-python Aprenda R: [URL inválido removido] Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.