Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Question Forma eficiente de manejar arrays de 10'000.000 cuadrados

Tengo,o mejor dicho, quiero manejar un algoritmo llamado SVD (singular value decomposition),al cual le necesito descargar una cantidad de tranquilamente 10' o mas millones de columnas por otros 10' o mas millones de filas. No estoy bromeando.

El codigo que he visto carga todo en memoria y euna chiquita de 10.000 por 10.000 se arrastra 500 MB de RAM, o sea,no me sirve.

Es para el buscador de MUTIS, generar cluster.

Estaba pensando en usar firebird con tablas pero no se si hay una mejor manera, obviamente que implique almacenaje porque en memoria es imposible.

Solo necesito almacenar decimales, nada mas.

La matriz es para operaciones de matrices (matematicas) que implica sumar, multiplicar, cosenos y demas...
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 15-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Si los datos a almacenar fueran bytes 10^14 son mas 90 TB de información, aun usando el almacenamiento en disco el volumen de datos es considerable. Espero que alguien te ayude, el problema parece interesante y me gustaría saber como solucionarlo

Última edición por seoane fecha: 15-09-2006 a las 19:00:18.
Responder Con Cita
  #3  
Antiguo 15-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Seoane sabe más que yo del tema y ha dado los datos precisos, pero, lo primero que me ha pasado por la cabeza ha sido eso: son tantos datos que, estén donde estén, ocuparán no poco... en memoria o donde sea...

Creo que habría que especificar un poco más. ¿Se trata de datos que van a estarse quietecitos? ¿Hay que "moverlos"? ¿Cada cuánto tiempo? En fin... voy a parar aquí y dejar a los expertos, no sea que meta la pata...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 15-09-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo que quiero al final es un sistema que genere clustering automatico, como en www.clusty.com (denle una busqueda)

Uno de los algoritmos mas prometedores es:

http://www.knowledgesearch.org/lsi/lsa_explanation.htm

Miren la explicacion.....

La trampa es que se hace una matriz de palabras VS documentos y se pone un valor que puede ser el numero de veces que aparece o un dato que lo da MUTIS.

Sobre ese valor, se corre SVD, que da una matriz lista. Sobre ella se corre la busqueda de palabra y luego se saca un top 10 de cluster.

Porque tan grande?

MUTIS es el fundamento de un buscador para LAN. Mi meta es poder indexar hasta 50 computadores con sus archivos, base de datos, correos, todo eso.

Supongamos que hay 50.000 archivos con informacion de texto x 50 computadores eso da unos 2'500.000 de documentos y que cada documento tenga unas 50 palabras (despues de quitarles las stop words y reducir los fonemas) 50*50.000*50 = 12'500.000.

Es muy bravo, lo se. El problema es que llevo como mas de 1 año buscando como hacer esto... pero todo el codigo que consigo es de cientificos que a) No se entiende b) Es absurdamente ineficiente, cuando se entiende... c) Otros frameworks me salen en Java que son muy monstruosos o de soluciones que no me convencen.

Hay un tipo frances que me remitio una tipa de MS del grupo de research del motor de busqueda de MS que dice tiene una solucion escalable y me mando algo de codigo en C y Perl, pero todavia no le veo como es que funciona...

En fin, la solucion ideal es un algoritmo que genere clusters, automaticos. O algo que me permita moler esa informacion...
__________________
El malabarista.
Responder Con Cita
  #5  
Antiguo 15-09-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Adicionalmente tengo la sensacion que hay una via mas simple... despues de leer sobre SVD y sus variantes, k-means y bayesian, pero carezco de la habilidad matematica para llegar a algo... es como una piquiña en la punta de la lengua pero no logro visualizar la solucion...
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 15-09-2006
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
has revisado el algoritmo de Huffman creo te podria ayudar bastante
__________________
self.free;
Responder Con Cita
  #7  
Antiguo 15-09-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No veo como.

La "magia" de SVD es que autodescubre las asociaciones entre las palabras... leiste el articulo?

O si piensas que si aplica, como?
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
arrays nenufer Varios 7 13-05-2006 21:44:51
¿Cómo Modificar un Registro de Tabla más Eficiente? MartinC MySQL 1 16-03-2005 14:04:31
¿ Qué tan eficiente es Delphi? MARVIALI Conexión con bases de datos 1 07-12-2004 18:35:52
¿q es màs eficiente? TURING Varios 2 12-05-2004 07:11:44
Que es más eficiente, un procedimiento almacenado o un select de una vista Carlitos Firebird e Interbase 7 27-10-2003 11:12:09


La franja horaria es GMT +2. Ahora son las 17:34:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi