2011-04-29 19 views
5

En el contexto de la realización de un proyecto, necesito encontrar las secuencias k-longevas en PHP. Hay muchas formas de implementar esto, pero ¿qué algoritmo es el más rápido para PHP?¿Encontrar las secuencias k-más largas en una matriz unidimensional?

¿Qué algoritmo implementarías? (información general)

¿Cuál es más eficiente y dinámico (números, cadenas, etc.)? (¿rápido ?, ¿tiempo para n-elems?)

¿Cómo lo implementarías? (ejemplo)

¡Gracias!


Post Data

estoy a punto de implementar el algoritmo de k-más cercana neightbour Onisi. Las secuencias más largas se visualizan en este esquema. The interaction history since t and the immediate history. Este shematic ofrece una breve descripción del algoritmo ONISI. enter image description here

Los elementos de historia total/inmediata son cadenas que representan un patrón de acción $ state -> $. Esto significa que, teniendo en cuenta los primeros 3 elementos del esquema (1), se mostrarán los datos, por ejemplo, como: $immediate_history = array(array("s2" => "a2"), array("s3" => "a3"), array("s1" => "a1") [..]);

¿Alguna pregunta sobre la problemática?

¡Salud!

+2

¿Qué has intentado hasta ahora? Además, no puede representar todo el esquema (1) con una matriz de PHP en la forma en que la ha presentado, porque las claves de matriz de PHP tienen que ser únicas. Hacerlo como una secuencia de sub-arrays sería una alternativa, por ejemplo: 'array (array (" s2 "=>" a2 "), array (" s3 "=>" a3 "), array (" s1 "=> "a1"), ...) ' –

+0

La representación no es tan importante como el algoritmo para el análisis de la matriz para encontrar la secuencia k-más larga, por supuesto, podría representarse así, pero casi cualquier representación puede ser implementado en un algoritmo estandarizado. Cambié mi ejemplo después de tu alternativa. Ya he estado experimentando con Tries, pero parecía inadecuado para el caso real. –

+1

Pruebe este: http: // codegolf.stackexchange.com/ –

Respuesta

1

¿Qué algoritmo implementarías? (visión general)

KNN es un caso especial de un variable-bandwidth, kernel density "balloon" estimator con un núcleo uniforme

cuál es la más eficientes y dinámicos (números, cadenas, etc.)? (¿rápido ?, ¿tiempo para n-elems?)

Depende de su estructura de datos. Una matriz es infinitamente más lenta. Pero el uso de una estructura mejor y avanzada acelerará las cosas.

¿Cómo lo implementarías? (ejemplo)

Dudo mucho que alguien le de aquí porque el programa no es pequeño. Tienes que hacer esto por tu cuenta.

Cuestiones relacionadas