EP10 - Exemplos no paca

EP10 - Exemplos no paca

por Anderson Andrei da Silva -
Número de respostas: 4

Olás!

Estou em dúvida quanto aos exemplos postados:

% java MeuSeparateChainingHashST 3 8 les-miserables.txt 
(...)
Chi^2 = 3993.75, [m-sqrt(m),m+sqrt(m)] = [4029.02, 4156.98]

Para a saído do meu programa, está tudo exatamente igual, menos o Chi^2, que ao meu ver está certo.


------Meus resultados {

Criando a SeparateChainingHashST com as palavras do arquivo 'test/les-miserables.txt' ...

Hashing com SeparateChainingHashST

ST criada em 0.939 segundos

ST contém 26764 itens

 

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

Criando a MeuSeparateChainingHashST com as palavras do arquivo 'test/les-miserables.txt' ...

Hashing com MeuSeparateChainingHashST

ST criada em 0.512 segundos

ST contém 26764 itens

Tabela hash tem 4093 listas

Maior comprimento de uma lista é 17

Fator de carga (= n/m) = 6.538968971414611

Chi^2 = 4175.58, [m-sqrt(m),m+sqrt(m)] = [4029.02, 4156.98]

--------------------------------------}

Será que o erro é meu, ou o do paca está errado?

 

O mesmo para o segundo, actors:

No paca consta um número de pares key-value diferentes do meu, e por consequência o fator de carga e Chi^2 também se diferem:


% java MeuSeparateChainingHashST 3 8 actors.list 
(...)
ST contém 1482495 itens
(...)
Fator de carga (= n/m) = 5.6553774905679814
Chi^2 = 262683.82, [m-sqrt(m),m+sqrt(m)] = [261627.00, 262651.00]

 

------Meus resultados {

Criando a SeparateChainingHashST com as palavras do arquivo 'test/actors.list' ...

Hashing com SeparateChainingHashST

ST criada em 156.051 segundos

ST contém 1486270 itens

 

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

Criando a MeuSeparateChainingHashST com as palavras do arquivo 'test/actors.list' ...

Hashing com MeuSeparateChainingHashST

ST criada em 152.56 segundos

ST contém 1486270 itens

Tabela hash tem 262139 listas

Maior comprimento de uma lista é 21

Fator de carga (= n/m) = 5.669778247418354

Chi^2 = 283419.02, [m-sqrt(m),m+sqrt(m)] = [261627.00, 262651.00]

--------------------------------------}

 

Será que o actors usado para gerar o exemplo do paca é diferente do atual disponível? Ou provavelmente o erro seja meu?

 

De mais alguém diferiu? Ou está igual ao meu? Ou diferente dos dois XD ?

Obrigado,

Até!!!

 

Em resposta à Anderson Andrei da Silva

Re: EP10 - Exemplos no paca

por Anderson Andrei da Silva -

Olás,

Quanto ao primeiro exemo, o erro era meu mesmo. Tive que usar (double)n/ (double)m para o cálculo.

Quanto ao segundo, acredito ainda que o usado para gerar o exemplo do paca é diferente, dado que o que está no site do download é bem recente (19 de Maio).

Alguém sabe se isso procede (essa diferença de versões) ?

Obrigado,

Até o/

Em resposta à Anderson Andrei da Silva

Re: EP10 - Exemplos no paca

por José Coelho de Pina -

Oi Anderson,

Muito obrigado por compartilhar os problema conosco! Legal!

Alguém sabe se isso procede (essa diferença de versões) ?

Seria legal se mais pessoas postassem os resultados.

Anderson, quando vi sua mensagem a primeira coisa que fui fazer foi olhar os castings no meu programa e eles estavam lá.
Depois fiquei esperando por mais comentários para procurar um possível erro.

A propósito, basta fazer casting uma vez.
Para que o resultado de uma operação binária seja double basta que um dos opreadores seja (acho que nisso o Java é como C, ou melhor, chupou do C).
Assim, basta escrever (double)n/m ou n/(double)m.

Em resposta à José Coelho de Pina

Re: EP10 - Exemplos no paca

por Anderson Andrei da Silva -

Olá Coelho e Gustavo,

Obrigado pela atenção!

É então, Gustavo, eu usei os arquivos de EPs anteriores de primeira, daí bateu a dúvida quanto a versão de "les-miserables", mas percebi depois que as versões eram iguais e o problema tava no meu código.

E Coelho,

"Anderson, quando vi sua mensagem a primeira coisa que fui fazer foi olhar os castings no meu programa e eles estavam lá."

Curiosamente em alguns pontos isso não fez falta, então não senti a diferença de primeira. Só com o valor do chi-sqaure. Mas depois que alterei a do chi-square sai correndo no código re-arrumando.

 

Sobre os testes, comparei com alguns colegas também, mas como não tínhamos nenhuma versão posterior do actors, não dava pra fazer um diff ou hash pra averiguar, daí preferi postar aqui.

Até \o/