Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Math and Science (http://www.chiefdelphi.com/forums/forumdisplay.php?f=70)
-   -   Math Quiz 9 (http://www.chiefdelphi.com/forums/showthread.php?t=149436)

Aren Siekmeier 16-07-2016 17:20

Re: Math Quiz 9
 
Quote:

Originally Posted by Hitchhiker 42 (Post 1597015)
What is a Monte Carlo simulation?

https://en.wikipedia.org/wiki/Monte_Carlo_method

Randomly sample the set of all line segments, and find the mean length of only the segments in the sample (a finite number chosen to suit your computational resources, rather than the uncountably infinite number in the entire set). If the sampling matches the probability distribution/weighting of the set, then the law of large numbers says your mean will approach the true mean as sample size increases.

Ether 16-07-2016 17:21

Re: Math Quiz 9
 
Quote:

Originally Posted by Hitchhiker 42 (Post 1597015)
What is a Monte Carlo simulation?

Aren beat me to it.

One-line AWK script:

BEGIN{for(i=1;i<100000;i++){sum+=sqrt((rand()-rand())^2+(rand()-rand())^2);}print sum/i;}



Hitchhiker 42 16-07-2016 21:33

Re: Math Quiz 9
 
I ran the Monte Carlo thing in a python script and the answers, each run with 1,000,000 trials, were all around 0.333. I'm gonna keep thinking, though, how to get an exact answer.

Quote:

Originally Posted by Ether (Post 1597040)
Your script has an error.

Compare it to the one-line AWK script I posted.




EDIT: I found the error - the value comes out to 0.521

FiMFanatic 16-07-2016 21:38

Re: Math Quiz 9
 
I am thinking the answer is a number that is very small (close to 0), as you can draw a ton more 0.000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 01 lines than you can 1 inch (or larger on a diagonal) lines.

Hitchhiker 42 16-07-2016 21:43

Re: Math Quiz 9
 
Quote:

Originally Posted by FiMFanatic (Post 1597038)
I am thinking the answer is a number that is very small (close to 0), as you can draw a ton more 0.000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 01 lines than you can 1 inch (or larger on a diagonal) lines.

Yet if you look at the Monte Carlo simulation, it looks closer to 0.521"

Ether 16-07-2016 21:47

Re: Math Quiz 9
 
Quote:

Originally Posted by Hitchhiker 42 (Post 1597037)
I ran the Monte Carlo thing in a python script and the answers, each run with 1,000,000 trials, were all around 0.333


Your script has an error.

Compare it to the one-line AWK script I posted.



z_beeblebrox 16-07-2016 22:00

Re: Math Quiz 9
 
My simple Python Monte Carlo script gave me an average of 0.521408 (or 0.52141 rounded to 5 digits) in ~5e9 iterations (10 miles of hiking worth).

Code is below:
Code:

import numpy as np

iterations = 10000000

avg = 0

for i in range(100000):
    for i in range(iterations):
        pos = np.random.rand(4)
        length = np.sqrt((pos[0]-pos[1])**2+(pos[2]-pos[3])**2)
        avg = (avg*i + length)/(i+1)
    with open("test.txt", "a") as f:
        f.write(str(avg)+'\n')


Code:

import numpy as np

f = np.loadtxt('test.txt')
print(np.average(f))
print(len(f))

I split it into two scripts just so I could stop the computation whenever without altering the result.

Edit: Reps to whoever finds the bug in my code and explains what it does.

Ether 16-07-2016 22:16

Re: Math Quiz 9
 
Quote:

Originally Posted by z_beeblebrox (Post 1597043)
0.52141 rounded to 5 digits

That is the correct answer. Reps to you :)



Ether 16-07-2016 22:20

Re: Math Quiz 9
 
Quote:

Originally Posted by Ether (Post 1597045)
That is the correct answer. Reps to you :)


Now, how would you get the correct answer accurate to, let's say, 8 decimal places?



FiMFanatic 16-07-2016 22:32

Re: Math Quiz 9
 
Makes no logical sense unless the question is improperly worded or bounded. You can fit an infinite number of lines in the box, and fact is, more lines closer to 0 in length fit in the box than lines averaging 0.52xxxx

z_beeblebrox 16-07-2016 22:35

Re: Math Quiz 9
 
Quote:

Originally Posted by FiMFanatic (Post 1597049)
Makes no logical sense unless the question is improperly worded or bounded. You can fit an infinite number of lines in the box, and fact is, more lines closer to 0 in length fit in the box than lines averaging 0.52xxxx

I think the problem is more "Choose two random points inside by a 1" square and measure the distance between them. Repeat infinitely. What's the average of those measurements?"

FiMFanatic 16-07-2016 22:40

Re: Math Quiz 9
 
Quote:

Originally Posted by z_beeblebrox (Post 1597050)
I think the problem is more "Choose two random points inside by a 1" square and measure the distance between them. Repeat infinitely. What's the average of those measurements?"

I agree then - your answer would make sense if that were the question. However, it was:

What's the average length of all the line segments which can be drawn inside a 1 inch square?

z_beeblebrox 16-07-2016 22:43

Re: Math Quiz 9
 
Quote:

Originally Posted by FiMFanatic (Post 1597051)
I agree then - your answer would make sense if that were the question. However, it was:

What's the average length of all the line segments which can be drawn inside a 1 inch square?

If the problem is interpreted as you describe (What is the average length of all the line segments that could be packed into a 1" square at once without overlapping?), there would be no meaningful answer, since infinite line segments of any length l < sqrt(2)" could be fit within the square, as line segments have no thickness thus can be packed infinitely densely.

FiMFanatic 16-07-2016 22:48

Re: Math Quiz 9
 
Exactly - hence why people struggled to answer I think......

Aren Siekmeier 17-07-2016 02:34

Re: Math Quiz 9
 
1 Attachment(s)
Precisely ln(1+sqrt(2))/3 + sqrt(2)/15 + 2/15

Or approximately 0.52140543316
Rounded to 8 digits: 0.52140543
Rounded to 5 digits: 0.52141

A fun exercise in every integration tool I've ever learned, plus a cool rationalization trick I wasn't familiar with.

The computation took a bit to hash through some arithmetic errors and one silly differential error (chain rule!). In practice you probably wouldn't bother to do this (or use a symbolic manipulation tool like Mathematica - this is how I checked my work), and sometimes there is no closed form for the integral. To get 8 digits simply run a larger Monte Carlo simulation (a couple lines of code instead of several pages of derivation). In the end we are always limited to some finite number of digits, so numerical methods win out.


All times are GMT -5. The time now is 01:03.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi