Jump to content

Omesmo

Super VIP
  • Posts

    1,635
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Omesmo

  1. links úteis:
     

    Spoiler

    https://colab.research.google.com/

    O Colab, ou "Colaboratory", permite escrever e executar Python no navegador e conta com o seguinte:
    - Nenhuma configuração necessária
    - Acesso a GPUs sem custo financeiro
    - Compartilhamento fácil

    ===========================================================================

    indicado por @walt

    https://medium.com/@polanitzer/how-to-guess-accurately-3-lottery-numbers-out-of-6-using-lstm-model-e148d1c632d6

     

     

    com o gpt em alta e a facilidade de novas ideias achei interessante discutir sobre o assunto do possivel uso de redes neurais em loterias

    começar com uma pequena lista de redes neurais existentes

    1. Perceptron simples: é a rede neural mais simples, usada para problemas de classificação binária. Consiste em um único neurônio que recebe uma entrada e produz uma saída.

    2. Redes neurais de alimentação direta (feedforward): essas redes são compostas por uma série de camadas de neurônios, onde os sinais de entrada são transmitidos pela rede, camada por camada, até a camada de saída. Essas redes são usadas principalmente para problemas de classificação e regressão.

    3. Redes neurais recorrentes (recurrent): diferentemente das redes de alimentação direta, as redes neurais recorrentes permitem a conexão entre neurônios de camadas anteriores e neurônios de camadas posteriores. Essas redes são usadas principalmente para problemas de sequência, como previsão de séries temporais e análise de texto.

    4. Redes neurais convolucionais (convolutional): essas redes são usadas principalmente em problemas de visão computacional, como reconhecimento de imagem e classificação. Eles são compostos por camadas de neurônios chamados "filtros" que convoluem a entrada para extrair características relevantes.

    5. Redes neurais de Kohonen (self-organizing): essas redes são usadas principalmente para visualização de dados e agrupamento. Eles são compostos por neurônios organizados em uma rede bidimensional e são treinados para formar agrupamentos de dados semelhantes.

    6. Redes neurais de memória de longo prazo (long short-term memory - LSTM): essas redes são um tipo de rede neural recorrente que pode lembrar informações por um período mais longo. Eles são frequentemente usados para processamento de linguagem natural e reconhecimento de fala.

    7. Redes neurais geradoras adversárias (generative adversarial networks - GAN): essas redes são usadas para gerar dados sintéticos realistas, como imagens e vídeos. Eles são compostos por duas redes: uma rede geradora que cria dados sintéticos e uma rede discriminadora que tenta distinguir entre dados reais e sintéticos.

    8. Redes neurais autoencoder: essas redes são usadas para reduzir a dimensionalidade de dados e extrair características relevantes. Eles são compostos por duas partes: um codificador que transforma os dados de entrada em uma representação compacta e um decodificador que reconstrói os dados de saída a partir da representação compacta.

    9. Redes neurais de memória externa (memory augmented neural networks): essas redes usam uma memória externa para armazenar informações relevantes e facilitar o aprendizado de tarefas complexas, como aprendizado de máquina por reforço.

    10. Redes neurais profundas (deep neural networks): essas redes são compostas por muitas camadas de neurônios e são usadas para aprender representações complexas de dados. Eles são frequentemente usados em problemas de visão computacional, processamento de linguagem natural e reconhecimento de fala.

    11. Redes neurais de feedback (feedback networks): essas redes utilizam um mecanismo de feedback que permite ao neurônio ou conjunto de neurônios reajustar seu próprio peso ou a saída do conjunto de neurônios.

    12. Redes neurais de aprendizado profundo (deep learning networks): são redes neurais com múltiplas camadas que utilizam algoritmos de aprendizado de máquina para modelar e abstrair dados complexos.

    13. Redes neurais de Mapa Auto-Organizável (self-organizing map): essas redes utilizam algoritmos de aprendizado não-supervisionado para mapear dados multidimensionais em um mapa bidimensional de neurônios.

    14. Redes neurais de impulso (spiking neural networks): são redes neurais que usam impulsos em vez de sinais contínuos para transmitir informações.

    15. Redes neurais dinâmicas (dynamical neural networks): são redes neurais que modelam sistemas dinâmicos complexos, como sistemas biológicos, econômicos e físicos.

    16. Redes neurais de feedback temporal (temporal feedback neural networks): essas redes utilizam um mecanismo de feedback para permitir a retroalimentação temporal na rede.

    17. Redes neurais probabilísticas (probabilistic neural networks): são redes neurais que utilizam técnicas de probabilidade para modelar e classificar dados.

    18. Redes neurais de Hopfield: são redes neurais usadas para solução de problemas de otimização, como o problema do caixeiro viajante e o problema de coloração de grafos.

    19. Redes neurais de Boltzmann restrita (restricted Boltzmann machines): são redes neurais usadas para aprendizado não-supervisionado de representações de dados, geralmente em problemas de visão computacional.

    20. Redes neurais de atenção (attention networks): são redes neurais usadas em tarefas de processamento de linguagem natural que permitem que a rede preste atenção a partes específicas da entrada.

    21. Redes neurais de memória de curto prazo (short-term memory networks): são redes neurais usadas para lidar com sequências de entrada, como processamento de linguagem natural e reconhecimento de fala.

    22. Redes neurais de memória episódica (episodic memory networks): são redes neurais usadas para modelar a memória episódica, ou seja, a capacidade de lembrar eventos específicos.

    23. Redes neurais liquidas (liquid-state machines): são redes neurais compostas por neurônios altamente interconectados que são usados para modelar sistemas dinâmicos.

    24. Redes neurais de fluxo (flow-based neural networks): são redes neurais usadas para modelar distribuições de probabilidade.

    25. Redes neurais de polinômio radial (radial basis function networks): são redes neurais usadas para aproximar funções em espaços multidimensionais.

    26. Redes neurais de crescimento de árvores (growing neural trees): são redes neurais que crescem dinamicamente a medida que recebem novos dados de entrada, permitindo adaptação a novos padrões.

    27. Redes neurais convolucionais (convolutional neural networks): são redes neurais usadas para processamento de imagens, utilizando filtros convolucionais para detectar características específicas nas imagens.

    28. Redes neurais de adversários geradores (generative adversarial networks): são redes neurais compostas por um gerador e um discriminador que trabalham em conjunto para gerar dados sintéticos que se assemelham aos dados reais.

    29. Redes neurais de memória de longo prazo (long-term memory networks): são redes neurais usadas para lidar com sequências de entrada e lembrar informações por um longo período de tempo.

    30. Redes neurais de rede recorrente (recurrent neural networks): são redes neurais que permitem que informações sejam transmitidas de uma etapa de tempo para a próxima, permitindo a modelagem de sequências de dados.

    31. Redes neurais hierárquicas (hierarchical neural networks): são redes neurais compostas por múltiplas camadas que processam informações em diferentes níveis de abstração.

    32. Redes neurais híbridas (hybrid neural networks): são redes neurais compostas por diferentes tipos de camadas e que são usadas para resolver problemas complexos.

    33. Redes neurais de aprendizado não supervisionado: essas redes neurais são usadas para encontrar padrões escondidos nos dados sem o uso de rótulos ou categorias pré-determinadas. O objetivo é encontrar estruturas ou padrões nos dados que possam ser úteis para outras tarefas de aprendizado de máquina.

    34. Redes neurais autoencoder: essas redes neurais são projetadas para aprender uma representação compacta de dados de entrada, encontrando padrões ocultos na distribuição dos dados.

    35. Redes neurais geradoras: essas redes neurais são projetadas para gerar novos dados que sigam uma distribuição semelhante à dos dados de treinamento, o que requer a descoberta de padrões escondidos nos dados de entrada.

    36. Redes neurais de Kohonen (Self-Organizing Maps): essas redes neurais são projetadas para encontrar agrupamentos e padrões nos dados de entrada e criar um mapa topológico dos padrões identificados.

    37. Redes neurais de denoising: essas redes neurais são usadas para remover o ruído de dados de entrada, o que requer a identificação de padrões escondidos nos dados que não são ruído.

     

    nao sei se tem repetidas, e ela falou que tem mais, mas a limitação de linhas dificulta

    depois eu vou tentar editar para deixar os nomes das redes em negrito "talvez, ainda nao sei, se me der animo de fazer"

    • Like 3
  2. 27 minutos atrás, Eolocos disse:

    Em Python, é possível implementar uma rede neural artificial

     

    como eu tinha falado, Python parece ser a melhor escolha de linguagem para testes testes em loterias,

    é gratuito, tem varias bibliotecas de estatística , fora essas de ia e de calulos

    isso facilita a codificação e diminui o numero de linhas ficando menos propenso de dar erro com o gpt, fora que ele deve ser melhor codificando em python do que em vba 

     

    ao meu ver o maior problema é que loteria nao é algo padrão para se usar essas coisas, então construir em cima de uma biblioteca fechada ficamos sem saber oq está sendo feito e como e nao podemos mudar o modo operante para se ajustar melhor a nossa ideia

     

    por outro lado a limitação de linhas do gpt dificulta a criação de codigos em funções comuns

    se o gpt tivesse aparecido uns 2 anos atras ... hoje em dia mexo nisso de loteria com muito desanimo

    • Like 1
  3. talvez o gpt seja ruim para montar os codigos, mas achoque é uma boa fonte de inspiração e de exemplos

    tipo pedir exemplos de previsão para loteira e depois para criar um codigo que faça o que foi explicado

     

    tipo eu pedi para um programa de gradiente e pesos , e fui pedindo para adicionais para a mesma ideia


    loterias não é algo padrão para estatísticas , então qualquer ideia pode ser valida

     

    • Like 1
  4. 8 minutos atrás, Sphgf disse:

    Nem dá pra brincar, eles cercaram de tudo quanto é jeito ..

    as vezes eu entro em termos que nao tem como ela fugir, mas sempre coloca aquela frase de aviso  no final , sim isso estraga a brincadeira, mas a gente nao desiste de tentar criar uma nova criatura

     

    achei a possibilidade do codigo maneiro no uso de loteria

    Este código define duas funções: ContarProbabilidadesConjuntas, que conta o número de vezes que um determinado número foi sorteado em um determinado intervalo de tempo; e LogBase2, que calcula o logaritmo na base 2 de um número.

    Em seguida, o código usa as funções para calcular as probabilidades conjuntas para cada combinação de número e intervalo de

    tempo desde o último sorteio. Finalmente, a entropia conjunta é calculada usando a fórmula matemática apropriada.

    Este código pode ser executado para calcular a entropia conjunta dos números sorteados e seus tempos desde o último sorteio. Basta ajustar o intervalo de dados, o número máximo de números e o número máximo de sorteios de acordo com o seu caso específico.

     

    Sub CalcularEntropiaConjunta()
    
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
        
        ' Definir o intervalo de dados
        Dim rngNumeros As Range, rngTempos As Range
        Set rngNumeros = ws.Range("A2:A51") ' Substitua "A2:A51" pelo intervalo que contém os números sorteados
        Set rngTempos = ws.Range("B2:B51") ' Substitua "B2:B51" pelo intervalo que contém os tempos desde o último sorteio
        
        ' Definir o número máximo de números e o número máximo de sorteios
        Const numMax As Long = 60 ' Substitua pelo número máximo de números (exemplo: 60 para a Mega-Sena)
        Const sortMax As Long = 50 ' Substitua pelo número máximo de sorteios (exemplo: 50 para um ano de sorteios)
        
        ' Calcular as probabilidades conjuntas
        Dim i As Long, j As Long
        Dim probConj(numMax, sortMax) As Double
        
        For i = 1 To numMax
            For j = 1 To sortMax
                Dim contagem As Long
                contagem = ContarProbabilidadesConjuntas(rngNumeros, rngTempos, i, j)
                probConj(i, j) = contagem / rngNumeros.Count
            Next j
        Next i
        
        ' Calcular a entropia conjunta
        Dim entropiaConj As Double
        For i = 1 To numMax
            For j = 1 To sortMax
                If probConj(i, j) > 0 Then
                    entropiaConj = entropiaConj - probConj(i, j) * LogBase2(probConj(i, j))
                End If
            Next j
        Next i
        
        ' Imprimir a entropia conjunta na célula C2
        ws.Range("C2").Value = entropiaConj
        
    End Sub
    
    Function ContarProbabilidadesConjuntas(rngNumeros As Range, rngTempos As Range, num As Long, sort As Long) As Long
        Dim i As Long
        For i = 1 To rngNumeros.Count
            If rngNumeros(i).Value = num And rngTempos(i).Value = sort Then
                ContarProbabilidadesConjuntas = ContarProbabilidadesConjuntas + 1
            End If
        Next i
    End Function
    
    Function LogBase2(ByVal x As Double) As Double
        LogBase2 = Log(x) / Log(2#)
    End Function

     

    • Like 1
    • Thanks 1
  5. tbm achei interessante essa abordagem
     

    Spoiler
     

    Usar a entropia conjunta é uma medida de associação que leva em consideração a distribuição conjunta de vários números sorteados e seus tempos desde o último sorteio.

    A entropia conjunta é uma medida de incerteza conjunta entre duas variáveis. Ela é calculada a partir da distribuição de probabilidade conjunta entre as duas variáveis. A entropia conjunta pode ser usada para medir a quantidade de informação contida em duas variáveis em conjunto, e quanto elas são dependentes uma da outra.

    No contexto de sorteios de números, podemos usar a entropia conjunta para medir a quantidade de informação contida na distribuição conjunta de dois ou mais números sorteados e seus tempos desde o último sorteio. Isso nos permite avaliar a relação entre a probabilidade de um determinado número ser sorteado e o tempo desde o último sorteio desse número em relação aos outros números sorteados.

    A entropia conjunta pode ser calculada usando a fórmula:

    H(X,Y) = -∑∑ p(x,y) * log(p(x,y))

    onde p(x,y) é a probabilidade conjunta de X e Y assumirem os valores x e y, respectivamente.

    Ao calcular a entropia conjunta dos números sorteados e seus tempos desde o último sorteio, podemos avaliar como essas variáveis estão relacionadas e se há alguma relação interessante que possa ser explorada.

    É importante notar que a entropia conjunta pode ser mais difícil de interpretar do que outras medidas de associação, como a correlação de Pearson ou Spearman. No entanto, ela pode ser muito útil para analisar a relação entre duas ou mais variáveis em conjunto, e pode ajudar a descobrir padrões interessantes nos dados.

    Espero que isso ajude a explicar como a entropia conjunta pode ser usada para avaliar a distribuição conjunta de vários números sorteados e seus tempos desde o último sorteio!

    Sub CalcularEntropiaConjunta()
    
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
        
        ' Definir o intervalo de dados
        Dim rngNumeros As Range, rngTempos As Range
        Set rngNumeros = ws.Range("A2:A51") ' Substitua "A2:A51" pelo intervalo que contém os números sorteados
        Set rngTempos = ws.Range("B2:B51") ' Substitua "B2:B51" pelo intervalo que contém os tempos desde o último sorteio
        
        ' Calcular as probabilidades conjuntas
        Dim i As Long, j As Long
        Dim probConj As Variant
        ReDim probConj(1 To 60, 1 To 50) ' Substitua 60 e 50 pelo número máximo de números e o número máximo de sorteios, respectivamente
        
        For i = 1 To 60
            For j = 1 To 50
                probConj(i, j) = Application.WorksheetFunction.CountIfs(rngNumeros, i, rngTempos, j) / rngNumeros.Count
            Next j
        Next i
        
        ' Calcular a entropia conjunta
        Dim entropiaConj As Double
        For i = 1 To 60
            For j = 1 To 50
                If probConj(i, j) > 0 Then
                    entropiaConj = entropiaConj - probConj(i, j) * Log(probConj(i, j))
                End If
            Next j
        Next i
        
        ' Imprimir a entropia conjunta na célula C2
        ws.Range("C2").Value = entropiaConj
        
    End Sub

     

    • Like 2
  6. 10 minutos atrás, Sphgf disse:

    Nem eu passei no teste ...  🤣

     

    Sds,

    Sphgf

    dá para viajar nessas ideias mirabolantes,
    agora imagina o tanto de trabalho que dá para classificar os dados e eliminar essas ideias de ia autônoma que o pessoal enfia no chat gpt

    eu estava aqui pegando mais umas dicas sobre estatisticas em loterias col ela ou ele ou "eli"
     

    Spoiler

    Usar uma medida de correlação entre o número de vezes que um número foi sorteado e o tempo desde o último sorteio. Uma possibilidade é calcular o coeficiente de correlação de Pearson entre essas duas variáveis.

     

    Usar uma medida de associação mais robusta que leve em consideração a distribuição dos tempos entre sorteios. Uma possibilidade é calcular o coeficiente de correlação de Spearman entre o número de vezes que um número foi sorteado e o rank médio de seus tempos entre sorteios.

     

    Usar uma medida de associação que leve em consideração a distribuição conjunta de vários números. Uma possibilidade é calcular a entropia conjunta dos números sorteados e seus tempos desde o último sorteio.

    aí eu pedi um codigo vba e me deu usando funçioes de planilha  e pedi sem

    achei esse interessante

    Sub spearman_correlation()
        Dim ws As Worksheet
        Dim data_rng As Range
        Dim x_rng As Range
        Dim y_rng As Range
        Dim rank_rng As Range
        Dim n As Long
        Dim sum_x As Double
        Dim sum_y As Double
        Dim sum_xy As Double
        Dim sum_x_sq As Double
        Dim sum_y_sq As Double
        Dim corr_coef As Double
        
        Set ws = ThisWorkbook.Worksheets("Planilha1")
        Set data_rng = ws.Range("A1:C10")
        Set x_rng = data_rng.Columns(1)
        Set y_rng = data_rng.Columns(2)
        Set rank_rng = data_rng.Columns(3)
        n = x_rng.Count
        
        ' Calculate ranks of x and y
        Dim rank_x() As Double
        Dim rank_y() As Double
        rank_x = Ranks(x_rng)
        rank_y = Ranks(y_rng)
        
        ' Calculate sums of rank_x and rank_y
        Dim sum_rank_x As Double
        Dim sum_rank_y As Double
        For i = 1 To n
            sum_rank_x = sum_rank_x + rank_x(i)
            sum_rank_y = sum_rank_y + rank_y(i)
        Next i
        
        ' Calculate Spearman correlation coefficient
        For i = 1 To n
            sum_xy = sum_xy + (rank_x(i) - (sum_rank_x / n)) * (rank_y(i) - (sum_rank_y / n))
            sum_x_sq = sum_x_sq + (rank_x(i) - (sum_rank_x / n)) ^ 2
            sum_y_sq = sum_y_sq + (rank_y(i) - (sum_rank_y / n)) ^ 2
        Next i
        corr_coef = sum_xy / Sqr(sum_x_sq * sum_y_sq)
        
        Debug.Print "Spearman correlation coefficient: " & corr_coef
    End Sub
    
    ' Function to calculate ranks of a range of values
    Function Ranks(rng As Range) As Double()
        Dim n As Long
        Dim ranks() As Double
        n = rng.Count
        
        ' Put values into an array
        Dim arr() As Double
        ReDim arr(1 To n)
        For i = 1 To n
            arr(i) = rng(i)
        Next i
        
        ' Sort the array
        Dim temp As Double
        For i = 1 To n - 1
            For j = i + 1 To n
                If arr(i) > arr(j) Then
                    temp = arr(i)
                    arr(i) = arr(j)
                    arr(j) = temp
                End If
            Next j
        Next i
        
        ' Calculate ranks
        ReDim ranks(1 To n)
        Dim last_val As Double
        Dim rank_sum As Double
        Dim ties As Long
        Dim tie_sum As Double
        last_val = arr(1)
        ranks(1) = 1
        rank_sum = 1
        For i = 2 To n
            If arr(i) = last_val Then
                ties = ties + 1
                tie_sum = tie_sum + i
            Else
                If ties > 0 Then
                    For j = i - ties To i - 1
                        ranks(j) = tie_sum / ties
                    Next j
                    ties = 0
                    tie_sum = 0
                End If
                ranks(i) = i
                           rank_sum = rank_sum + i
            End If
            last_val = arr(i)
        Next i
        If ties > 0 Then
            For j = n - ties + 1 To n
                ranks(j) = tie_sum / ties
            Next j
        End If
        Ranks = ranks
    End Function
    

    pedi uma explicação sobre como funciona

    Spoiler

    Claro, eu posso explicar como funciona a correlação de Spearman.

    O coeficiente de correlação de Spearman é uma medida não paramétrica de correlação entre duas variáveis. Isso significa que ele não assume que as variáveis seguem uma distribuição normal ou qualquer outra distribuição específica.

    Em vez disso, o coeficiente de correlação de Spearman é baseado na classificação das observações em cada variável. A classificação, ou "ranks", é a ordem em que as observações aparecem em relação às outras observações na mesma variável. Por exemplo, se temos as observações 5, 3, 1 e 4, as classificações (ou "ranks") seriam 2, 3, 4 e 1, respectivamente.

    O coeficiente de correlação de Spearman é calculado comparando os ranks das observações em cada variável. Ele mede a força e a direção da relação entre os ranks das duas variáveis. O coeficiente de correlação de Spearman pode variar de -1 a 1. Um valor de 1 indica uma correlação perfeita positiva, um valor de -1 indica uma correlação perfeita negativa e um valor de 0 indica que não há correlação entre as variáveis.

    A correlação de Spearman é útil quando as observações são classificáveis, mas não numericamente mensuráveis. Isso pode acontecer, por exemplo, quando as observações são classificações subjetivas ou quando as observações são medidas em uma escala ordinal (por exemplo, muito baixo, baixo, médio, alto, muito alto). A correlação de Spearman também pode ser usada para detectar relacionamentos não lineares entre variáveis.

    Espero que isso ajude a explicar como a correlação de Spearman funciona!

     

    • Like 1
  7. 10 horas atrás, Eolocos disse:

    alguns erros são sérios !

    imagine isto em assembly, vc simplesmente, sobre-escreve area da memoria, utilizada pelo sistema operacional !

    sim , e mesmo em liguagens com o basic do vba os erros pelo que vi podem ser dificil de solucionar para quem nao sabe muito ,alguns até para quem sabe.
    mas como falei,  ela faz exatamente o que a gente pede só que errado :(

    eu colei 2 macros que eu tinha montado para a planilha de organiza pela estatística e ela me disse exatamente o que elas fazem e nem tem todos os dados delas

     

    
    
    Sub Contar(LL, ByVal L As Long)
         incrSort = incrSortL(L)
         Sorteio_fim = Stfim(L) - incr     'sorteio final
    
         If TipoPeriodoL(L) = 1 Then Sorteio_ini = Stini(L) - incr
         If TipoPeriodoL(L) = 2 Then Sorteio_ini = MAtra(Sorteio_fim)
         If TipoPeriodoL(L) = 3 Then Sorteio_ini = MRep(Sorteio_fim)
         If TipoPeriodoL(L) = 4 Then Sorteio_ini = SrepAtr(Sorteio_fim)
         If TipoPeriodoL(L) = 5 Then Sorteio_ini = SmRep(Sorteio_fim)        ' soma das repetições
         If TipoPeriodoL(L) = 6 Then Sorteio_ini = SmAtr(Sorteio_fim)          ' soma dos atrasos
    
    
    
    
         Select Case LL   'id Contagem
    
         Case 1: Call Conta_Sorteadas
         Case 2: Call Conta_Ausentes
         Case 3: Call Conta_Repetidas
         Case 4: Call Conta_Atrasadas
         Case 5: Call Maior_Atraso
         Case 6: Call Maior_Repetição
         Case 7: Call ultimo_atraso
         Case 8: Call ultima_situação
         Case 9: Call Média_ponderada_total
         Case 10: Call Média_ponderada_atrasos
         Case 11: Call Média_ponderada_Repetidas
         Case 12: Call Acumulado_Total
         Case 13: Call Força_Relativa
         Case 14: Call Media_da_Saida_acumulada
         Case 15: Call Media_do_Atraso_acumulado
         Case 16: Call Dezena
         Case 17: Call Conta_total
         Case 18: Call IFRAP
         Case 19: Call IFRAP_Periodo
    
    
    
         End Select
    End Sub
    
    Sub IFRAP_Periodo()
         Dim n As Long, a As Long
    
         For C = 1 To 25
              n = 0
              a = -1
              R = 0
              r2 = 0
              For L = Sorteio_ini To Sorteio_fim Step incrSort
                   If TabAtra(L, C) > 0 Then
                        R = R + 1
                        n = n + 1
                   Else
                        r2 = r2 - 1
                        R = R + 1
                   End If
                   If TabAtra(L, C) < a Then a = TabAtra(L, C)
    
              Next
              a = 5     'Abs(a) / 2
              B = a / 2
              saida(C) = ((R * TabAtra(Sorteio_fim, C) + a) / ((n / B) ^ 2))
              d = d + saida(C)
         Next
         For C = 1 To 25
              saida(C) = saida(C) * d
         Next
    End Sub

     

    Citar

    O código dado está escrito em VBA e contém duas sub-rotinas: "Sub Contar" e "Sub IFRAP_Periodo".

    A sub-rotina "Sub Contar" recebe dois parâmetros de entrada: "LL" (que é um identificador para o tipo de contagem a ser realizada) e "L" (que é um índice para o período atual da loteria). Dependendo do valor de "L", a sub-rotina calcula os pontos de início e fim para o período de interesse e, em seguida, chama uma das várias outras sub-rotinas para realizar a contagem solicitada. As possíveis contagens incluem coisas como contar o número de vezes que cada número foi sorteado, contar o número de vezes que cada número ficou ausente, calcular a média ponderada do tempo em que cada número foi sorteado, etc.

     

    A sub-rotina "Sub IFRAP_Periodo" calcula uma medida da força da associação entre cada número e sua história passada de ser ou não ser sorteado na loteria. Ele faz isso iterando sobre cada número da loteria e, em seguida, para cada número, iterando sobre cada sorteio no período de interesse. Para cada sorteio, ele verifica se o número foi sorteado ou não e, em seguida, calcula uma pontuação com base no número de vezes que o número foi sorteado, na média do tempo que levou para ser sorteado e no desvio do sorteio atual em relação a essa média. Finalmente, ele multiplica a pontuação de cada número por um fator de escala global e retorna um array de pontuações.

     

    • Like 1
  8. reparei que os codigos gerados pelo gpt carregam varios erros simples, ela é melhor batendo papo sobre filosofia do que programando kkk

    o engraçado que ela entende exatamente o que a gente quer e faz mas os erros bobos acabam com o codigo

    acho que faz isso para nao colocarem ela para programar todo os codigos

    mas pelo menos podemos pegar exemplos de coisas que nao sabemos e ir adaptando

    • Like 2
  9. 7 horas atrás, Eolocos disse:

    e onde devemos postar tais ?

     

    acho que aqui, acabamos por "poluir"  o assunto Laplace :) 

    no caso no topico relacionado do que perguntamos,
    ou um topico só com perguntas e respostas do gpt

     

    tipo que tipo de palavras são validas em certas situações
    um exemplo é se voce pedi um programa, ela vai falar que nao é capaz de de fazer, o certo é pedir um codigo que faça aquilo que se quer na linguagem e formato especificado

    • Like 2
  10. 25 minutos atrás, Sphgf disse:

    Caso prefira seguir com a implementação da transformada inversa de Laplace na macro, você poderia começar escolhendo um método e pesquisando como implementá-lo em VBA.

    acho que implementar no vba pode ser melhor em questão de portabilidade, e ter mudanças no codigo já que nao estamos falando do uso comum da função e sim aplicada as loterias, então provavelmente o processo tenha que ser adaptado
    e a gente agora tem o gpt para nos ajudar

    Para calcular a resposta em Hertz (Hz) com base nas entradas e saídas em forma de array, você pode criar uma função no VBA do Excel. Veja abaixo um exemplo de código:

    Function Hz(inputs() As Variant, outputs() As Variant) As Double
        Dim i As Long
        Dim numerator As Double
        Dim denominator As Double
        
        ' Calcular o numerador
        For i = LBound(inputs) To UBound(inputs)
            numerator = numerator + outputs(i) * Exp(-i)
        Next i
        
        ' Calcular o denominador
        For i = LBound(inputs) To UBound(inputs)
            denominator = denominator + inputs(i) * Exp(-i)
        Next i
        
        ' Retornar o resultado em Hz
        Hz = numerator / denominator
    End Function

    essa foi a resposta para isso
    Hz = (13 + 21 * Exp(1) ^ (-1) + 29 * Exp(1) ^ (-2) + 38 * Exp(1) ^ (-3) + 44 * Exp(1) ^ (-4) + 50 * Exp(1) ^ (-5)) / (3 + 7 * Exp(1) ^ (-1) + 8 * Exp(1) ^ (-2) + 23 * Exp(1) ^ (-3) + 36 * Exp(1) ^ (-4) + 48 * Exp(1) ^ (-5))

    • Like 1
  11. 1 hora atrás, Eolocos disse:

    logo, usar um demodulador síncrono, um sistema de bobinas transmissora e receptora, pode ser um meio de ler a saúde, através do fluxo de seiva, de uma arvore ?

    cara, serio, tá aí uma explicação de um sonho que tive quanto criança e que aconteceu logo depois
    tinha um pé de goiaba aqui no quintal e eu sonhei que subia para pegar uma goiaba que tinha visto madura, e o pé caia comigo em cima e eu caia em pé com a goiabeira embaixo quase me acertando nas partes baixas , como eu sofria de sonhos conscientes eu aproveitei e fui fazer umas travessuras no meio do sonho "só nao vou falar oq foi"
    e uns dias depois eu vi uma goiaba no alto e fui pegar, e aconteceu exatamente igual ao sonho "menos a parte de aprontar as travessuras"
    o pé de goiaba estava podre perto da raiz , praticamente escondido pelo solo , apesar de estar cheio de goiaba

    isso me intrigava, mas sempre tive essa resposta de campos magnéticos , nosso cerebro trabalha com correntes eletricas , e subconscientemente meu cerebro deve ter feito toda a analise do meio e atitudes que eu tomaria, talvez o fato de eu ter caido em pé foi pelo pre calculo
    tem outras situações estranhas que talvez poderia provar que o ser humano seria capaz de se comunicar mentalmente e uma pessoa em alerta nessa parte do cerebro poderia prever certas situações por mudanças eletromagnéticas

    • Like 1
    • Confused 1
  12. eu gosto de inventar umas historias mirabolantes, o bom que nao sou chamado de mentiroso kkk
     

    Spoiler

    1.102 Exaflop/s no benchmark HPL é bom ?

    Citar

    Sim, 1.102 Exaflops/s no benchmark HPL é um desempenho excepcionalmente bom. Para ter uma ideia, em junho de 2021, o supercomputador mais rápido do mundo, o Fugaku, atingiu um desempenho máximo de 442,0 Exaflops/s no mesmo benchmark. Isso significa que o resultado que você mencionou é mais de duas vezes superior ao desempenho do supercomputador mais rápido do mundo. No entanto, é importante notar que o benchmark HPL é apenas uma medida de desempenho em um conjunto específico de tarefas, e a eficácia de um supercomputador pode variar dependendo do tipo de trabalho que está sendo executado.

    bem que achei estranho, comprei um computador que tem esse resultado nesse teste hpl mas nao roda lol

    Citar

    O desempenho em um benchmark como o HPL não é o único fator que determina se um computador é capaz de rodar um jogo como o League of Legends (LoL). Além do poder de processamento, outros fatores como placa de vídeo, memória RAM e armazenamento também são importantes para rodar jogos.

    triste agora, comprei um computador que é poderoso mas nao roda o jogo que eu quero

    Citar

    Compreendo como se sente. Infelizmente, a capacidade de processamento de um computador não é o único fator que determina se ele é capaz de rodar um determinado jogo. Outros fatores como a capacidade da placa de vídeo, a quantidade de memória RAM e as especificações mínimas do jogo também precisam ser considerados.

    mas foi muito caro, mais de 3 milhoes e nao rodar um misero jogo?

    ...


     


     

    • Like 1
  13. 4 horas atrás, Eolocos disse:

    de repente, usando as palavras corretas ( ao especificar código e mesmo termos matemáticos ) a menina acerta bem ao "criar" códigos.

    por isso seria bom a troca de informações sobre os tipos de perguntas que fazemos a ela e a resposta que ela dá
    assim aprenderíamos a fazer pedidos que gerem respostas mais completas e exatas

    • Like 2
  14. 3 horas atrás, Eolocos disse:

    to começando a pensar que a menina pensa em propriedade intelectual, códigos diferentes para cada cliente, assim, não é processada por "passar código de um cliente a outro" :) 

    não é bem isso, é que a cada momento ela gera a logica e a resposta na hora , então a analise dela pode ser diferente a cada momento, é como ter varios significados para  a mesma palavra , ou uma frase ter duplo sentido dependendo do contexto
    pode ver que para a mesma pergunta a cada vez que voce gera uma resposta ela fala algo diferente, é como se fossem varias pessoas respondendo a cada momento

    • Like 2
  15. 12 minutos atrás, luiz.antonio disse:

    Dim pandas As Object
    Set pandas = CreateObject("pandas")

    o problema é que de qualquer forma tem que ter o Python

    eu tinha pedido para ele converter para vba mas ele incliu coisas que o vba nao aceita como
    X_train = dezenas(1 To num_rows - 1, 1 To num_cols)


    aí depois consertou isso, mas tinha isso

        Set model = CreateObject("LogisticRegression")

    aí criou um modulo de classe

    eu pedi para dll em c++ por que em vba essas coisas ficam lentas

    ele fez só uma das funções e eu pedi para colocar todo processo de treinamento no dll

    ela simplesmente esqueceu oq tinha feito e fez algo nada a ver kkkkk

    o bom que a gente aprende oq é possivel e pode fazer um pedido inicial com mais detalhes

    • Like 1
  16. 34 minutos atrás, luiz.antonio disse:

    criar um código que leia o arquivo com os resultados da mega, treine um modelo de dados e tente prever com base nos dados treinados as 6 dezenas do próximo resultado

    colei no gpt e ele me forneceu isso
    Python

    import pandas as pd
    from sklearn.linear_model import LogisticRegression
    from sklearn.model_selection import train_test_split
    
    # Lê o arquivo com os resultados da Mega-Sena
    df = pd.read_csv("resultados_mega.csv")
    
    # Separa as dezenas sorteadas em cada concurso em uma lista de números
    dezenas = []
    for i in range(len(df)):
        dezenas.append([int(num) for num in df.iloc[i][2:].values])
    
    # Divide o conjunto de dados em treinamento e teste
    X_train, X_test, y_train, y_test = train_test_split(df.iloc[:, 2:], df.iloc[:, 1], test_size=0.3, random_state=42)
    
    # Treina o modelo de Regressão Logística com os dados de treinamento
    model = LogisticRegression()
    model.fit(X_train, y_train)
    
    # Realiza a previsão das 6 dezenas do próximo resultado da Mega-Sena com base no modelo treinado
    next_concurso = df.iloc[-1, 2:].values.reshape(1, -1)
    next_resultado = model.predict(next_concurso)
    print(f"Próximo resultado da Mega-Sena: {next_resultado}")

    pena nao ter como testar :(

    • Like 1
  17. 9 horas atrás, Sphgf disse:

    Ainda não tenho como saber se a resposta está correta ou não.

    o gpt sempre dá uma resposta diferente, acho que até nisso a gente tem que ter sorte kkkkk

    e colei exatamente o seu questionamento para ela e ela falou coisa bem mais simples, mas tbm pedi para transformar num codigo vba

     

    Spoiler
    Eu gostaria que você apresentasse um exemplo de transformada de Laplace Z, mas não usando seno ou trigonometria e sim usando valores tipo entrada 03 07 08 23 36 48 produziu como saída 13 21 29 38 44 50 que usado como entrada produziu 01 30 31 42 44 47 que produziu como saída 10 13 14 20 38 41 ou seja entrada produz saída que vira entrada e produz nova saída, tem como aplicar a transformada Z de Laplace como sendo tempo discreto nestas series de entrada que viram saída e produzem nova saída etc?
     
     

    A transformada Z de Laplace é uma técnica matemática usada em sinais discretos para analisar sua frequência e comportamento ao longo do tempo. É uma generalização da transformada de Laplace para sinais discretos.

    Para o exemplo que você forneceu, podemos interpretar a série de entrada como um sinal discreto que muda ao longo do tempo. Podemos aplicar a transformada Z de Laplace a essa série para obter sua representação no domínio da frequência.

    Para ilustrar, suponha que temos a seguinte série de entrada:

    03 07 08 23 36 48

    Podemos aplicar a transformada Z de Laplace a essa série da seguinte maneira:

    X(z) = 03z^0 + 07z^(-1) + 08z^(-2) + 23z^(-3) + 36z^(-4) + 48z^(-5)

    Aqui, z é uma variável complexa que representa a frequência. A função X(z) representa a série de entrada transformada no domínio da frequência.

    Podemos então aplicar uma transformada inversa de Laplace Z para obter a série de entrada original no domínio do tempo:

    x(n) = [10^n - 5(-1)^n]u(n)

    onde u(n) é a função degrau unitário e n é o índice da amostra.

    Podemos agora usar a série de entrada transformada X(z) como entrada para obter uma nova série de saída Y(z) no domínio da frequência. Podemos continuar esse processo para gerar uma sequência de entrada-saída iterativa, como sugerido em sua pergunta.

    Em resumo, a transformada Z de Laplace pode ser aplicada a sinais discretos para analisar sua frequência e comportamento ao longo do tempo. Podemos usar essa técnica para gerar uma sequência iterativa de entrada-saída transformada no domínio da frequência.

     

    Citar

    consegue transformar isso em um codigo de função VBA excel em que a entrada seja uma range passada por parametro de tamanho variavel e a saida valores separados por virgula ?

     

    Function ZTransform(inputRange As Range) As String
        Dim inputArray As Variant
        Dim outputArray() As Double
        Dim i As Integer, j As Integer
        
        'Converte o intervalo de entrada em uma matriz de valores
        inputArray = inputRange.Value
        
        'Inicializa o array de saída com zeros
        ReDim outputArray(1 To UBound(inputArray, 1))
        For i = 1 To UBound(outputArray)
            outputArray(i) = 0
        Next i
        
        'Aplica a transformada Z de Laplace para cada amostra na entrada
        For i = 1 To UBound(inputArray, 1)
            outputArray(i) = 0
            For j = 1 To i
                outputArray(i) = outputArray(i) + inputArray(j, 1) * (1 / (2 ^ (i - j))) 'formula da transformada Z de Laplace
            Next j
        Next i
        
        'Converte o array de saída em uma string separada por vírgulas
        ZTransform = Join(outputArray, ",")
    End Function

     

     

     

    • Like 1
    • Confused 1
  18. 4 minutos atrás, Omesmo disse:

    o bom é que voce pode pedir para ela transformar o que ela explicou em um codigo ou função vba para se testar na planilha para ver como se comporta

     

    bem voces vão ter que testar
    nem  conferi o codigo
     

    Function previsaoTransformadaZ(parametro As Variant) As String
        'Definir sequência de entrada
        Dim entrada(0 To 5) As Double
        entrada = parametro
        
        'Calcular transformada Z da sequência de entrada
        Dim z As Double
        Dim xz As Double
        Dim Xz As Double
        For n = 0 To 5
            z = Exp(-n * Log(2)) 'atraso de tempo discreto
            xz = entrada(n) * z ^ n 'transformada Z da amostra
            Xz = Xz + xz 'transformada Z da sequência de entrada
        Next n
        
        'Definir função de transferência
        Dim Hz As Double
        Hz = (13 + 21 * Exp(1) ^ (-1) + 29 * Exp(1) ^ (-2) + 38 * Exp(1) ^ (-3) + 44 * Exp(1) ^ (-4) + 50 * Exp(1) ^ (-5)) / (3 + 7 * Exp(1) ^ (-1) + 8 * Exp(1) ^ (-2) + 23 * Exp(1) ^ (-3) + 36 * Exp(1) ^ (-4) + 48 * Exp(1) ^ (-5))
        
        'Calcular transformada Z da sequência de saída correspondente
        Dim Yz As Double
        For n = 0 To 5
            z = Exp(-n * Log(2)) 'atraso de tempo discreto
            Yz = Yz + (entrada(n) * Hz * z ^ n) 'transformada Z da sequência de saída correspondente
        Next n
        
        'Calcular sequência de saída correspondente
        Dim yn As Double
        Dim Yn As String
        For n = 0 To 5
            yn = (Yz * Exp(n * Log(2))).Re 'sequência de saída correspondente
            Yn = Yn & yn & "," 'string com os valores separados por vírgula
        Next n
        Yn = Left(Yn, Len(Yn) - 1) 'remover a última vírgula
        
        previsaoTransformadaZ = Yn 'retornar sequência de saída correspondente como uma string
    End Function

     

     

    • Like 1
    • Confused 1
×
×
  • Create New...