Ahhh, fato. Só depois de ler sua resposta, e reler o problema do Albert, é
que vi que o problema pergunta a respeito da distância mais curta!

Abraço!
Bruno

--
Bruno FRANÇA DOS REIS

msn: [email protected]
skype: brunoreis666
tel: +55 11 9961-7732

http://brunoreis.com
http://brunoreis.com/tech (en)
http://brunoreis.com/blog (pt)

GPG Key: http://brunoreis.com/bruno-public.key

e^(pi*i)+1=0


2011/5/20 Pedro Cardoso <[email protected]>

> Opa, Bruno, o processo que você descreveu certamente faz o nadador achar
> uma das margens.
> Mas o Bouskela quer mais - ele quer saber a melhor maneira (que faz o
> nadador nadar menos)
> de se achar uma das margens.
>
> Acho que isso cai para uma área da matemática que os matemáticos "puros"
> não estudam muito
> - a área de algoritmos. E esse problema tem a maior cara de *busca
> exponencial*.
>
> -----------------------------------------------------------------------
>
> Imagine que o nadador está a uma distância N de uma das margens.
> Ele deve fazer o seguinte...
>
>
> x <- 1
> Enquanto não achar a margem, repita:
> [1] Nada x metros pra frente. Volta. Nada 2x metros para trás. Volta.
> [2] Nada x metros pra esquerda. Volta. Nada 2x metros pra direita. Volta.
> x <-  4x
>
> As noções de "frente" e "esquerda" estão erradas no máximo 45 graus. Assim,
> na pior das hipóteses o nadador vai ter que nadar sqrt(2)*N metros em uma
> das direções
> (agora, até fazer isso, ele nadou nessa direção várias vezes).
>
> Note que [1] e [2] são processos independentes.
>
> Quanto ele nada em função de N? Pense um pouco pra ver que é C*N, onde C é
> uma constante.
>
> Ignorando constantes, essa é a melhor maneira, já que mesno enxergando ele
> teria que nadar 1*N
> metros.
>
>
> 2011/5/19 Bruno França dos Reis <[email protected]>
>
>> Em aberto?
>>
>> Se o nadador estivesse nadando paralelo ao rio, é só ele fazer uma curva
>> mínima, e continuar até chegar às margens.
>>
>> Caso o nadador não saiba a direção em que estava nadando (suponhamos uma
>> briga com os peixes, que o deixou desorientado, antes de ter seus olhos
>> devorados), ele poderia nadar seguindo uma "espiral", aí certamente
>> encontrará a margem, não? O algoritmo seria:
>>
>> n <- 1
>> Enquanto não achar a margem, repita:
>>  - dar n braçadas para frente
>>  - virar 90 graus para a esquerda
>>  - dar n braçacas para frente
>>  - virar 90 graus para a esquerda
>>  - n <- n + 1
>>
>> Como a largura é finita, e a espiral cresce de tamanho em todas as
>> direções, esse algoritmo certamente termina em um tempo finito!
>>
>> Tem alguma falha que eu não vi nesse processo?
>>
>> Abraço!
>> Bruno
>>
>>
>> --
>> Bruno FRANÇA DOS REIS
>>
>> msn: [email protected]
>> skype: brunoreis666
>> tel: +55 11 9961-7732
>>
>> http://brunoreis.com
>> http://brunoreis.com/tech (en)
>> http://brunoreis.com/blog (pt)
>>
>> GPG Key: http://brunoreis.com/bruno-public.key
>>
>> e^(pi*i)+1=0
>>
>>
>>
>> 2011/5/19 Albert Bouskela <[email protected]>
>>
>>> Olá a todos,
>>>
>>>
>>>
>>> Uma curiosidade: – Parece-me que o problema abaixo (tão simples!)
>>> permanece em aberto.
>>>
>>>
>>>
>>> Um nadador está nadando (o que mais pode fazer um nadador?) em um ponto
>>> qualquer de um rio horizontal, retilíneo, com correnteza desprezível,
>>> comprimento infinito e largura finita.
>>>
>>>
>>>
>>> Subitamente, peixes extremamente vorazes devoram os olhos do malfadado
>>> nadador, ou, com menos drama, cai a noite absolutamente escura.
>>>
>>>
>>>
>>> Qual é a trajetória que o nadador deve trilhar, i.e., nadar, para atingir
>>> – seguramente – uma das margens, nadando a menor distância possível?
>>>
>>>
>>>
>>> Obs.: – O malfadado nadador tem, implantado em sua cabeça, um sistema de
>>> navegação que lhe informa, continuamente, a sua posição em relação ao ponto
>>> inicial (o ponto no qual os peixes devoraram os seus olhos).
>>>
>>>
>>>
>>> Saudações,
>>>
>>> Albert Bouskela
>>>
>>> [email protected]
>>>
>>>
>>>
>>
>>
>

Responder a