Problema da Agulha de Buffon Lúcio Fassarella DMA/CEUNES/UFES 2015 Problema: Num plano marcado por linhas paralelas com linhas adjacentes separadas por uma distância fixa d, calcular a probabilidade de uma agulha de comprimento c tocar numa dessas linhas quando lançada aleatoriamente sobre o plano. Figura: (A resolução computacional em termos de simulações apresentada a seguir considera que a situação possui simetria translacional ao longo da direção paralela às linhas marcadas e simetria translacional em múltiplos de d ao longo da direção perpendicular às linhas marcadas. Portanto, para realizar as simulações podemos considerar apenas uma faixa entre duas linhas paralelas, uma identificada com o valor y=0 e a outra com o valor y=d.) 2 simulacao_problema-agulha.nb In[1]:= H* Parâmetros *L Print@"Distância entre linhas paralelas adjacentes:"D d=2 Print@"Comprimento da agulha:"D c=1 H* Função que identifica se a agula intersecta uma linha Entrada: ® q = número real ~ ordenada da posição da base da agulha ® Θ = número real ~ ângulo polar da direção e sentido da agulha Saída: ® 0 : a agulha não intersecta nenhuma linha horizontal ® 1 : a agulha cruza uma linha horizontal *L F@y_, Θ_D := If@ HHSin@ΘD ³ 0L ì Hy + c * Sin@ΘD ³ dLL ê HHSin@ΘD £ 0L ì Hy + c * Sin@ΘD £ 0LL, 1, 0D H* Simulador Entrada: ® s = número natural ~ quantidade de simulações Saída: ® número real no intervalo @0,1D ~ estimativa da probabilidade de uma agulha lançada randomicamente cruzar uma linha horizontal *L S@s_D := Module@8y, Θ, n = 0<, For@i = 1, i £ s, i ++, y = RandomReal@80, d<D; Θ = RandomReal@80, 2 * Π<D; If@F@y, ΘD == 1, n = n + 1D D; ns D Distâ ncia entre linhas paralelas adjacentes : Out[2]= 2 Comprimento da agulha : Out[4]= 1 simulacao_problema-agulha.nb In[7]:= Print@"ESTIMATIVA DA PROBABILIDADE"D Print@"Número de simulações:"D s = 1 000 000 Print@"Estimativa:"D p = S@1 000 000D ESTIMATIVA DA PROBABILIDADE Número de simulaç ões: Out[9]= 1 000 000 Estimativa : Out[11]= 79 509 250 000 In[12]:= NB 79 509 250 000 Out[12]= 0.318036 F 3