[pyar] Buscar máximo

Angel Java Lopez ajlopez2000 en gmail.com
Vie Ene 17 20:05:21 ART 2014


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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140117/1a4ceef9/attachment.html>


More information about the pyar mailing list