Jump to content

Software Dixie.


wesleybobato

Recommended Posts

Olá Wesley,

 

Esse software foi feito por mim para estudar e gerar jogos da Lotofacil. Fiz em Delphi (Rad Studio da Embarcadero).

Não tenho fonte disponível. Mas podemos conversar se tiver interesse

 

Pergunta: você é programador? Programa em Delphi? O que pretende fazer?

 

DixieJoe.

Link to comment
Share on other sites

Oi Dixie.

 

Fiquei apenas curioso para saber como você filtra todas as combinações da lotofacil tão rápido eu vi em um post seu que você encontrou na net alguma rotina em C que gera todas combinações super rápido e você comentou que filtra muito rápido também.

 

Eu programo em várias linguagens incluindo Delphi (Object pascal) (Delphi language) você usa ponteiros em seus filtros ? 

 

Eu Desenvolvi um Curso de Loterias aonde eu ensino o usuário a criar o cologa usando padrões de projetos , orientação de objetos, processamento paralelo e etc

 

Amiguinho Desculpa lhe encomodar 

Você é DBA também ou apenas developer ?

 

Eu vou dar um dica para vocês aqui do fórum existem muitas coisas boas aqui.

Falta criar um seção para os programadores.

 

Dixie não precisa postar nenhum codi go aqui não eu vou usar ponteiros com assembler mesmo vai solucionar meus problemas de lentidao.

 

Até mais.

  • Like 1
Link to comment
Share on other sites

Guest Zangado
1 hora atrás, wesleybobato disse:

Eu vou dar um dica para vocês aqui do fórum existem muitas coisas boas aqui.

Falta criar um seção para os programadores.

faltou vc dizer como seria essa seção e qual o objetivo dela

Link to comment
Share on other sites

Amiguinho 

Existe um ditado bem assim a união faz a força.

Vocês precisam se unir no desenvolvimento de um único projeto. Mas o que eu vejo aqui é milhares de planilhas gente pedindo para fulano testar combinações para saber quantos pontos ocorreu se vocês desenvolve-sem algo em conjunto de uma forma generalizada vocês poderiam apagar 95% dos tópicos e todo mundo poderia fazer seus milhares de testes.

 

Amiguinho eu não vou mais voltar aqui tão cedo obrigado pelos comentários.

Infelizmente eu trabalho como programador profissional para áreas de processamento de imagens digitais. Quase não tenho Tempo.

Um abraço.

Link to comment
Share on other sites

wesley,

 

Não utilizo ponteiros. Hoje tenho 2 programas. Um é o Dixie25 (para a Lotofacil - nesse a parte de conferência e de filtragem é feita usando BITS - com os próprios Integers de cada conjunto). Nesse Dixie25 - que não uso mais - os filtros definidos são bons, na minha opinião. Mas a geração de jogos não é otimizada.

 

Na versão mais recente, fiz uma série de mudanças e aprendi a trabalhar com SETS. Ficou melhor para filtrar, na minha opinião. E muito melhor para a geração de jogos.

 

Se você quiser, estou às ordens para ajudar em seu curso. Até como professor. Só precisamos discutir as bases para isso.

E tenho total interesse e disposição em colaborar.

 

Falar em rotinas para loterias (meu hobby de muitos anos) usando Delphi seria unir o útil ao agradável. 

A única pergunta: como você pretende interessar usuários nesse tipo de programação especifica?

 

Hoje, para ser mais rápido do que eu faço, só usando Assembler direto. Você tem o conhecimento para ajudar com Assembler? Principalmente na rotina de filtragem. Exemplos eu tenho no Assembler. Mas não estão prontos para nossas loterias.

 

Eu tenho os fontes em Assembler que comprei há alguns anos de um programador da Sérvia. Ele consegue gerar e filtrar mais de 300.000.000 de jogos por segundo na loteria deles 7/39. Mas confesso que nunca utlizei Assembler com Delphi in-line.

 

Se aprendesse a usar Assembler, nossos programas poderiam voar...

 

Outra coisa que precisaria aprender é trabalhar com Assembler para 128 BITS (por causa da Lotomania e também da Timemania e da Quina que requerem 80 a 100 bits).

 

Caso queira, podemos montar uma parceria para gerar o curso. Entre em contato por MP, por favor, para trocarmos mais idéias.

 

 

Link to comment
Share on other sites

wesley,

 

Em tempo, não sou DBA, apenas programador curioso que aprendeu a programar para estudar loterias.

Meus softwares não são comerciais. Tenho centenas de funções e rotinas que ajudam nas tarefas necessárias.

A minha dificuldade é que, como não faço programas para vender, sempre aparecem alguns bugs que vou deixando....

 

Se quiser, podemos combinar uma maneira para você ver como faço.

Link to comment
Share on other sites

1 hora atrás, wesleybobato disse:

Oi Dixie.

 

Fiquei apenas curioso para saber como você filtra todas as combinações da lotofacil tão rápido eu vi em um post seu que você encontrou na net alguma rotina em C que gera todas combinações super rápido e você comentou que filtra muito rápido também.

 

Eu programo em várias linguagens incluindo Delphi (Object pascal) (Delphi language) você usa ponteiros em seus filtros ? 

 

Eu Desenvolvi um Curso de Loterias aonde eu ensino o usuário a criar o cologa usando padrões de projetos , orientação de objetos, processamento paralelo e etc

 

Amiguinho Desculpa lhe encomodar 

Você é DBA também ou apenas developer ?

 

Eu vou dar um dica para vocês aqui do fórum existem muitas coisas boas aqui.

Falta criar um seção para os programadores.

 

Dixie não precisa postar nenhum codi go aqui não eu vou usar ponteiros com assembler mesmo vai solucionar meus problemas de lentidao.

 

Até mais.

wesley, 

 

não tenho nenhum problema em lhe mostrar como faço meus filtros e as rotinas para filtrar, usando SETS.

Só dizer quando e como vamos conversar porque só digitando por aqui, não vai render o suficiente. 

 

Algumas coisas a gente vai descobrindo e que ajudam a dar agilidade. 

 

Não sei se considera rápido: Para gerar todas as 3.268.760 da Lotofacil e filtrar usando 10 filtros com valores "apertados" leva 1,8 segundos no meu notebook.

 

Com valores bem "abertos" (significa que vai deixar passar mais jogos)... o tempo vai para 2,5 a 5 segundos conforme a quantidade de valores em cada um dos 10 filtros no exemplo.

 

Pra mim, a velocidade é razoável e suficiente. Podemos agilizar usando Assembler, com certeza.

Edited by DixieJoe
digitação
  • Like 1
Link to comment
Share on other sites

Guest Zangado

@DixieJoe

acho que quem faz as coisas por hobby/paixão acaba definindo muito melhor as coisas do que profissionais

o hobista acaba levantando ao extremo  aquilo que ele quer , e o profissional apenas fica esperando as criticas e rejeições aleias

 

vc pelo  menos matem um bom designe de seu projeto

eu só consigo me focar nos resultados então nem para vender serviria

Link to comment
Share on other sites

Oi Dixie

 

Nossa você é muito entusiasmado com loterias. 

Como lhe disse eu trabalho, meu tempo é bastante curto.

Legal que você aprendeu SET ou melhor na linguagem de programação não se fala SET e sim enumerates.

 

Vamos de falar melhor em breve ok.

Vou te dar uma dica ao invés de usar sets que faz com que seu projeto seja estático procure trazer dinamismo para ele usando array c/ database.

 

Edcronos2.

(editado)

Loteria é igual FOCO, DEDICAÇÃO. características que muitos hobby não possuem.

 

(editado)

 

(editado)

 

Boa sorte a todos.

 

Edited by oiregor
  • Like 3
Link to comment
Share on other sites

Em 31/10/2016 at 22:08, wesleybobato disse:

Oi Dixie

 

Nossa você é muito entusiasmado com loterias. 

Como lhe disse eu trabalho, meu tempo é bastante curto.

Legal que você aprendeu SET ou melhor na linguagem de programação não se fala SET e sim enumerates.

 

Vamos de falar melhor em breve ok.

Vou te dar uma dica ao invés de usar sets que faz com que seu projeto seja estático procure trazer dinamismo para ele usando array c/ database.

 

(editado)

 

(editado)

 

(editado)

 

Boa sorte a todos.

 

Wesley,

 

 

Concordo que usar enumerates no projeto pode torná-lo estático. Mas não é esse o caso do uso de SETS, conforme aplico nos meus programas.

Por que? Defini um type com base em Sets do Delphi e assim posso utilizá-lo como qualquer outro type. Defini com valores de 0 a 100 (por conta das dezenas das loterias que, normalmente vão de 0 a 100... E um SET no Delphi aceita até 255 valores, como você sabe.

 

type
  TLottoResult = 0..100;
  TLotto = set of TLottoResult;

 

-----

 

exemplos de uso:

 

  SConjImpares          : TLotto = [ 01,03,05,07,09,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,
                                     51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99];
  SConjPares            : TLotto = [ 00,02,04,06,08,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,
                                     50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100 ];
  SConjQuadradoPerfeito : TLotto = [ 01,04,09,16,25,36,49,64,81,100 ];
  SConjTriangulares     : TLotto = [ 01,03,06,10,15,21,28,36,45,55,56,78,91 ];
  SConjMultiplas3       : TLotto = [ 03,06,09,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99 ];
  SConjDivino1LM        : TLotto = [ 02,05,07,10,13,15,18,23,26,31,36,39,44,47,52,57,60,62,65,70,73,78,81,86,91,94,99 ];
  SConjPrimos           : TLotto = [ 02,03,05,07,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97 ];
  SConjFibonacci        : TLotto = [ 01,02,03,05,08,13,21,34,55,89 ];
  SConjLucas            : TLotto = [ 02,03,04,07,11,18,29,47,76 ];
  SConjTaylor           : TLotto = [ 01,03,06,10,15,21,28,36,45,55,66,78,81,95 ];
  SConjFelizes          : TLotto = [ 01,07,10,13,19,23,28,31,32,44,49,68,70,79,82,86,91,94,97,100 ];
  SConjEspelho          : TLotto = [ 01,10,02,20,03,30,04,40,05,50,06,60,07,70,08,80,09,90,12,21,13,31,14,41,15,51,16,61,17,71,18,81,19,91,23,32,24,42,
                                     25,52,26,62,27,72,28,82,29,92,34,43,35,53,36,63,37,73,38,83,39,93,45,54,46,64,47,74,48,84,49,94 ];
  SConjDuplo            : TLotto = [ 00,11,22,33,44,55,66,77,88,99,100 ];

 

-------

 

Sets usados em arrays....

 

  arCombTemp           : array of TLotto ;  // guarda as combinações geradas
  arCombDescarte       : array of TLotto ;  // guarda as combinações descartadas pelos filtros
  arCombTempArq        : array of TLotto ;

 

        // Para Uso com Filtros... Cologa Tipo Grupo
              // com Variação Valores MIN e MAX por Linha --- Sistema Antigo

  arFiltroAtivoCologa    : array [ 1 .. 200000 ] of Boolean;
  arAnaliseCologa        : array [ 1 .. 200000 ] of Integer;
  arSInteresseCologa     : array [ 1 .. 200000 ] of TLotto;
  arSValorIntCologa      : array [ 1 .. 200000 ] of TLotto;
  arQMinCologa           : array [ 1 .. 200000 ] of Integer;
  arQMaxCologa           : array [ 1 .. 200000 ] of Integer;
  arQteCabecas           : array of Integer;

 

 

------

 

  arResultados            : array [ 1..10, 1..15000 ] of Integer; // Resultados em Integer (Bits) para todos os Itens
  arResultadosStr         : array [ 1..10, 1..15000 ] of String;  // Resultados em String para todos os Itens
  arResultadosSet         : array [ 1..10, 1..15000 ] of TLotto;  // Resultados em SET para todos os Itens
  arResultadosEspelho     : array [ 1..10, 1..15000 ] of TLotto;  // Espelho Resultados em SET para todos os Itens
  arResultadosInteger     : array [ 1..10, 1..15000, 1..20 ] of Integer; // Resultado em array de Integer

 

 

 arSequenciaisSets  : array [ 1..10, 1..5, 0..9, 0..3, 1..19, 1..99 ] of TLotto;   // grava em SETS.... Duques, Ternos, etc.
                                                  // Nivel1 1..10 = Item  1- UnDez
                          //                      2- UnUn
                          //                      3- Sistema 5
                          //                      4- Grupos4
                          //                      5- Taufic
                          //                      6- Sistema 3
                          //                      7- Sistema 2
                          //                      8- Dezenas
                          //                      9- Faixas de Linhas (2em2)
                          //                     10- DigitoDuplo
                          // Nivel2 1..5 =  0 - Juntos FR ATR AtREL, 1-Frequencia, 2-Atraso, 3-AtrasoRelativo, 4-Desempenho
                          // Nivel3 0..9 =  0 - Todos os sorteios, 1-10 últ, 2-20 últ
                          //                3 - 30 últ, 4-40 últ, 5-50, 6-100 últ, 7-200 últ, 8-1/3 sorteios, 9-1/2 sorteios
                          // Nivel4 0..3 =  0 - Todo String 1-Maior, 2-Medio e 3-Menor Valor
                          //
                          // Nivel5 2..20 = Para: 2-Duques, 3-Ternos, 4-Quadras... 20- dezenas
                          // Nivel6 1..99 = Os Valores de Duques, Ternos, Etc... até N Qte Dezenas  -  Sequenciais Gerados...
                          //                 pela Função GerarSequenciaisDNA

 

 

-----

 

uso dos sets em variáveis simples

 

ValorL, SConjunto, SResultado,  ConjAcertosDesejados : TLotto;

 

 

 

-----------

 

Dessa forma, você deve concordar que os SETS são dinâmicos. E muito práticos de se usar.

 

------------------------

 

Única coisa que não fiz (por não saber como fazer) é um componente do tipo TStringList ou TIntegerList usando SETS.

 

Seria um TSetList, rsrsrs....Não sei fazer isso, mas sinto falta de algo parecido em alguns momentos.

Sei que teria que "herdar" do TStringList e mudar algumas coisas... Mas não sei trabalhar classes e objetos...

Meu conhecimento de programação é apenas para o hobby lotérico.

 

 

 

Edited by oiregor
Link to comment
Share on other sites

Wesley,

 

Esqueci de dizer sobre minha experiência com Sets.

 

Comparando com o trabalho em BITS (em termos de velocidade), os SETS da forma que utilizo têm praticamente o mesmo desempenho.

 

Vantagem pequena a favor do trabalho com BItS. Até tentei mas desisti porque não consegui ultrapassar o limite dos 32 bits. Até cheguei a modificar muitas funções e rotinas para trabalhar com 64 bits, mas tive várias surpresas desagradáveis... E também teria dificuldade caso utilizasse computador de 32 bits...

 

O mais importante é que eu queria trabalhar com até 100 dezenas. Então precisaria de 100 bits. Achei que não valia a pena o tempo de pesquisa e o aprendizado.

 

Nas minhas buscas, demorei mais de 1 ano para entender e adaptar o conceito de SETS em todas as minhas rotinas e funções, etc...

Estou satisfeito para a maioria das funções.

 

Quando tiver tempo, quero aprender Assembler apenas para criar algumas funções IN-LINE noDelphi.

 

Basicamente, acredito que Assembler possa ajudar no tratamento de arquivos de grande porte (exemplo: comparar 3,2 milhões de linhas da Lotofacil contra outro arquivo com 1.000.000 de linhas), na geração de jogos e na filtragem (tradicional, filtragem do tipo Grupo no  Cologa, filtragem usando arquivos, Perfis, etc....).

 

Então seriam essas as funções críticas a serem feitas no Assembler para tratar loterias de qualquer tamanho.

 

Tudo o mais que fazemos para loterias pode muito bem ficar com os SETS.  Os Sets nos dão uma ótima velocidade.

Link to comment
Share on other sites

wesley,

 

Que bom que encontrou falhas no meu código. Mas veja que eu nem mostrei nenhum código ainda... rsrsrs. Só umas poucas definições de variáveis utilizadas no programa DixiePro.

 

Trabalhar com BITS, quero dizer exatamente isso: 

 

1- Criar um INTEGER e manipular os BITS internos do integer com comandos do tipo:

 

 

 

{******************************************
TheBit parameter is counted from 0..31
******************************************}


unit Bitwise;

interface

function 
IsBitSet(const val: Longint; const TheBit: Byte): Boolean;
function BitOn(const val: Longint; const TheBit: Byte): Longint;
function BitOff(const val: Longint; const TheBit: Byte): Longint;
function BitToggle(const val: Longint; const TheBit: Byte): Longint;

implementation

function 
IsBitSet(const val: Longint; const TheBit: Byte): Boolean;
begin
  
Result := (val and (1 shl TheBit)) <> 0;
end;

function BitOn(const val: Longint; const TheBit: Byte): Longint;
begin
  
Result := val or (1 shl TheBit);
end;

function BitOff(const val: Longint; const TheBit: Byte): Longint;
begin
  
Result := val and ((1 shl TheBit) xor $FFFFFFFF);
end;

function BitToggle(const val: Longint; const TheBit: Byte): Longint;
begin
  
Result := val xor (1 shl TheeBit);
end;

end.

 

A cada manipulação desejada, você cria outro Integer que representa um conjunto de N dezenas.

 

Forma mais rápida e mais inteligente de tratar os conjuntos de loterias. Mas muito dificil de usar para 100 bits...

 

Pelo menos para mim, analfabeto que sou em criar coisas uando Integers contendo 128 bits....

Edited by DixieJoe
Link to comment
Share on other sites

Wesley,

 

Este é o código que encontrei para gerar combinações de qualquer tamanho: 

 

//-------------------------------------------------------

procedure GerarNext_Colex( var x : Integer );  // Gera Todas as Combinações em Ordem Co-Lexicográfica
                                               // a partir da primeira passada inicialmente na rotina
                                               // em geral, a primeira é = 0
                                               // var x contem a primeira combinação
var
  r, z: Integer;

begin

  r := x AND ( ( NOT x ) + 1 );
  x := x + r;
  if ( x = 0 ) then Exit;
  z := x AND ( ( NOT x ) + 1 );
  z := z - r;
  while ( ( z AND 1 ) = 0 ) do z := z SHR 1;
  x := x OR ( z SHR 1 );

end;

//-------------------------------------------------------

 

-----

 

 

Curiosidade: esta rotina é super rápida. Chega a gerar mais de 80.000.000 de combinações por segundo.

 

E usa manipulação de Bits dentro dos INTEGERS. Cada bit dentro do Integer representa uma dezena.

Link to comment
Share on other sites

CRodrigues,

 

Você quer dizer no Analisador de Arquivos?

 

Se for, não tenho como aumentar, simplesmente.

É que eu perdi os fontes daquele programa quando tive que formatar meu PC antigo.

 

Mas tenho como fazer outro programa.

 

Um aviso: se for para Lotofacil apenas, OK.

 

Mas se for para qualquer loteria, como está hoje o Analisador de Arquivos, não acredito que valha a pena pelo tamanho monstro dos arquivos e pela demora disso.Imagine tratar 2000000 x 2000000.... Estamos falando de trilhões de verificações...

 

Isso só valeria a pena se tivéssemos algo concreto em que aplicar e ainda teríamos que bolar como controlar rigidamente para não estourar a memória.... Não gosto de fazer essas coisas gravando direto no disco... Demora eterna.

Primeiro faço os cálculos em memória e depois gravo.

 

A vantagem para a Lotofacil é que posso trabalhar com BITS. Mais rápido.

 

Mas tem que ter paciência... Vou fazendo nas horas vagas, que não são muitas...

Edited by DixieJoe
  • Like 3
Link to comment
Share on other sites

9 horas atrás, DixieJoe disse:

Wesley,

 

Este é o código que encontrei para gerar combinações de qualquer tamanho: 

 

//-------------------------------------------------------

procedure GerarNext_Colex( var x : Integer );  // Gera Todas as Combinações em Ordem Co-Lexicográfica
                                               // a partir da primeira passada inicialmente na rotina
                                               // em geral, a primeira é = 0
                                               // var x contem a primeira combinação
var
  r, z: Integer;

begin

  r := x AND ( ( NOT x ) + 1 );
  x := x + r;
  if ( x = 0 ) then Exit;
  z := x AND ( ( NOT x ) + 1 );
  z := z - r;
  while ( ( z AND 1 ) = 0 ) do z := z SHR 1;
  x := x OR ( z SHR 1 );

end;

//-------------------------------------------------------

 

-----

 

 

Curiosidade: esta rotina é super rápida. Chega a gerar mais de 80.000.000 de combinações por segundo.

 

E usa manipulação de Bits dentro dos INTEGERS. Cada bit dentro do Integer representa uma dezena.

 

 

7 horas atrás, DixieJoe disse:

CRodrigues,

 

Você quer dizer no Analisador de Arquivos?

 

Se for, não tenho como aumentar, simplesmente.

É que eu perdi os fontes daquele programa quando tive que formatar meu PC antigo.

 

Mas tenho como fazer outro programa.

 

Um aviso: se for para Lotofacil apenas, OK.

 

Mas se for para qualquer loteria, como está hoje o Analisador de Arquivos, não acredito que valha a pena pelo tamanho monstro dos arquivos e pela demora disso.Imagine tratar 2000000 x 2000000.... Estamos falando de trilhões de verificações...

 

Isso só valeria a pena se tivéssemos algo concreto em que aplicar e ainda teríamos que bolar como controlar rigidamente para não estourar a memória.... Não gosto de fazer essas coisas gravando direto no disco... Demora eterna.

Primeiro faço os cálculos em memória e depois gravo.

 

A vantagem para a Lotofacil é que posso trabalhar com BITS. Mais rápido.

 

Mas tem que ter paciência... Vou fazendo nas horas vagas, que não são muitas...

 

 

Olá amigo e parceiro DixieJoe,

 

Por favor me ajude a entender...

Quais foram suas experiências e opiniões sobre:

1.) Métodos de FORÇA BRUTA

2.) Técnicas ESPELHO onde se considera apenas 2 (DOIS) conjuntos

      sendo que também pode ser 1 + 1

3.) Arranjos (simples, com repetição, condicional)

4.) Permutação circular (sugerindo uma "referência circular")

 

O meu problema atualmente é que não tenho saúde e nem como, simultaneamente:

aprender, estudar, aplicar e publicar aqui os resultados, opiniões e tutoriais.

 

Tenho percebido que muitos aqui não dominam satisfatoriamente, inclusive eu,

Matrizes, fechamento, desdobramento, Matemática, ... Assim fica dificílimo !!!


Não consigo entender a insistência de muitos em LINHAS únicas de n dezenas,

isso é matematicamente insatisfatório quando se deseja resultados financeiros,

nestes casos, matematicamente temos que considerar a partir de 2 (DUAS) LINHAS.

 

Exemplo 1:

    Pegue 2 (DUAS) LINHAS com n dezenas distintas fechando n dezenas, isto chamo

    de ESPELHO, então, matematicamente, o que NÃO está dentro da primeira LINHA

    está dentro da segunda LINHA e vice-versa.

    PS: Ou também, fechando as 25 dezenas, SEMPRE que a primeira LINHA tem

           MAIS acertos a segunda LINHA tem MENOS acertos e vice-versa.

 

Exemplo 2:

"While"

    Pegue as mesmas 2 (DUAS) LINHAS do Exemplo 1 e:

    Adicione na primeira LINHA  n dezenas da segunda LINHA

    Adicione na segunda LINHA  n dezenas da primeira LINHA

    analise o resultado do fechamendo.

"Wend"

 

 

Veja apenas 2 (DOIS) exemplos provisórios de Matrizes que se consegue:

Matriz 1:

    01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
    11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

--------------------------------------------
DEZENAS FIXAS (5): 11 12 13 14 15


Matriz 25-15-9-15_f5_a0=2 (97,4669%) dois
Mínimo Teórico é  3
 

Matriz 2:

01 02 03 04 05 11 12 13 14 15 16 17 18 19 20
06 07 08 09 10 11 12 13 14 15 21 22 23 24 25
--------------------------------------------
DEZENAS FIXAS (5): 11 12 13 14 15


Matriz 25-15-9-15_f5_a0=2 (98,1%) dois
Mínimo Teórico é  3

 

 

Atualmente procuro resposta prática para a seguinte pergunta:

Será que com Métodos de FORÇA BRUTA não conseguimos

melhorar os resultados ???

 

 

Um abraço!

  • Like 1
Link to comment
Share on other sites

Olá à todos,

 

Quem tiver interesse em entender minha postagem anterior

talvez alie ESPELHO a nossa fórmula fundamental E=MC2,

cujo tópico precisamos dar prosseguimento.

 

Parabéns. pois este entendimento é corretíssimo !!!

 

 

Um abraço!

 

  • Like 2
Link to comment
Share on other sites

12 horas atrás, DixieJoe disse:

CRodrigues,

 

Você quer dizer no Analisador de Arquivos?

 

Se for, não tenho como aumentar, simplesmente.

É que eu perdi os fontes daquele programa quando tive que formatar meu PC antigo.

 

Mas tenho como fazer outro programa.

 

Um aviso: se for para Lotofacil apenas, OK.

 

Mas se for para qualquer loteria, como está hoje o Analisador de Arquivos, não acredito que valha a pena pelo tamanho monstro dos arquivos e pela demora disso.Imagine tratar 2000000 x 2000000.... Estamos falando de trilhões de verificações...

 

Isso só valeria a pena se tivéssemos algo concreto em que aplicar e ainda teríamos que bolar como controlar rigidamente para não estourar a memória.... Não gosto de fazer essas coisas gravando direto no disco... Demora eterna.

Primeiro faço os cálculos em memória e depois gravo.

 

A vantagem para a Lotofacil é que posso trabalhar com BITS. Mais rápido.

 

Mas tem que ter paciência... Vou fazendo nas horas vagas, que não são muitas...

Sim. No Analisador.

Que pena que perdeu os fontes.

 

Minha idéia é analisar um determinado arquivo "monstro", como você diz, e conforme for obtendo resposta da análise, ir reduzindo. Mas iniciar por um arquivo grande mesmo.

 

Link to comment
Share on other sites

"Você é DBA também ou apenas developer ?"

 

Também levei uma voadora com essa frasezinha ai... Mas fui DBA muito tempo e regredi por amor ao developer... estou achando que joguei fora 31 anos dos meus 44 com essa profissão... e olha que acabei fazendo matemática no meio desse tempo... "já vi matemático dba/developer mas dba/developer matemático"

 

  • Like 2
Link to comment
Share on other sites

3 horas atrás, dois disse:

 

 

 

 

Olá amigo e parceiro DixieJoe,

 

Por favor me ajude a entender...

Quais foram suas experiências e opiniões sobre:

1.) Métodos de FORÇA BRUTA

2.) Técnicas ESPELHO onde se considera apenas 2 (DOIS) conjuntos

      sendo que também pode ser 1 + 1

3.) Arranjos (simples, com repetição, condicional)

4.) Permutação circular (sugerindo uma "referência circular")

 

O meu problema atualmente é que não tenho saúde e nem como, simultaneamente:

aprender, estudar, aplicar e publicar aqui os resultados, opiniões e tutoriais.

 

Tenho percebido que muitos aqui não dominam satisfatoriamente, inclusive eu,

Matrizes, fechamento, desdobramento, Matemática, ... Assim fica dificílimo !!!


Não consigo entender a insistência de muitos em LINHAS únicas de n dezenas,

isso é matematicamente insatisfatório quando se deseja resultados financeiros,

nestes casos, matematicamente temos que considerar a partir de 2 (DUAS) LINHAS.

 

Exemplo 1:

    Pegue 2 (DUAS) LINHAS com n dezenas distintas fechando n dezenas, isto chamo

    de ESPELHO, então, matematicamente, o que NÃO está dentro da primeira LINHA

    está dentro da segunda LINHA e vice-versa.

    PS: Ou também, fechando as 25 dezenas, SEMPRE que a primeira LINHA tem

           MAIS acertos a segunda LINHA tem MENOS acertos e vice-versa.

 

Exemplo 2:

"While"

    Pegue as mesmas 2 (DUAS) LINHAS do Exemplo 1 e:

    Adicione na primeira LINHA  n dezenas da segunda LINHA

    Adicione na segunda LINHA  n dezenas da primeira LINHA

    analise o resultado do fechamendo.

"Wend"

 

 

Veja apenas 2 (DOIS) exemplos provisórios de Matrizes que se consegue:

Matriz 1:

    01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
    11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

--------------------------------------------
DEZENAS FIXAS (5): 11 12 13 14 15


Matriz 25-15-9-15_f5_a0=2 (97,4669%) dois
Mínimo Teórico é  3
 

Matriz 2:

01 02 03 04 05 11 12 13 14 15 16 17 18 19 20
06 07 08 09 10 11 12 13 14 15 21 22 23 24 25
--------------------------------------------
DEZENAS FIXAS (5): 11 12 13 14 15


Matriz 25-15-9-15_f5_a0=2 (98,1%) dois
Mínimo Teórico é  3

 

 

Atualmente procuro resposta prática para a seguinte pergunta:

Será que com Métodos de FORÇA BRUTA não conseguimos

melhorar os resultados ???

 

 

Um abraço!

Olá Dois,

 

Vamos por partes...

 

1 - método de força bruta --- eu utilizei em alguns softwares para Analisar TODAS as possibilidades contra Arquivos definidos...

Devo dizer que não cheguei a lugar algum com essas análises demoradas... A não ser gerar linhas e linhas que "foram" boas no histórico. Mas nossa meta nas loterias deveria ser olhar o futuro.

2- Então, não saberia responder de pronto se utilizar força-bruta vai melhorar. Acho que vai depender do que nós realmente queremos fazer. Ai, podemos até aplicar força-bruta. Mas só vamos confirmar se vale a pena no final

3- Gosto de suas técnicas mas não entendo direito o que quer fazer, por exemplo, aplicando força-bruta no espelho.

 

Acho até que não seja necessário força-bruta para isso.

 

De novo, estou à disposição para fazer algo, desde que tenha ajuda (com dicas do que fazer e por que fazer, etc.)

 

 

  • Like 1
Link to comment
Share on other sites

37 minutos atrás, DixieJoe disse:

Olá Dois,

 

Vamos por partes...

 

1 - método de força bruta --- eu utilizei em alguns softwares para Analisar TODAS as possibilidades contra Arquivos definidos...

Devo dizer que não cheguei a lugar algum com essas análises demoradas... A não ser gerar linhas e linhas que "foram" boas no histórico. Mas nossa meta nas loterias deveria ser olhar o futuro.

2- Então, não saberia responder de pronto se utilizar força-bruta vai melhorar. Acho que vai depender do que nós realmente queremos fazer. Ai, podemos até aplicar força-bruta. Mas só vamos confirmar se vale a pena no final

3- Gosto de suas técnicas mas não entendo direito o que quer fazer, por exemplo, aplicando força-bruta no espelho.

 

Acho até que não seja necessário força-bruta para isso.

 

De novo, estou à disposição para fazer algo, desde que tenha ajuda (com dicas do que fazer e por que fazer, etc.)

 

 

 

 

Meu amigo e parceiro DixieJoe,

 

Minha proposta é criarmos nossas próprias MATRIZES LOTÉRICAS embasadas

em conceitos matemáticos e históricos,,, SIM, eu disse históricos, tenho conseguido

resultados que considero satisfatórios e bem próximo ao matemático.

 

Aqui nos deparamos com opiniões divergentes e isto é normal, pois ambos temos

nossos métodos e técnicas e que com certeza NÃO são as mesmas !!!

 

Também é recomendado conhecer manipulação de MATRIZES
(criação, modificação, redução e adição de linhas e colunas, etc,,)
 

Por isto te passei meu skype e continuo me dispondo a trocarmos conhecimentos

e nos empenharmos no que for de comum acordo.

 

Sugiro que dê uma analisada na  [versão 1.2] LOTOFÁCIL _MATRIZES _Ferramenta Básica

e, repito o que já te disse antes: Pergunte o que quiser... Até te mostro na prática via compartilhamento de tela !!!

 

Um abraço !

Link to comment
Share on other sites

1 hora atrás, dois disse:

Minha proposta é criarmos nossas próprias MATRIZES LOTÉRICAS embasadas

em conceitos matemáticos e históricos,,, SIM, eu disse históricos, tenho conseguido

resultados que considero satisfatórios e bem próximo ao matemático.

 

 

 

Numa futura versão da planilha LOTOFÁCIL _MATRIZES _Ferramenta Básica pretendo

incluir rotinas baseadas em: 3.268.760, n concursos, ... e também no histórico.

 

Faço assim pra agilizar a resposta, que como disse antes, considero bem próximos

os resultados entre 1430 concursos e as 3.268.760 linhas de 15 dezenas. Desta

forma SE o resultado pelo histórico for satisfatório submeto a verificação de Margem

de fechamento !!!

 

Evidentemente que SE eu tiver uma ferramenta hiper-mega-ultra rápida, (tipo Assembly)

pretendo utilizar outros métodos e técnicas.

 

 

 

 

Link to comment
Share on other sites

1 hora atrás, DixieJoe disse:

1 - método de força bruta --- eu utilizei em alguns softwares para Analisar TODAS as possibilidades contra Arquivos definidos...

Devo dizer que não cheguei a lugar algum com essas análises demoradas... A não ser gerar linhas e linhas que "foram" boas no histórico. Mas nossa meta nas loterias deveria ser olhar o futuro.

2- Então, não saberia responder de pronto se utilizar força-bruta vai melhorar. Acho que vai depender do que nós realmente queremos fazer. Ai, podemos até aplicar força-bruta. Mas só vamos confirmar se vale a pena no final

 

1.) Por isso as rotinas serão processadas via ARRAY e só vai gravar SE retornar verdadeiro a condição

     previamente definida pelo usuário.

 

2.) Pra isto precisamos trocar conhecimentos e definirmos de comum acordo.

Link to comment
Share on other sites

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...