Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των...
Embed Size (px)
Transcript of Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των...
-
1
Μέθοδοι Monte CarloΕφαρμογές στην Επίλυση Προβλημάτων
ΕισαγωγήΕισαγωγή στηνστην ΕκτίμησηΕκτίμηση ΠαραμέτρωνΠαραμέτρωνΜέθοδος ΡοπώνΜέθοδος Μεγίστης ΠιθανοφάνειαςΜέθοδος Ελαχίστων τετραγώνων
Συστηματικές Αβεβαιότητες
ΥπολογιστικέςΥπολογιστικές ΕφαρμογέςΕφαρμογέςστηνστην ΣΣτατιστικήτατιστική ΕΕπεξεργασίαπεξεργασία ΔΔεδομένωνεδομένων
Στα πλαίσια του μαθήματοςΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ
Δ. Φασουλιώτης, Ε. ΣτυλιάρηςΔ. Φασουλιώτης, Ε. ΣτυλιάρηςΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2012ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2012‐‐20132013
-
2
Ενδεικτική Συμπληρωματική Βιβλιογραφία
Στατιστικές Μέθοδοι στην Πειραματική ΦυσικήΣτατιστικές Μέθοδοι στην Πειραματική ΦυσικήR.J. R.J. Barlow:Barlow: Statistics: A Guide to the Use of Statistical Methods in the PhyStatistics: A Guide to the Use of Statistical Methods in the Physical Sciencessical Sciences (Wiley, 1989)M. Drosg:M. Drosg: Dealing with Uncertainties, A Guide to Error AnalysisDealing with Uncertainties, A Guide to Error Analysis (Springer, 2007)W.T. Eadie:W.T. Eadie: Statistical Methods in Experimental PhysicsStatistical Methods in Experimental Physics (North‐Holland, 1971)Σ.Ε. Σ.Ε. ΤζαμαρίαςΤζαμαρίας:: ΣτατιστικέςΣτατιστικές ΜέθοδοιΜέθοδοι ΑνάλυσηςΑνάλυσης ΠειραματικώνΠειραματικών ΔεδομένωνΔεδομένων (Ε.Α.Π., 2005)
Παιχνίδια & Γρίφοι Παιχνίδια & Γρίφοι R. Epstein:R. Epstein: The Theory of Gambling and Statistical LogicThe Theory of Gambling and Statistical Logic (Elsevier, 2009)J. Havil:J. Havil: Impossible? Surprising Solutions to Counter Intuitive ConundrumsImpossible? Surprising Solutions to Counter Intuitive Conundrums (Princeton UP, 2008)P. Nahin:P. Nahin: Digital DiceDigital Dice, , Computational Solutions to Practical Probability ProblemsComputational Solutions to Practical Probability Problems (Princeton UP, 2008)
Εργαλεία Εργαλεία –– ΙστότοποιΙστότοποιParticle Data Group:Particle Data Group: Reviews, Tables and Plots Reviews, Tables and Plots –– Mathematical ToolsMathematical Toolshttp://pdg.lbl.gov/2005/reviews/contents_sports.html#mathtoolsetcThe Data Analysis Brief BookThe Data Analysis Brief Book http://rkb.home.cern.ch/rkb/titleA.htmlNumerical RecipesNumerical Recipes http://apps.nrbook.com/c/index.htmlRandom Number GeneratorsRandom Number Generators http://random.mat.sbg.ac.at
ΠαρουσιάσειςΠαρουσιάσεις σεσε ηλεκτρονικήηλεκτρονική μορφήμορφή στοστο ee‐‐class class τουτου μαθήματοςμαθήματοςhttp://eclass.uoa.gr/courses/MATH190/http://eclass.uoa.gr/courses/MATH190/
ΒΙΒΛΙΟΓΡΑΦΙΑΒΙΒΛΙΟΓΡΑΦΙΑ
-
3
ΜέθοδοιMonte Carlo
Τι είναι;Οποιαδήποτε αριθμητική μέθοδοςχρησιμοποιεί ψευδοτυχαίους αριθμούς
Πού χρησιμοποιούνται:ΟλοκλήρωσηΕπίλυση διαφορικών εξισώσεωνΠροσομοίωση στοχαστικών συστημάτων
Γιατί;Εύκολες στην εφαρμογήΕφαρμόσιμες και με τις πιο περίπλοκες συνοριακές συνθήκεςΑποδοτικές σε πολυδιάστατα προβλήματα
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
4
Πώς υλοποιούνται:
• Επιλογή της συνάρτησης πυκνότητας πιθανότητας(probability density function, pdf) του υποθετικού πληθυσμού.
• Γέννηση τυχαίου δείγματος από μια ακολουθίαψευδοτυχαίων αριθμών σύμφωνα με την παραπάνωπιθανότητα.
• Στατιστική επεξεργασία για την εκτίμηση των υπόεξέταση παραμέτρων από το τυχαίο δείγμα.
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
5
• Τυχαίοι αριθμοίΦυσικές στοχαστικές διαδικασίες(ηλεκτρονικός θόρυβος, πυρηνικές διασπάσεις, κ.λ.π.)
•Ψευδοτυχαίοι αριθμοίΠαράγονται αιτιοκρατικά από υπολογιστικούς αλγορίθμουςΕύκολοι στην παραγωγήΕπαναλήψιμη διαδικασίαΠαρέχουν ομοιόμορφη κάλυψη φασικού χώρου
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
6
ΑλγόριθμοιΑλγόριθμοι ((ΓεννήτορεςΓεννήτορες) ) ΨευδοτυχαίωνΨευδοτυχαίων ΑριθμώνΑριθμών(Random Number Generators)(Random Number Generators)
Ομοιόμορφη κατανομή [0.0 ,1.0]
Χαρακτηριστικά:• Περίοδος• Συσχέτιση• Απόδοση
Υλοποίηση:Ij+1 = mod ( aIj+c, m )... και ποικίλες παραλλαγές
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
7
ΠαράδειγμαΠαράδειγμα γεννήτοραγεννήτορα ψευδοτυχαίωνψευδοτυχαίων αριθμώναριθμών
xn+1 = (a xn + c) modm
με a a =1103515245=1103515245, c c = 12345= 12345 και m m =2=23131
int x=1717; //seed – αρχική τιμή της ακολουθίας ψευδοτυχαίων αριθμών// μπορεί να επιλέγεται με διάφορους τρόπους
int m=pow(2,31);x=(1103515245*x+12345)%m;double random=double(x)/m;
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
8
efarmogi1.C#include #include #include
double random(int max){return rand() / double (RAND_MAX / max);
}
int main(void) // Create pseudo-experiments// Write output in file to draw later{FILE* fp;double x;fp=fopen(uniform.dat","w");for(int i=0;i g++ o efarmogi1 efarmogi1.C
Run the programRun the program> ./efarmogi1
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
9
#include #include #include #include #include #include
void efarmogi1r() // Create pseudo experiments in ROOT - Fill histograms directly{ran=new TRandom3(1717);
TFile *hf = new TFile("efarmogi1.root","RECREATE");TH1F *h_1= new TH1F("h_1","Uniform
distribution",100,0.,1.);double x;for(int i=0;iRndm();h_1->Fill(x);}
h_1->Write();hf->Close();
}
> root> .x efarmogi1r.C
Σχετικά με τοπακέτο root
http://root.cern.ch
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
10
ΠεριμένουμεΠεριμένουμε αυτέςαυτές τιςτις τιμέςτιμές;;Ιστόγραμμα:Γραφική απεικόνιση ομαδοποιημένων κατανομώνΓραφική απεικόνιση ομαδοποιημένων κατανομώνΟριζόντιος άξονας:Οριζόντιος άξονας: Μεταβλητή Μεταβλητή Κατακόρυφος άξονας:Κατακόρυφος άξονας: Συχνότητα εμφάνισης σε περιοχή τιμών της μεταβλητήςΣυχνότητα εμφάνισης σε περιοχή τιμών της μεταβλητής
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
11
31|
31
21|
21
1|1:
10
1
0
322
10
1
0
2
10
1
0
===
===
==
∫
∫
∫
xdxxx
xxdxx
xdxpdf
Μέση τιμή
Τυπική απόκλιση
2887.0121
41
3122 ==−=− xx
ΕκτίμησηΕκτίμηση γιαγια ομοιόμορφηομοιόμορφη κατανομήκατανομή ΑποτέλεσμαΑποτέλεσμα τουτου προγράμματοςπρογράμματος
Μέση τιμή0.5029 ± 0.0029
Τυπική απόκλιση
0.288 ± 0.003
10000288.0
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
12
Σφάλμα μέσης τιμής ~ 1/√ΝΗ πολλαπλότητα σε κάθε ιστό ακολουθεί την κατανομή Poisson με μ=5Αβεβαιότητα σε κάθε ιστό ~ √Νb
ΓέννησηΓέννηση 100 100 ««ψευδοψευδο‐‐πειραμάτωνπειραμάτων»»
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
13
Η πολλαπλότητα σε κάθε ιστό ακολουθεί την κατανομή Poisson με μ=500Σφάλμα σε κάθε ιστό ~ √Νb, επομένως σχετικό σφάλμα √Νb/Νb = 1/√ΝbΠροσαρμογήΠροσαρμογή μεμε πολυώνυμοπολυώνυμο 22ουου βαθμούβαθμούΜόνοΜόνο οο σταθερόςσταθερός όροςόρος pp00 μημη μηδενικόςμηδενικός
ΓέννησηΓέννηση 101000000 0 ««ψευδοψευδο‐‐πειραμάτωνπειραμάτων»»
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
14
RAN N Xmin, Xmax,( ) A 48271←
C 0←
PP 231 1−←
Seed 101←
Seed mod A Seed⋅ C+ PP,( )←
RANi XminSeedPP
Xmax Xmin−( )⋅+←
i 1 N..∈for
RANreturn
:=
ΑλγόριθμοςΑλγόριθμος παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό MathCADMathCAD) ) ομοιόμορφα κατανεμημένων στο διάστημα [ομοιόμορφα κατανεμημένων στο διάστημα [XminXmin, , XmaxXmax].].
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
15
N=1000N=1000Bins=200Bins=200μμ==N/Bins=5N/Bins=5
N=100000N=100000Bins=100Bins=100
μμ==N/Bins=1000N/Bins=1000
ΚατανομήΚατανομή ψευδοτυχαίωνψευδοτυχαίων ΚατανομήΚατανομή πολλαπλότητας ιστούπολλαπλότητας ιστούData = RAN(N,0.,1.)Data = RAN(N,0.,1.)
mean(Data) = 0.500 stdev(Data) = 0.2904
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
16
/* Linear distribution in [0,1] */x=random(1); // x ομοιόμορφα κατανεμημένος στο [0,1]r=random(1); // r ομοιόμορφα κατανεμημένος στο [0,1]–Τυχαία Πιθανότητα// Συνθήκη αποδοχής x ώστε να δειγματοληπτεί την σκιασμένη περιοχήif(x>r) fprintf(fp,"%f \n",x);
x10
1
ΓραμμικήΓραμμική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x , 0)=x , 0≤≤xx≤≤11
ΜέθοδοςΜέθοδος απόρριψηςαπόρριψης
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
17
21|
422
32|
322
2..21|
21
10
1
0
422
10
1
0
3
10
1
0
2
==⋅=
==⋅=
=⇒==
∫
∫
∫
xdxxxx
xxdxxx
xfdpxxdx
Μέση τιμή
Τυπική απόκλιση
2357.0181
94
2122 ==−=− xx
ΓραμμικήΓραμμική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x , 0)=x , 0≤≤xx≤≤11
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
18
ΓραμμικήΓραμμική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x , 0)=x , 0≤≤xx≤≤11
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
19
ΑλγόριθμοςΑλγόριθμος παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό MathCADMathCAD) ) με γραμμική συνάρτηση πυκνότητας πιθανότητας με γραμμική συνάρτηση πυκνότητας πιθανότητας f(xf(x) = x ) = x
στο διάστημα [0,1στο διάστημα [0,1].].
ΓραμμικήΓραμμική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x , 0)=x , 0≤≤xx≤≤11
RAN_L N( ) i 0←
x rnd 1.0( )←
y rnd 1.0( )←
i i 1+←
RAN_Li x←
y x
-
20
/* Quadratic distribution in [0,1] */x=random(1);r=random(1);if(x*x>r) fprintf(fp,"%f\n",x);
12 3 1 2
00
12 4 1
00
12 2 2 5 1
00
1 1| . . 33 3
3 33 |4 4
3 33 |5 5
x dx x p d f x
x x xdx x
x x x dx x
= = ⇒ =
= ⋅ = =
= ⋅ = =
∫
∫
∫
Μέση τιμή
Τυπική απόκλιση
1936.0803
169
5322 ==−=− xx
ΤετραγωνικήΤετραγωνική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x)=x22 , 0, 0≤≤xx≤≤11
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
21
ΤετραγωνικήΤετραγωνική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x)=x22 , 0, 0≤≤xx≤≤11
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
22
ΑλγόριθμοςΑλγόριθμος παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό MathCADMathCAD) ) με τετραγωνική συνάρτηση πυκνότητας πιθανότητας με τετραγωνική συνάρτηση πυκνότητας πιθανότητας f(xf(x) = x) = x22
στο διάστημα [0,1στο διάστημα [0,1].].
Data = RAN_Q(100000)Data = RAN_Q(100000)
ΤετραγωνικήΤετραγωνική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x)=x22 , 0, 0≤≤xx≤≤11
RAN_Q N( ) i 0←
x rnd 1.0( )←
y rnd 1.0( )←
i i 1+←
RAN_Qi x←
y x x⋅
-
23
ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=)=1+0.51+0.5xx , , ‐‐11≤≤xx≤≤11
/* 1+0.5x distribution in [-1,1] */x=random(1); // x ομοιόμορφα κατανεμημένος στο [0,1]y=-1.+2.*x; // y ομοιόμορφα κατανεμημένος στο [-1,+1]r=random(1); // r ομοιόμορφα κατανεμημένος στο [0,1] – πιθανότηταif((1+0.5y)>1.5*r)if((1+0.5y)>1.5*r) fprintf(fp,"%f\n",y); // Συνθήκη αποδοχής
31|
61
2)1(
1667.03
|62
)1(
2)1(..2|
2|)1(
11
1
1
322
5.0
11
1
1
3
11
211
1
1
==⋅+
=
===⋅+
=
+=⇒=+=+
+−
+
−
=
+−
+
−
+−
+−
−
∫
∫
∫
xdxxaxx
axaxdxaxx
axfdpxaxdxax
aΜέση τιμή
Τυπική απόκλιση
5528.093
15.0
222
==−=−
a
axx
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
24
ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=)=1+0.51+0.5xx , , ‐‐11≤≤xx≤≤11
Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί
-
25
ΑλγόριθμοςΑλγόριθμος παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό παραγωγής Ν ψευδοτυχαίων αριθμών (λογισμικό MathCADMathCAD) ) με συνάρτηση πυκνότητας πιθανότητας με συνάρτηση πυκνότητας πιθανότητας f(xf(x) = ) = 1+0.51+0.5x x
στο διάστημα [στο διάστημα [‐‐11,1,1].].
Data = RAN_Data = RAN_ΧΧ(100000)(100000)
mean(Data) = 0.166 stdev(Data) = 0.5523
ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=)=1+0.51+0.5xx , , ‐‐11≤≤xx≤≤11
RAN_X N( ) i 0←
x 1− 2 rnd 1.0( )+←
y 1.5 rnd 1.0( )←
i i 1+←
RAN_Xi x←
y 0.5 x 1+
-
26
Έστω τετράγωνο πλευράς 2 μονάδων καιεγγεγραμμένος κύκλος ακτίνας 1 μονάδας
ΕμβαδόνΕμβαδόν τετραγώνουτετραγώνου:: EEss==22××2 =4 2 =4 μονάδαμονάδα22ΕμβαδόνΕμβαδόν κύκλουκύκλου:: EEcc==ππ××1122==ππ μονάδαμονάδα22
Για μια ομοιόμορφη ρίψη Ns σημείων εντός του τετραγώνου, εκ των οποίων τα Nc θα βρίσκονται και εντός του κύκλου, αναμένεται να ισχύει:
Εφαρμογές: Υπολογισμός του π με τη μέθοδο Monte Carlo
S
C
S
C
S
C
NN
EE
NN 4
4=⇒== ππ
Τηρουμένων των αναλογιών, η ίδια σχέση θα ισχύει και για το πρώτο τεταρτημόριο του κύκλου. Αυτό μας διευκολύνει στην επιλογή των ορίων (0,1) της ομοιόμορφης κατανομής των τυχαίων αριθμών που χρησιμοποιούμε στους επόμενους αλγόριθμους.
-
27
double Ncircle=0.;int Nsquare=10000; for(int i=0;i
-
28
ΣύγκλισηΣύγκλιση της μεθόδουτης μεθόδου
calc_pi Ns( ) Nc 0←
x rnd 1.0( )←
y rnd 1.0( )←
r x x⋅ y y⋅+←
Nc Nc 1+← r 1≤if
i 1 Ns..∈for
pi 4NcNs⋅←
pireturn
:=
Ns=1000 Ns=100000
Εφαρμογές: Υπολογισμός του π με τη μέθοδο Monte Carlo
-
29
ΈστωΈστω ξύλινο πάτωμα με ομοιόμορφες λωρίδες πάχους ξύλινο πάτωμα με ομοιόμορφες λωρίδες πάχους DD, στο οποίο πετάμε βελόνες, στο οποίο πετάμε βελόνες,,οιοι οποίες έχουν επίσης μήκος οποίες έχουν επίσης μήκος D. D. Ποια είναι η πιθανότητα μια βελόνα να τέμνει τη Ποια είναι η πιθανότητα μια βελόνα να τέμνει τη διαχωριστική γραμμή μεταξύ δύο λωρίδων;διαχωριστική γραμμή μεταξύ δύο λωρίδων;
DD
ddθθ
ΗΗ θέση της βελόνας στο πάτωμα καθορίζεται από τις παρακάτω δύο παθέση της βελόνας στο πάτωμα καθορίζεται από τις παρακάτω δύο παραμέτρους:ραμέτρους:•• Από την απόσταση του κέντρου Από την απόσταση του κέντρου d d από την πλησιέστερη διαχωριστική γραμμή.από την πλησιέστερη διαχωριστική γραμμή.•• Από τη γωνία θ της βελόνας.Από τη γωνία θ της βελόνας.
Για να τέμνει η βελόνα την διαχωριστική γραμμή πρέπει:Για να τέμνει η βελόνα την διαχωριστική γραμμή πρέπει:
)sin(2
θDd <
Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon
-
30
Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon
ΑπόΑπό τα προηγούμενα συνάγεται, ότι ο χώρος μέσα στον οποίον κινούντατα προηγούμενα συνάγεται, ότι ο χώρος μέσα στον οποίον κινούνται οι ελεύθερες ι οι ελεύθερες μεταβλητές μεταβλητές d d και θ είναι:και θ είναι:
00 ππ00
DD/2/2D·sinθ
θ
d
2
Όπως φαίνεται και από το σχήμα, ηπροαναφερθείσα συνθήκη τομής τηςβελόνας με τη διαχωριστική γραμμή
d
-
31
O BuffonO Buffon, αντιστρέφοντας το αποτέλεσμα αυτό, πρότεινε τον άμεσο υπολογισ, αντιστρέφοντας το αποτέλεσμα αυτό, πρότεινε τον άμεσο υπολογισμό του π μό του π από την καταμέτρηση των επιτυχών αποτελεσμάτων, δηλαδή της τομήςαπό την καταμέτρηση των επιτυχών αποτελεσμάτων, δηλαδή της τομής με τη με τη διαχωριστική γραμμή, σε αλλεπάλληλες ρίψεις της βελόνας:διαχωριστική γραμμή, σε αλλεπάλληλες ρίψεις της βελόνας:
ταΑποτελέσμαΈπιτυχήΡίψεις Συνολικές222 ×
=⇒=⇒= πππ P
P
Buffon_pi N( ) Nc 0←
Theta π rnd 1.0( )←
d 0.5 rnd 1.0( )←
ST sin Theta( )←
Nc Nc 1+← ST 2 d>if
i 1 N..∈for
pi2 NNc
←
pireturn
:=
Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon
-
32
ΗΗ σύγκλιση με τον αλγόριθμο του σύγκλιση με τον αλγόριθμο του Buffon Buffon είναι πολύ αργή!είναι πολύ αργή!
Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon
-
33
ΤοΤο πρόβλημα του πρόβλημα του Buffon Buffon μπορεί να γενικευθεί για διαφορετικού μήκους βελόνες (μπορεί να γενικευθεί για διαφορετικού μήκους βελόνες (ll))ή πάχους λωρίδας (ή πάχους λωρίδας (t)t). Παραδείγματα δίνονται παρακάτω. . Παραδείγματα δίνονται παρακάτω.
Ομοιόμορφη πιθανότητα ως προς θέση x
Ομοιόμορφη πιθανότητα ως προς γωνία θ
Ομοιόμορφη πιθανότητα ως προς x,θ
Έστω l < t
Θα έχουμε τομή, αν:
Εφαρμογές: Γενικευμένο πρόβλημα του Buffon
-
34
#include #include #include "TRandom3.h"void buffon(double t){
int Ntoys=10000;ran=new TRandom3(779977);double pi=acos(-1.);double tomes=0.;for(int itoy=0;itoyRndm()*t/2.;double theta=ran->Rndm()*pi/2.; if(x
-
35
Εφαρμογές: Το πρόβλημα των γενεθλίων
ΣεΣε μια ομάδα μια ομάδα Ν ατόμωνΝ ατόμων (για παράδειγμα Ν φοιτητές του αμφιθεάτρου), ποια είναι (για παράδειγμα Ν φοιτητές του αμφιθεάτρου), ποια είναι η πιθανότητα η πιθανότητα P(N)P(N) ώστε τουλάχιστον δύο άτομα να έχουν την ώστε τουλάχιστον δύο άτομα να έχουν την ίδια μέρα γενέθλια;ίδια μέρα γενέθλια;
ΘεωρητικήΘεωρητική αντιμετώπισηαντιμετώπιση
Είναι ευκολότερο να υπολογίσουμε την συμπληρωματική πιθανότητα Είναι ευκολότερο να υπολογίσουμε την συμπληρωματική πιθανότητα Q(NQ(N):):«Κανένα άτομο της ομάδος δεν έχει την ίδια μέρα γενέθλια με κάπο«Κανένα άτομο της ομάδος δεν έχει την ίδια μέρα γενέθλια με κάποιο άλλο»ιο άλλο»
)!(!)()(
NNN
NQ NN −⋅=
+−⋅⋅=
+−⋅⋅=
365365365
3651365363364365
3651365
365363
365364
365365 L
L
ΚατάΚατά συνέπεια:συνέπεια:
N
NN
NQ365
365⎟⎟⎠
⎞⎜⎜⎝
⎛⋅
=!
)(
∏=
+−−=−=
N
i
iNQNP
1 365136511 )()(
-
36
ΑντιμετώπισηΑντιμετώπιση με με Monte CarloMonte Carlo
Αντιστοιχούμε σε καθένα από Αντιστοιχούμε σε καθένα από τα Ν άτομα έναν τυχαίο τα Ν άτομα έναν τυχαίο ακέραιο αριθμό (μέθοδος ακέραιο αριθμό (μέθοδος Monte Carlo) Monte Carlo) μεταξύ 1 και 365, μεταξύ 1 και 365, ο οποίος να εκφράζει την ο οποίος να εκφράζει την ημέρα των γενεθλίων του:ημέρα των γενεθλίων του:
1 1 ØØ 11ηη ΙανουαρίουΙανουαρίου..................
365 365 ØØ 3131ηη ΔεκεμβρίουΔεκεμβρίου((δίσεκταδίσεκτα έτηέτη παραβλέπονταιπαραβλέπονται).
ΕλέγχουμεΕλέγχουμε εάνεάν υπάρχειυπάρχειζευγάριζευγάρι μεμε τοντον ίδιοίδιο ακέραιοακέραιοαριθμόαριθμό καικαι εκτελούμεεκτελούμε τοτοπείραμαπείραμα NtryNtry φορέςφορές..
Birth_MC N Ntry,( ) Nb 0←
Ns 0←
B1 floor rnd 365.( ) 1+( )←
Bj floor rnd 365.( ) 1+( )←
Ns Ns 1+← Bj Bkif
k 1 j 1−..∈for
Nb Nb 1+←
break
Ns 0>if
j 2 N..∈for
i 1 Ntry..∈for
ResultNb
Ntry←
Resultreturn
:=
Εφαρμογές: Το πρόβλημα των γενεθλίων
-
37
ΑποτελέσματαΑποτελέσματα
Birth_The N( ) 1
1
N
i
366 i−365
⎛⎜⎝
⎞⎟⎠∏
=
−:=
Birth_MC(N,Ntry)
N
P(N)
Birth_The(23) = 0.5073
Birth_MC(23,100) = 0.5010
ΠαρατηρούμεΠαρατηρούμε την γρήγορη άνοδο της πιθανότητας την γρήγορη άνοδο της πιθανότητας P(N) P(N) για σχετικά μικρό για σχετικά μικρό αριθμό ατόμων. αριθμό ατόμων.
Για Ν=23 η πιθανότητα είναι πάνω από 50% !Για Ν=23 η πιθανότητα είναι πάνω από 50% !
Εφαρμογές: Το πρόβλημα των γενεθλίων
-
38
ΈχουμεΈχουμε δύο ανακατεμένες τράπουλες.δύο ανακατεμένες τράπουλες.Διαλέγουμε 52 φορές ένα φύλλο τυχαία από κάθε τράπουλα.Διαλέγουμε 52 φορές ένα φύλλο τυχαία από κάθε τράπουλα.Πόσες φορές θα διαλέξουμε δύο ίδια φύλλα; Πόσες φορές θα διαλέξουμε δύο ίδια φύλλα;
Επαναλάβατε το παιχνίδι με τις ακόλουθες διαφοροποιήσεις:
• Από τη μία τράπουλα τραβάμε τα φύλλα με τη σειρά και όχι τυχαία• Τα φύλλα που τραβάμε τυχαία από τις δύο τράπουλες τα αφαιρούμε από αυτές• Χρησιμοποιούμε ένα μόνο φύλλο από τη μία τράπουλα
κ.λ.π. αυτοσχεδιάστε
Εφαρμογές: Παιχνίδι με τραπουλόχαρτα
-
39
#include #include #include "TRandom3.h"void cards(int seed){
int Ncards=52;int Ntoys=10000;ran=new TRandom3(seed);double totalsuccess=0;for(int Itoy=0;ItoyRndm()*Ncards; if(I==J)success++;
}totalsuccess+=success;
}totalsuccess=totalsuccess/Ntoys;cout
-
40
ΈστωΈστω πολυκατοικία με πολυκατοικία με mm ορόφους. ορόφους. Πόσες στάσεις θα κάνει ένας ανελκυστήρας κατά μέσο όροΠόσες στάσεις θα κάνει ένας ανελκυστήρας κατά μέσο όροαν εισέλθουν σε αυτόν αν εισέλθουν σε αυτόν n n άτομα;άτομα;
Εφαρμογές: Στάσεις σε ανελκυστήρα
-
41
#include #include #include "TRandom3.h"void elevator(const int Mfloor, const int Npeople){int Ntoys=10000;ran=new TRandom3(779977);double staseis=0.;for(int itoy=0;itoy
-
42
ΈναςΈνας σκακιστής Α, έβαλε στοίχημα με δύο άλλους Β και Γ, σκακιστής Α, έβαλε στοίχημα με δύο άλλους Β και Γ, ότι μπορεί να τους νικήσει σε δύο διαδοχικές παρτίδες (από σύνολότι μπορεί να τους νικήσει σε δύο διαδοχικές παρτίδες (από σύνολο τριών) ο τριών) που θα παίξουν εναλλάξ μεταξύ τους. που θα παίξουν εναλλάξ μεταξύ τους. Έστω ότι από τα στατιστικά των μεταξύ τους αγώνων, Έστω ότι από τα στατιστικά των μεταξύ τους αγώνων, γνωρίζει ότι η πιθανότητα να νικήσει τον Β είναι γνωρίζει ότι η πιθανότητα να νικήσει τον Β είναι ppκαι η πιθανότητα να νικήσει τον Γ είναι και η πιθανότητα να νικήσει τον Γ είναι q.q.
Αν Αν p>q, p>q, πως πρέπει να αγωνιστεί για να έχει μεγαλύτερη πιθανότητα επιτυχπως πρέπει να αγωνιστεί για να έχει μεγαλύτερη πιθανότητα επιτυχίας;ίας;(1) ΒΓΒ ή (2) ΓΒΓ;(1) ΒΓΒ ή (2) ΓΒΓ;
Αναλυτική λύσηΠιθανότητα επιτυχίας (1):
Π1=pq + (1p)qpΠιθανότητα επιτυχίας (2):
Π2=qp + (1q)pq
Π2Π1=pqpqpq= pq(pq)
Αλλά Αλλά p>qp>q, , οπότε οπότε Π2>Π1Π2>Π1
Εφαρμογές: Στοίχημα σκακιστών
-
43
#include #include #include "TRandom3.h"void chess(double p, double q){
ran=new TRandom3(779977);int Ntoys=10000;double successes[2]={0.};double prob[2][3]; prob[0][0]=p;prob[0][1]=q;prob[0][2]=p;prob[1][0]=q;prob[1][1]=p;prob[1][2]=q;for(int itoy=0;itoy