[pyar] Buscar máximo
Angel Java Lopez
ajlopez2000 en gmail.com
Vie Ene 17 20:12:40 ART 2014
Ah, con respecto a hill_climbing, la direccionalidad se pierde si
hill_climbing devuelve el punto medio de a y b. No se sabe si el maximo
queda a la izquierda o a la derecha de ese punto.
2014/1/17 Angel Java Lopez <ajlopez2000 en gmail.com>
> Si, pero parece que con vecinos(...), se pierde la direccionalidad. Al
> final, no se sabe si el maximo esta a la izquierda o a la derecha del
> resultado de hill_climbing. No veo claro como seguir explorando luego
>
>
> 2014/1/17 fisa <fisadev en gmail.com>
>
>> El resultado de hill_climbing ya es un x cercano al x con máximo f(x),
>> no es que ese resultado deba usarse en futuras iteraciones.
>> Se llama solo una vez a hill_climbing, con a y b en los límites
>> definidos del problema :)
>>
>> El día 17 de enero de 2014, 20:05, Angel Java Lopez
>> <ajlopez2000 en gmail.com> escribió:
>> > Hmmm... pero que se hace con el resultado de la funcion hill_climbing?
>> como
>> > se usa ese resultado en la proxima iteracion? Cuales son los a y b en la
>> > proxima iteracion?
>> >
>> >
>> > 2014/1/17 fisa <fisadev en gmail.com>
>> >>
>> >> El día 17 de enero de 2014, 19:46, Alejandro Santos
>> >> <listas en alejolp.com> escribió:
>> >> > 2014/1/17 fisa <fisadev en gmail.com>:
>> >> >> Ah! leí mal. Si no puede tener varios máximos locales, entonces hago
>> >> >> un hill climbing normal, que es suficiente :)
>> >> >>
>> >> >
>> >> > Es la primera vez que escucho del Hill Climbing. ¿Cómo sería en
>> código?
>> >> > :D
>> >> >
>> >>
>> >> Algo así (versión amoldada a este problema en especial):
>> >>
>> >> def hill_climbing():
>> >> actual = (a + b) / 2 # medio entre a y b
>> >> while True:
>> >> mejor_vecino = vecino con f más alto en vecinos(actual)
>> >> if f(actual) > f(mejor_vecino):
>> >> return actual
>> >> else:
>> >> actual = mejor_vecino
>> >>
>> >> def vecinos(x):
>> >> return (x + 0.001, x - 0.001)
>> >>
>> >> Como decía, elegiría esto nomás por gusto. No es una solución exacta,
>> >> ni el algoritmo más eficiente. Pero es entretenido y simple, y en
>> >> muchos casos "good enough" :)
>> >> Básicamente lo que hace es moverse de costado por el eje x, para el
>> >> lado que ve que sube el valor de f(x), hasta que encuentra un punto
>> >> donde para ninguno de los dos costados sube el valor de f (mirando de
>> >> a saltos de 0.001 en x).
>> >>
>> >> Saludos!
>> >>
>> >> --
>> >> fisa - Juan Pedro Fisanotti
>> >> _______________________________________________
>> >> pyar mailing list pyar en python.org.ar
>> >> http://listas.python.org.ar/listinfo/pyar
>> >>
>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>
>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >> Argentina - http://www.usla.org.ar
>> >
>> >
>> >
>> > _______________________________________________
>> > pyar mailing list pyar en python.org.ar
>> > http://listas.python.org.ar/listinfo/pyar
>> >
>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >
>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> > Argentina - http://www.usla.org.ar
>>
>>
>>
>> --
>> fisa - Juan Pedro Fisanotti
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140117/d9442287/attachment.html>
More information about the pyar
mailing list