ProAuti:Reducciones usando Clustering y Diagramas de Voronoi

Algoritmos, fórmulas, estadísticas...
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Mensaje por cositomayor »

Krematorio.

No estoy seguro que puede estar pasando, por favor dime que parametros estas usando

Clusters
Puntos
Ciclos

Y vemos de que se trata

Te digo que se me hace raro ya que yo lo he estado usando durante semanas y no me ha ddo ninugun problema.

Exito
CM
Avatar de Usuario
krematorio
11
11
Mensajes: 779
Registrado: Jue 31 Mar, 2005 9:43 am
Ubicación: SEVILLA

Mensaje por krematorio »

me sale con distintos valores por ej 10 100 1000 en excel 2003, ahora estoy probando en el 2007 y parece que no me da ese error asi que puede ser por la version, no lo se.
tengo alguna pregunta que me gustaria hacerte, el numero que sale despues de las col cubiertas por cada cluster es algo asi como la distancia media a estas? como se puede saber mas o menos de que reduccion estariamos hablando con ese numero, es decir si iriamos mas o menos a 10,11,12 ó 13 ?
y una ultima cosa si se esta ejecutando, se puede parar la ejecucion sin cerrar el excel?

muchas gracias por el programa, me parece muy interesante el metodo de reduccion.

otra cosa que se me olvidaba, supongo que no tiene mucho sentido aplicar este tipo de reduccion en una combinacion al directo porque ahi las apuestas estan distribuidas uniformemente, no es asi?
aguado80
10
10
Mensajes: 1
Registrado: Dom 11 Oct, 2009 5:27 am

proauti sirve para el melate ?

Mensaje por aguado80 »

hola

Soy nuevo en esto, el progrmana de proauti sirve para el melate y revancha? o para que sorteos esta dirigido? gracias por tu ayuda :shock: :shock:
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Mensaje por cositomayor »

Estimad Aguado:

ProAuti no sirve para melate ni revancha

Exito

CM
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Refinamiento por algoritmos geneticos

Mensaje por cositomayor »

Amigos todos:

Esta navidad santa Claus (papa Noel) me trajo muchos libros de regalo y entre ellos estaba uno llamado "Classification and learning using genetic Algorithms" Clasificacion y aprendizaje usando algoritmos geneticos y encontre una forma de refinar y mejorar mi sistema de clustering mediante K - medias y ahora le agregue un algoritmo de optimzacion para mejorar los centros de los racimos.

En este momento es muy basico pero ya es funcional, tan pronto como tenga tiempo programare el algoritmo completo y espero lograr un mejor juego de columnas.

Originalemente pense que el algoritmo final de refinamiento seria Cross entropy o el algoritmo de expectacion - maximizacion, pero encontre este algoritmo que aparentemente rivaliza en desempeño con los anteriores.

Los tendre al tanto de los avances

Exito

CM
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Cooperacion y Competencia

Mensaje por cositomayor »

Amigos todos:

Como ya comente en otro hilo estuve ausente terminando la Maestría en Educación y para esto desarrolle una simulación en STARLOGO y también utilice algo de LISP.

Fue muy interesante hacer uso de herramientas que aprendí en las quinielas aplicadas a las ciencias sociales.

En fin, he seguido leyendo este foro y en mis lecturas y con acceso a otro tipo de ideas, estudiando temas sociales y de educación me saltaron a la cabeza ciertas relaciones de temas quinielísticos que de otra forma no hubieran sido aparentes y se me ocurrió una forma de mejorar mi sistema PROAUTI.

Empecé a estudiar hace tiempo el equilibrio de Nash y quede fascinado con el concepto e inclusive compre varios libros acerca de teoría de juego y programación lineal.

Tenemos primero los conceptos de Competencia y cooperación; la competencia es un término que aplico Adam Smith; padre de la economía moderna; y que se puede resumir en la frase “En competencia, la ambición individual sirve al bien común” es decir que cada quien luche para sí mismo.

Por otro lado tenemos la cooperación, para ejemplificar este concepto me gusta mucho la frase del Sr. Spock de STAR TREK “Las necesidades de muchos anteceden a las necesidades de pocos e inclusive a la de uno mismo”.

Ahora voy a extrapolar estos conceptos a las quinielas y al conjunto de columnas con las cuales vamos a competir.

Cuando nosotros usamos reducciones o que estamos usando es un sistema basado en COOPERACION, esto quiere decir que las columnas cumplen con un objetivo común y el conjunto de reducidas lo que busca es cuidar el bien común sin pensar en el bien de cada individuo o columna particular, para aclarar este concepto imaginen que tenemos 7 dobles (1X) y los reducimos al 13; eventualmente tendríamos la columna XXXXXXX, es decir 7 empates como una de las columnas reductoras y la probabilidad de que esta columna ocurra es sumamente baja pero la tenemos ya que ayuda a cubrir una zona, ayuda a un objetivo común aun y cuando esta columna especifica como individuo no tenga ninguna oportunidad de ganar.

Por otro lado tenemos la COMPETENCIA, calculamos mediante un sistema específico y le asignamos una fortaleza a cada columna y elegimos aquellas que mejor cumplan con dicha función pero en ningún momento tomamos en cuenta su relación con las demás columnas, es decir podemos fácilmente incluir dos columnas muy buenas aunque estén digamos a una distancia de 2 una de otra. Cada quien pelea para sin tomar en cuenta el bien común.

LO que propongo es lo siguiente:

Calculemos ;por ejemplo; cuales son las 100,000 columnas mejores (COMPETENCIA PURA) dada una función de fortaleza y PROAUTI en vez de calcular como ocupar mejor un espacio mediante clustering con columnas generadas aleatoriamente (COOPERACION PURA) tratara de cubrir el espacio centrandose usando algunas de estas 100 mil columnas.

Lo que se querría al final es digamos las 1000 columnas que a la vez sean las mejores individualmente y en conjunto cubran el espacio lo más eficientemente posible. (Equilibrio de Nash)

Para hacer esto debo reprogramar PROAUTI con un optimizador Multiobjetivo basado en el Optimo de Pareto, el cual es basicamente intenta encontrar el punto en el cual ya no es posible mejorar un parametro sin empeorar algun otro, de este modo debemos correr la optimizacion logrando que el equilibrio de Pareto entre la COOPERACION y LA COMPETENCIA de las columnas.

Esto me va allevar algun tiempo y mantendre una bitacora de los avances aqui en el foro.

Exito
pepito3333
10
10
Mensajes: 36
Registrado: Vie 26 Mar, 2010 10:22 am

como conseguir proauti

Mensaje por pepito3333 »

Hola no puedoi descargar el programa de cositomayor proauti, alguien sabe el enlace, gracias de antemano.......
tauroo
10
10
Mensajes: 42
Registrado: Mar 01 Dic, 2009 3:34 am

Proauti

Mensaje por tauroo »

Alguien podría darme el enlace para descargar el programa es que me ha parecido muy interesante, pero cuando he pinchado el enlace para descargarlo me pone "no such file"
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

ProAuti 3.0 BETA

Mensaje por cositomayor »

Amigos todos:

Este fin de semana termikne de programar el primer BETA de Proauti 3.0 basado en lo que ya henmos comentado y los conceptos de Competencia y Cooperacion.

Recuerden que este sistema es para presupuestos pequeños. Aunque se podria estrapolar para algo mas grande, es solo cuestion de capacidad computacional

Competencia en este contexto significa que calcule cuales sop las mejores columnas que hay, algo asi como calcular basados en rentabilidad y probabilidad, en mi caso calcule aquellas colujmasn que serian acertantes unicos, pero por poco, es decir aquellas que cuando ganen solo tengan calculado mas o menos 1 acerrtante.

Basado en este y otros criterios escogi 5000 columnas, de etas solo voy a escoger digamos 100 para jugar, El sistema de competencia es el algoritmo por el cual compiten las columnas por ser de las 5000 afortunadas.

El segundo paso es basado en una ZONA de probabilidad, es decir aleatoriamente genero digamos 50,000 columas usando un sistema de probabilidades "Reales" , aqui es donde podemos usar cualquier programa reductor y hacer un desarrollo del tamnaño que se desee y a este conjunto de columnas llamaremos ZONA y pasaremos a reducurlos, aqui el chiste es que las columnas reductoras solo pueden ser algunas las 5,000 qu escogimos previamente.

Originalmente usaba el algoritmo de k-Means, pero escogi mejor usar algun otro algoritmo de optimizacion como algoritmos geneticos, recocido simulado, enjambre, tabu, hormigas etc y al final escogi Busqueda de la armonia, por ser mucho mas facil de programar para matrices.

Lo que ProAuti 3.0 hace es escoger las 100 columnas de entre las 5000 que calculamos son las mejores basados en una funcion de fortaleza dada y estas 100 columnas reducen lo mejor posible a las 50,000 generadas usando las probabilidades reales.

LA optimizacion ser minimizando la siguente ecuacion


j= ΣjΣk u(Rj-Ck)^2

LA sumatoria de 1 hasta el numero de columnas (50000) de la sumatoria desde 1 hasta el numero de clusters (100) de el cuadrado de la distancia de la columna reductora a la reducida, u es un valor que es 1 o Cero, 1 es si la columna pertenece a un custer especifico, ya que cada una de las 50000 solo pude pertenecer a un solo cluster.

Esta semana jugamos 100 columans en Mexico y tuvimos un 11 y 2 10s, veremos como se conporta en las siguientes semanas.

Exito

CM
Avatar de Usuario
msadk2
15
15
Mensajes: 20213
Registrado: Sab 22 Oct, 2005 11:20 am

Mensaje por msadk2 »

La teórica, aunque no la domino, la entiendo, pero la práctica.... :mmm:

Quizá no debería tocar lo que no sé, je,je.

Me he descargado los 2 archivos, en excel, aparentemente iguales, he abierto cada uno de ellos y veo interiormente, 4 hojas en el libro que contienen datos, pero no veo ninguna fórmula, sólo un boton que pone CLUSTERING y que me indica que me descargue otra versión cuando la pulso.

Cómo se meten los datos? dónde etc....

Lo que yo digo.... seré muy torpe.... :bonk:
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Nuevo link

Mensaje por cositomayor »

Aqui esta un link con el Proauti sin candados

http://rapidshare.com/files/388502083/P ... 1.xls.html

Exito

CM
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

ProAuti 3.0 y el futuro Proauti 4.0

Mensaje por cositomayor »

Amios todos:

Aqui les va algo del avance de Proauti, aunque esta en fase beta quiero compartir su funcionamiento. y cual es el futuro.

Creo que la forma en que reducimos o por difeencias puede ser mas eficiente porque nuestros metodos aseguran que se cumplan las reducciones y que se cubra el espacio a reducir exahustivamente, el area de oportunidad que yo veo es (especialmente para bajos presupuestos) que algunas de las columnas reductoras son malisimas en terminos de rentabilidad o probabilidad ya que no hay en nuestros algoritmos ningun mecanismo que valore o pendere la calidad de cada columna.

Es decir donde haya un sistema multiobjetivo

1. El conjunto final debera reducir o cubrir por distancias un espacio quinielistico.

2 Cada columna debera ser lo mas cercano a -14.75

Este tipo de sistemas puede generar no solo una solucion sino multiples soluciones igual de eficientes conocidas como OPTIMOS DE PARETO

Lo que hace Proauti 3 es muy burdo pero ya estoy programando la siguiente generacion.

Proauti 3 lo que hace es que tiene una base de datos de las "Mejores columnas" digamos que tomamos las 1000 columnas mas cercanas al -14.75 y tenemos un conjunto de 50,000 de columnas para reducir (ejemplo) entonces ProAuti selecciona las 100 columnas que mejor cubran por diferencias a estas 50,000.

Lo que hace es cubrir por diferencias mediante el algoritmo K Medias y despues refino usando el algoritmo de Busqueda de la harmonia.

ProAuti 4.0 funcionara ligeramente diferente Pero uso una funcion de fortaleza multiobjetico es decir no hay base de datos de columnas reductoras, lo que hara es que calcula aquel grupo de columnas reductoras que cubran mejor el espacio y al mismo tiempo que cada una de ellas sea columnas de buena calidad.

Asi como lo veo hay dos grandes formas de hacerlo.

La primer opcion es hacerlo similar a como lo hemos hecho siempre, solo que multiples veces, s decir imaginemos que usamos un algoritmo parecio al cristalizador de JoanD o Proauti pero la funcion de fortaleza nos dara como resultado un conjunto que en cierta medida cumple con la funcion a optimizar, el punto es que hay muchas soluciones posibles por lo que hay que correr el algoritmo varias veces con el fin de tener varios subconjuntos los cuales por experiencia propia son diferentes y cubren casi igual el espocio, habra que encontrar alguna funcion de coste para una seleccion posterior.

La segunda que se me hace muy interesante es usar algun algoritmo basado en agentes, es decir cada columna es un agente (Tortugas) y cumple con un juego de reglas y compite en una simulacion, sugiero que vean el lenguaje Logo , especialmente starlogo o netlogo, me inclino mas por Netlogo porque puede manejar archivos texto como base de datos

http://ccl.northwestern.edu/netlogo/

En la primera opcion cada Hormiga o Gen es un grupo de columnas, en la segunda opcion cada columna es un agente.

Por simplicidad de programacion usare la primer opcion asi como el algoritmo Busqueda de la armonia ya que es muy facil de programar y usa muchas matrices, por lo que es ideal para usar excel VBA o MAtlab para los prototipos rapidos.

Me gusta mucho la idea de un sistema descentralizado pero me llevaria mucho mas desarrollarlo porque mi conocimiento actual de Logo es basico.

Seguire reportando avances

Exito

CM
Avatar de Usuario
srv78
15
15
Mensajes: 10854
Registrado: Lun 29 Ene, 2007 5:38 pm

Re: Nuevo link

Mensaje por srv78 »

cositomayor escribió:Aqui esta un link con el Proauti sin candados

http://rapidshare.com/files/388502083/P ... 1.xls.html

Exito

CM
Ese enlace tampoco funciona!! :(
BEPAI
10
10
Mensajes: 173
Registrado: Lun 01 Ene, 2007 5:17 pm
Ubicación: SALAMANCA

Re: ProAuti:Reducciones usando Clustering y Diagramas de Vor

Mensaje por BEPAI »

Aparte de esas Hipermatemáticas que utilizáis, que yo no entiendo ninguna,.......................................que porcentaje de recuperación sacáis más del 150%???????

saludos maestros.
[b]Nada, que no se puede con esto de los juegos
..................................................................[/b]
CLAVE
10
10
Mensajes: 25
Registrado: Lun 03 Mar, 2008 9:02 pm

Re: ProAuti:Reducciones usando Clustering y Diagramas de Vor

Mensaje por CLAVE »

Hola:

En primer lugar el tema parece muy interesante, como novato comprendo el Coeficiente de Gini y la distribución territorial o geométrica de datos en un área determinada. Puede que guarde relación con el método o test de Grimson parte de dividir el escenario de estudio en pequeñas celdas. Las celdas pueden ser áreas, cuando se analizan mapas, períodos de tiempo, cuando se analizan fechas o regiones tridimensionales, cuando se analizan interacciones espacio temporales. Aquella celda, cuya cantidad de casos exceda el valor esperado de una distribución de Poisson o un umbral determinado a priori por un especialista, recibe la categoría de marcada. La hipótesis nula del método se describe en términos de la aleatoriedad de la distribución de las celdas marcadas entre todas las consideradas. La hipótesis alternativa enuncia que existe un gran número de celdas marcadas adyacentes. Dos celdas son adyacentes si ambas comparten uno de sus bordes.

Puedes volver a poner el link de descarga.

Saludos
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Distancia de Mahalanobis y Matlab

Mensaje por cositomayor »

Amigos todos:

Habia estado apagado pero ya empece a programar otra vez anduve ocupado terminando la maestria http://estrategiaycomandogerencial.blog ... culos.html y terminando de escribir un libro acerca de los 7 desperdicios de la manufactura http://estrategiaycomandogerencial.blog ... -tere.html

Decidi continuar ProAuti 4.0 y quiero llevarlo al siguiente nivel y decidi dos cosas:

Utilizar la Distancia Mahalanobis para los clusters
http://people.revoledu.com/kardi/tutori ... tance.html

Y decidi programarlos en Matlab en el paquete de Algoritmos Geneticos
http://www.scribd.com/doc/31235552/Gene ... ing-Matlab

Ya empece con algunos prototipos pero aun debo estudiar mas el paquete de AG de Matlab, tengo que aprender a pensar el Matrices, pero se ve muy eficiente en su funcionamiento.

La ventaja es que cuando lo termine podre exportarlo a donde sea ya que tiene un Compilador (exe, dll etc)

Ya volvimos y vamos a divertirm¡nos de nuevo, es bueno regresar a donde estan los amigos

Seguimos en contacto

CM
chestpoint
11
11
Mensajes: 827
Registrado: Sab 29 Ago, 2009 2:33 am

Re: ProAuti:Reducciones usando Clustering y Diagramas de Vor

Mensaje por chestpoint »

CLAVE escribió:Hola:

En primer lugar el tema parece muy interesante, como novato comprendo el Coeficiente de Gini y la distribución territorial o geométrica de datos en un área determinada. Puede que guarde relación con el método o test de Grimson parte de dividir el escenario de estudio en pequeñas celdas. Las celdas pueden ser áreas, cuando se analizan mapas, períodos de tiempo, cuando se analizan fechas o regiones tridimensionales, cuando se analizan interacciones espacio temporales. Aquella celda, cuya cantidad de casos exceda el valor esperado de una distribución de Poisson o un umbral determinado a priori por un especialista, recibe la categoría de marcada. La hipótesis nula del método se describe en términos de la aleatoriedad de la distribución de las celdas marcadas entre todas las consideradas. La hipótesis alternativa enuncia que existe un gran número de celdas marcadas adyacentes. Dos celdas son adyacentes si ambas comparten uno de sus bordes.

Puedes volver a poner el link de descarga.

Saludos
Hola ¡¡¡, no sé si algún día te "sacarás la quiniela" con tus ideas... pero desde luego es uno de los pocos mensajes que he leído que me suena todo a " chino "... estoy " confundido " :-D ...

Saludos ¡¡¡
CLAVE
10
10
Mensajes: 25
Registrado: Lun 03 Mar, 2008 9:02 pm

Re: ProAuti:Reducciones usando Clustering y Diagramas de Vor

Mensaje por CLAVE »

Aclaración:

El test de Grimson parte de dividir el tiempo a estudiar en intervalos más pequeños denominados celdas.
Por lo general las celdas se forman por períodos regulares de tiempo: meses, semanas, días, etc. Las
celdas, cuya cantidad de casos excede el valor esperado de una distribución de Poisson, se denominan
celdas marcadas y la hipótesis nula del método se describe en términos de la aleatoriedad de la distribución
de las celdas marcadas en todo el período de tiempo considerado. La hipótesis alternativa enuncia que existe
un gran número de celdas marcadas adyacentes.
chestpoint
11
11
Mensajes: 827
Registrado: Sab 29 Ago, 2009 2:33 am

Re: ProAuti:Reducciones usando Clustering y Diagramas de Vor

Mensaje por chestpoint »

CLAVE escribió:Aclaración:

El test de Grimson parte de dividir el tiempo a estudiar en intervalos más pequeños denominados celdas.
Por lo general las celdas se forman por períodos regulares de tiempo: meses, semanas, días, etc. Las
celdas, cuya cantidad de casos excede el valor esperado de una distribución de Poisson, se denominan
celdas marcadas y la hipótesis nula del método se describe en términos de la aleatoriedad de la distribución
de las celdas marcadas en todo el período de tiempo considerado. La hipótesis alternativa enuncia que existe
un gran número de celdas marcadas adyacentes.
AL FIN ¡¡¡ Lo he entendido perfectamente... : :brutal:
Avatar de Usuario
cositomayor
10
10
Mensajes: 261
Registrado: Lun 27 Feb, 2006 7:43 pm

Aprendiendo MATLAB y su modulo de Algoritmos Geneticos

Mensaje por cositomayor »

Amigos odos:

Como comentabamos anteriormente estoy investigando como implementar el concepto de ProAuti en MATLAB y aqui les expongo mis primeras practicas, son muy basicas pero esta es la mejor forma de aprender.

Desarrolle un a funcion para evaluarla donde se requieran 4 variables simultaneas que requerimos encontar.

Use la siguiente funcion conocida como Primera funcion de prueba de De Jong

z = x(1)^2 + x(2)^2 + x(3)^2 + x(4)^2;

donde al evaluarla se encuentra su minimo en (0,0,0,0)

Le doy valores iniciales de entre -512 y 512 y utilice para empezar la AYUDA de GATOOL que es el modulo de MATLAB para usar Algoritmos geneticos.

Imagen

Cada variable sera una columna reductora

Vemos como los resultados fueron:

Los pasos a seguir para aprender y programar ProAuti en Matlab son:

1 Programa basico de una funcion y optimizacion GA (Listo)
2 Funcion Basica pero ahora programando en Matlab sin usar la AYUDA
3 Diseñar una funcion basica para sacar el cento de conjunto de colunas
4 Proauti
5 ProAuti Multi Objetivo

Vemos que los resultados fueron muy cercanos a cero todos, lo que quiere decir que el algoritmo funciono

Exito
http://estrategiaycomandogerencial.blogspot.com/
Responder