[pyar] Buscar máximo
Angel Java Lopez
ajlopez2000 en gmail.com
Vie Ene 17 19:38:26 ART 2014
Otro intento:
Sean x1, x2, x3, x4 cuatro abcisas crecientes (al principio x1=a, x4=b)
Sean f(x1), f(x2), f(x3), f(x4)
Si no hay mesetas, se ve que
o f(x1) <= f(x2) <= f(x3)
o f(x2) >= f(x3) >= f(x4)
En el primer caso, se descarta x1.
En el segundo caso, se descarta x4
Quedan tres puntos. Se elige un cuarto distinto punto entre los dos
extremos que quedan. Se repite el proceso
Funciona?
Desconozco que pasa si hay mesetas, parece que falla en algunos casos.
Angel "Java" Lopez
@ajlopez
2014/1/17 Angel Java Lopez <ajlopez2000 en gmail.com>
> Bien!
>
> Mientras, acoto, veo que f(x1) = f(x2) no garantiza que el maximo este
> entre x1, y x2. Pues bien podria tener una meseta (una recta horizontal
> entre x1 y x2) y luego seguir creciendo luego de x2
>
>
> 2014/1/17 Alejandro Santos <listas en alejolp.com>
>
>> 2014/1/17 Angel Java Lopez <ajlopez2000 en gmail.com>:
>> > se puede garantizar el maximo global, no hace falta el aleatorio por las
>> > condiciones del problema, si entendi bien.
>> >
>>
>> La idea del problema es que, dadas las condiciones, existe un
>> algoritmo que siempre devuelve el maximo.
>>
>> > se toma el punto medio entre a y b, digamos a1
>> >
>> > se calcula f(a1) (por lo que veo del problema, deberia dar f(a) <=
>> f(a1) >=
>> > f(b) (bien podria ser que f(a) o f(b) fueran el maximo
>> >
>> > se toma el punto entre a y a1, digamos a2
>> > se toma el punto entre a1 y b, digamos b2
>> >
>> > si f(a2) > f(b2), repetimos todo de nuevo, con los puntos a,a2,a1
>> > Si f(a2) < f(b2), repetimos todo de nuevo, con los puntos a1,b2,b
>> >
>> > Esta bien?
>> >
>>
>> Casi! pero no, porque el máximo puede estar entre [a1, b2] o [a2, a1],
>> y acá estas descartando estos intervalos. Igual viene por ahi la mano,
>> capaz estás tomando un punto de mas...
>>
>> > Ah! me parece que al primer intento f(a) < f(a1) < f(b), el maximo es
>> b. Y
>> > al reves (esto asumiendo que hay UN SOLO PUNTO donde esta el maximo,
>> bien
>> > podria ser f(x) = 3, en todo el intervalo, pero creo entender que no es
>> el
>> > caso)
>> >
>>
>> Exacto, te diste cuenta de algo que no está claro en el problema
>> original, gracias. Un contraejemplo sería la funcion f(x)=3 excepto en
>> un subintervalo (y, z) donde tenga una pequeña lomita, el máximo de f
>> va a estar en el centro de la lomita.
>>
>> Precisamente:
>>
>> Sea f continua en [A, B] con un maximo en f(x),
>>
>> + para todo a, b, con A <= a < b <= x, tenemos f(a) < f(b), y
>> + para todo a, b, con x <= a < b <= B, tenemos f(a) > f(b).
>>
>> Por ejemplo, f(x) = sin(x), en [0, PI].
>>
>> --
>> Alejandro Santos
>> _______________________________________________
>> 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/5e5a28f6/attachment.html>
More information about the pyar
mailing list