[Cascavel-pm] algoritmo (ou deveria dizer "EP"?)

Luís Fernando lemon em grad.icmc.usp.br
Quarta Junho 23 10:29:08 CDT 2004


Valeu, Alex. Vou dar uma olhada.

Luis Campos: acho que o problema original é mais complicado do que o
que eu falei :P
mas vamos lá

estou fazendo um programa que pega "entradas" (samples) de 2s de som
a cada 10s
e vai salvando em arquivos separados:
sample20040623122330.raw (23/06/2004 às 12:23:30)
sample20040623122340.raw (23/06/2004 às 12:23:40)
(.raw é como se fosse um .wav, mas sem headers)

o tamanho de cada arquivo é o mesmo (porque não há nenhum tipo de
compressão... 2s são sempre o mesmo tamanho de arquivo).

O problema é que não quero que esses arquivos somem mais de 200 MBs
(lembrando que o tamanho de cada é fixo, basta saber quantos arquivos
cabem).
Se isso acontecer, quero que comece a ficar "um sample sim outro não"
de forma que hmmm... os intervalos entre todos samples seja pequeno.
Quero dessa forma pois é melhor ter uma pequena idéia de como estava o som às
entre às 12:10h e 12:20h (supondo que tenha sobrado só um sample) do
que não saber nada sobre esse horário e saber "tudo" sobre o "final do
sample".

Fui mais claro?

/*

+---------------------------------+
| Luís Fernando Estrozi           |
+---------------------------------+
| Ciência da Computação - USP     |
|                                 |
| mailto:lemon em grad.icmc.usp.br   |
| ICQ#: 25541891                  |
|                                 |
| http://grad.icmc.usp.br/~lemon/ |
+---------------------------------+

There are 10 types of people in the world: Those who understand binary, and those who don't

*/ EOF

|---> Original Message <---> 23/6/2004, 11:04 <---|
Luís Fernando wrote:
> Digamos que a diferença entre o que eu desejo e o que o que você citou
> é exatamente a "aleatoriedade".
> 
> Para simplificar:
> Se cabe 10 elementos e eu mando inserir 10 (1..10), é para ficar:
> 1 2 3 4 5 6 7 8 9 10
> 
> Se cabe 10 elementos e eu mando inserir 20 (1..20):
> 1 3 5 7 9 11 13 15 17 19
> 
> Se cabe 10 elementos e eu mando inserir 40 (1..40):
> 1 5 9 13 17 21 25 29 33 37
> 
> Entendeu?
> 

   Hum. Na verdade, você não está sendo claro o suficiente para alguém 
entender.

   Seu algorítmo calcula um slice de árvore binária, não-balanceada, 
destrutivamente, como forma de classificar (ou priorizar) os elementos e 
condensar o espaço utilizado para a amostra de uma maneira racional.

   Eu acredito que seus algorítmos não poderão ter O(1), já que toda 
inserção não-balanceada em árvore binária é maior que isso (D. Knuth, 
"The Art of Computer Programming", v1, se eu me lembro bem).

   Você poderia assumir o custo de construção, e olhar seus dados como 
uma árvore binária não-balanceada, pagando o custo de alocação de 
memória necessário para a construção da estrutura toda. Depois que a 
coleta de informações terminar, você poderia balancear a árvore e 
finalmente escolher o "slice" que mais se adequa ao espaço disponível.

   IMHO, esta solução produzirá resultados mais balanceados, e a 
inferência para a população será aproximadamente normal, com erro 
quadrático...

   Claro, se isso não violar nenhuma regra do Exercício Programa que 
você está tentando resolver... ;-)

   Ah! Alex Falcão, acho que isso é a "utilidade prática" que você está 
procurando para o programa... :-)

   Que tal você postar o problema inteiro para a gente dar uma espiada?

   Pode ser que apareça alguma idéia interessante para você implementar 
esta coisa mais rapidamente... :-) Sinceramente, eu recomendo que você 
vá atrás dos livros do Mestre Knuth, você não vai se arrepender...

   Putamplexos.
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is BSc in Comp Science,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em mail.pm.org
http://cascavel.pm.org/mailman/listinfo/cascavel-pm




Mais detalhes sobre a lista de discussão Cascavel-pm