Jump to content

Recommended Posts

  • Administrador
Posted

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!

  • Like 4
  • Jimmy changed the title to Mudanças no Fórum - O que você gostaria que mudasse?
  • Administrador
Posted

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.

  • Like 4
Posted
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

  • Like 1
  • Administrador
Posted (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 by Jimmy
Atualizado a quantidade de downloads!
  • Like 3
  • 2 months later...
  • 1 year later...
Posted

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 . 

  • Administrador
Posted
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

 

Posted

@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

  • Like 1
Posted

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.

 

  • Thanks 1
  • 1 month later...
Posted

 

@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

 

 

  • Administrador
Posted
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. 

  • Like 2
Posted

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.

  • Like 2
  • Administrador
Posted

@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!

  • Like 1
  • 1 month later...
Posted

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:

 

\[..]/

 

  • Thanks 2
  • 3 weeks later...
Posted

 @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:

  1. 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.
  2. Rede Neural:

    • Adaptação da rede neural para lidar com 15 entradas e 4000 exemplos de treinamento.
  3. Algoritmo Genético:

    • Ajustar para 15 genes em cada indivíduo.
  4. 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:

  1. 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.
  2. Sub-rotina de Treinamento da Rede Neural (TreinarRedeNeural):

    • Treina uma rede neural simples com 15 entradas e 10 neurônios na camada oculta.
  3. Sub-rotina do Algoritmo Genético (AlgoritmoGenetico):

    • Implementa um algoritmo genético com 15 genes em cada indivíduo.
  4. 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

  • Like 1
  • Thanks 1
  • 3 weeks later...
Posted

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

Posted
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

Posted
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

Posted
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

  • Like 1
  • 2 weeks later...
Posted

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! 

  • Like 1
  • 3 weeks later...
Posted
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:

  1. 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.
  2. Rede Neural:

    • Adaptação da rede neural para lidar com 15 entradas e 4000 exemplos de treinamento.
  3. Algoritmo Genético:

    • Ajustar para 15 genes em cada indivíduo.
  4. 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:

  1. 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.
  2. Sub-rotina de Treinamento da Rede Neural (TreinarRedeNeural):

    • Treina uma rede neural simples com 15 entradas e 10 neurônios na camada oculta.
  3. Sub-rotina do Algoritmo Genético (AlgoritmoGenetico):

    • Implementa um algoritmo genético com 15 genes em cada indivíduo.
  4. 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

  • Like 1
Posted

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:

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...