Download - Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

Transcript
Page 1: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

1

Μέθοδοι Monte CarloΕφαρμογές στην Επίλυση Προβλημάτων

ΕισαγωγήΕισαγωγή στηνστην ΕκτίμησηΕκτίμηση ΠαραμέτρωνΠαραμέτρωνΜέθοδος ΡοπώνΜέθοδος Μεγίστης ΠιθανοφάνειαςΜέθοδος Ελαχίστων τετραγώνων

Συστηματικές Αβεβαιότητες

ΥπολογιστικέςΥπολογιστικές ΕφαρμογέςΕφαρμογέςστηνστην ΣΣτατιστικήτατιστική ΕΕπεξεργασίαπεξεργασία ΔΔεδομένωνεδομένων

Στα πλαίσια του μαθήματοςΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ

Δ. Φασουλιώτης, Ε. ΣτυλιάρηςΔ. Φασουλιώτης, Ε. ΣτυλιάρηςΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2012ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2012‐‐20132013

Page 2: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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/

ΒΙΒΛΙΟΓΡΑΦΙΑΒΙΒΛΙΟΓΡΑΦΙΑ

Page 3: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

3

ΜέθοδοιMonte Carlo

Τι είναι;Οποιαδήποτε αριθμητική μέθοδοςχρησιμοποιεί ψευδοτυχαίους αριθμούς

Πού χρησιμοποιούνται:ΟλοκλήρωσηΕπίλυση διαφορικών εξισώσεωνΠροσομοίωση στοχαστικών συστημάτων

Γιατί;Εύκολες στην εφαρμογήΕφαρμόσιμες και με τις πιο περίπλοκες συνοριακές συνθήκεςΑποδοτικές σε πολυδιάστατα προβλήματα

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 4: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

4

Πώς υλοποιούνται:

• Επιλογή της συνάρτησης πυκνότητας πιθανότητας(probability density function, pdf) του υποθετικού πληθυσμού.

• Γέννηση τυχαίου δείγματος από μια ακολουθίαψευδοτυχαίων αριθμών σύμφωνα με την παραπάνωπιθανότητα.

• Στατιστική επεξεργασία για την εκτίμηση των υπόεξέταση παραμέτρων από το τυχαίο δείγμα.

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 5: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

5

• Τυχαίοι αριθμοίΦυσικές στοχαστικές διαδικασίες(ηλεκτρονικός θόρυβος, πυρηνικές διασπάσεις, κ.λ.π.)

•Ψευδοτυχαίοι αριθμοίΠαράγονται αιτιοκρατικά από υπολογιστικούς αλγορίθμουςΕύκολοι στην παραγωγήΕπαναλήψιμη διαδικασίαΠαρέχουν ομοιόμορφη κάλυψη φασικού χώρου

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 6: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

6

ΑλγόριθμοιΑλγόριθμοι ((ΓεννήτορεςΓεννήτορες) ) ΨευδοτυχαίωνΨευδοτυχαίων ΑριθμώνΑριθμών(Random Number Generators)(Random Number Generators)

Ομοιόμορφη κατανομή [0.0 ,1.0]

Χαρακτηριστικά:• Περίοδος• Συσχέτιση• Απόδοση

Υλοποίηση:Ij+1 = mod ( aIj+c, m )... και ποικίλες παραλλαγές

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 7: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 8: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

8

efarmogi1.C#include <stdio.h> #include <stdlib.h> #include <math.h>

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<10000;i++){x=random(1);//Uniform distribution[0,1]fprintf(fp,"%f \n ",x);}fclose(fp);return 0;

}

CompilationCompilation> g++ ­o efarmogi1 efarmogi1.C

Run the programRun the program> ./efarmogi1

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 9: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

9

#include <stdio.h> #include <stdlib.h> #include <math.h>#include <TFile.h>#include <TH1F.h>#include <TRandom.h>

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;i<10000;i++){x=ran->Rndm();h_1->Fill(x);}

h_1->Write();hf->Close();

}

> root> .x efarmogi1r.C

Σχετικά με τοπακέτο root

http://root.cern.ch

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 10: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

10

ΠεριμένουμεΠεριμένουμε αυτέςαυτές τιςτις τιμέςτιμές;;Ιστόγραμμα:Γραφική απεικόνιση ομαδοποιημένων κατανομώνΓραφική απεικόνιση ομαδοποιημένων κατανομώνΟριζόντιος άξονας:Οριζόντιος άξονας: Μεταβλητή  Μεταβλητή  Κατακόρυφος άξονας:Κατακόρυφος άξονας: Συχνότητα εμφάνισης σε περιοχή τιμών της μεταβλητήςΣυχνότητα εμφάνισης σε περιοχή τιμών της μεταβλητής

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 11: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 12: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

12

Σφάλμα μέσης τιμής ~ 1/√ΝΗ πολλαπλότητα σε κάθε ιστό ακολουθεί την κατανομή Poisson με μ=5Αβεβαιότητα σε κάθε ιστό ~ √Νb

ΓέννησηΓέννηση 100 100 ««ψευδοψευδο‐‐πειραμάτωνπειραμάτων»»

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 13: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

13

Η πολλαπλότητα σε κάθε ιστό ακολουθεί την κατανομή Poisson με μ=500Σφάλμα σε κάθε ιστό ~ √Νb, επομένως σχετικό σφάλμα √Νb/Νb = 1/√ΝbΠροσαρμογήΠροσαρμογή μεμε πολυώνυμοπολυώνυμο 22ουου βαθμούβαθμούΜόνοΜόνο οο σταθερόςσταθερός όροςόρος pp00 μημη μηδενικόςμηδενικός

ΓέννησηΓέννηση 101000000 0 ««ψευδοψευδο‐‐πειραμάτωνπειραμάτων»»

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 14: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 15: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 16: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 17: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 18: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

18

ΓραμμικήΓραμμική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x , 0)=x , 0≤≤xx≤≤11

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 19: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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<if

i N≤while

RAN_Lreturn

:=

Data = RAN_L(100000)Data = RAN_L(100000)

mean(Data) = 0.666 stdev(Data) = 0.2361

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 20: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 21: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

21

ΤετραγωνικήΤετραγωνική ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=x)=x22 , 0, 0≤≤xx≤≤11

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 22: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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⋅<if

i N≤while

RAN_Qreturn

:=

mean(Data) = 0.750 stdev(Data) = 0.1935

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 23: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 και ψευδοτυχαίοι αριθμοί

Page 24: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

24

ΣυνάρτησηΣυνάρτηση ΠυκνότηταςΠυκνότητας ΠιθανότηταςΠιθανότητας ((p.d.fp.d.f.).) f(xf(x)=)=1+0.51+0.5xx , , ‐‐11≤≤xx≤≤11

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 25: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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+<if

i N≤while

RAN_Xreturn

:=

Μέθοδοι Monte Carlo και ψευδοτυχαίοι αριθμοί

Page 26: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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) της ομοιόμορφης κατανομής των τυχαίων αριθμών που χρησιμοποιούμε στους επόμενους αλγόριθμους. 

Page 27: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

27

double Ncircle=0.;int Nsquare=10000; for(int i=0;i<Nsquare;i++)

{x=random(1); // Uniform

distribution [0,1]y=random(1); // Uniform

distribution [0,1]

if(sqrt(x*x+y*y)<=1)Ncircle++;}

double pi=4.*Ncircle/Nsquare;printf(fp,"%f \n ",pi);

Δείγμα αποτελεσμάτωνΝsquare           π10 :  2.100     :  3.081Κ :  3.10410Κ :  3.1336100Κ :  3.146281Μ :  3.14183

Πόση είναι η αβεβαιότητα;

Εφαρμογές: Υπολογισμός του π με τη μέθοδο Monte Carlo

Page 28: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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

Page 29: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

29

ΈστωΈστω ξύλινο πάτωμα με ομοιόμορφες λωρίδες πάχους ξύλινο πάτωμα με ομοιόμορφες λωρίδες πάχους DD, στο οποίο πετάμε βελόνες, στο οποίο πετάμε βελόνες,,οιοι οποίες έχουν επίσης μήκος οποίες έχουν επίσης μήκος D. D. Ποια είναι η πιθανότητα μια βελόνα να τέμνει τη Ποια είναι η πιθανότητα μια βελόνα να τέμνει τη διαχωριστική γραμμή μεταξύ δύο λωρίδων;διαχωριστική γραμμή μεταξύ δύο λωρίδων;

DD

ddθθ

ΗΗ θέση της βελόνας στο πάτωμα καθορίζεται από τις παρακάτω δύο παθέση της βελόνας στο πάτωμα καθορίζεται από τις παρακάτω δύο παραμέτρους:ραμέτρους:•• Από την απόσταση του κέντρου Από την απόσταση του κέντρου d d από την πλησιέστερη διαχωριστική γραμμή.από την πλησιέστερη διαχωριστική γραμμή.•• Από τη γωνία θ της βελόνας.Από τη γωνία θ της βελόνας.

Για να τέμνει η βελόνα την διαχωριστική γραμμή πρέπει:Για να τέμνει η βελόνα την διαχωριστική γραμμή πρέπει:

)sin(2

θDd <

Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon

Page 30: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

30

Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon

ΑπόΑπό τα προηγούμενα συνάγεται, ότι ο χώρος μέσα στον οποίον κινούντατα προηγούμενα συνάγεται, ότι ο χώρος μέσα στον οποίον κινούνται οι ελεύθερες ι οι ελεύθερες μεταβλητές μεταβλητές d d και θ είναι:και θ είναι:

00 ππ00

DD/2/2D·sinθ

θ

d

2

Όπως φαίνεται και από το σχήμα, ηπροαναφερθείσα συνθήκη τομής τηςβελόνας με τη διαχωριστική γραμμή

d < d < D/2D/2··sinsinθθ

ικανοποιείται για την σκιασμένηεπιφάνεια. Κατά συνέπεια, η ζητούμενη πιθανότητα είναι:

πθ ≤≤≤≤ 0,2

0 Dd

ππθ

π

θθπ

π

2cos

2

sin2

0

0 ==⋅

=∫

D

dD

P

Page 31: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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

Page 32: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

32

ΗΗ σύγκλιση με τον αλγόριθμο του σύγκλιση με τον αλγόριθμο του Buffon Buffon είναι πολύ αργή!είναι πολύ αργή!

Εφαρμογές: Υπολογισμός του π με τη βελόνα του Buffon

Page 33: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

33

ΤοΤο πρόβλημα του πρόβλημα του Buffon Buffon μπορεί να γενικευθεί για διαφορετικού μήκους βελόνες (μπορεί να γενικευθεί για διαφορετικού μήκους βελόνες (ll))ή πάχους λωρίδας (ή πάχους λωρίδας (t)t). Παραδείγματα δίνονται παρακάτω.  . Παραδείγματα δίνονται παρακάτω.  

Ομοιόμορφη πιθανότητα ως προς θέση x

Ομοιόμορφη πιθανότητα ως προς γωνία θ

Ομοιόμορφη πιθανότητα ως προς x,θ

Έστω l < t

Θα έχουμε τομή, αν:

Εφαρμογές: Γενικευμένο πρόβλημα του Buffon

Page 34: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

34

#include <iostream>#include <math>#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;itoy<Ntoys;itoy++)

{double x=ran->Rndm()*t/2.;double theta=ran->Rndm()*pi/2.; if(x<=0.5*sin(theta))tomes++;

}tomes=tomes/Ntoys;cout << tomes << endl;

}

ΑποτελέσματαΑποτελέσματα για για διαφορετικού μήκους βελόνες διαφορετικού μήκους βελόνες 

0.8382

0.6371

0.3180.5

ΠιθανότηταΜήκος

Εφαρμογές: Γενικευμένο πρόβλημα του Buffon

Page 35: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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 )()(

Page 36: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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

:=

Εφαρμογές: Το πρόβλημα των γενεθλίων

Page 37: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

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% !

Εφαρμογές: Το πρόβλημα των γενεθλίων

Page 38: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

38

ΈχουμεΈχουμε δύο ανακατεμένες τράπουλες.δύο ανακατεμένες τράπουλες.Διαλέγουμε 52 φορές ένα φύλλο τυχαία από κάθε τράπουλα.Διαλέγουμε 52 φορές ένα φύλλο τυχαία από κάθε τράπουλα.Πόσες φορές θα διαλέξουμε δύο ίδια φύλλα; Πόσες φορές θα διαλέξουμε δύο ίδια φύλλα; 

Επαναλάβατε το παιχνίδι με τις ακόλουθες διαφοροποιήσεις:

• Από τη μία τράπουλα τραβάμε τα φύλλα με τη σειρά και όχι τυχαία• Τα φύλλα που τραβάμε τυχαία από τις δύο τράπουλες τα αφαιρούμε από αυτές• Χρησιμοποιούμε ένα μόνο φύλλο από τη μία τράπουλα 

κ.λ.π. αυτοσχεδιάστε

Εφαρμογές: Παιχνίδι με τραπουλόχαρτα

Page 39: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

39

#include <iostream>#include <math>#include "TRandom3.h"void cards(int seed){

int Ncards=52;int Ntoys=10000;ran=new TRandom3(seed);double totalsuccess=0;for(int Itoy=0;Itoy<Ntoys;Itoy++)

{double success=0.; for(int Ntry=0;Ntry<Ncards;Ntry++)

{ int I=ran->Rndm()*Ncards;int J=ran->Rndm()*Ncards; if(I==J)success++;

}totalsuccess+=success;

}totalsuccess=totalsuccess/Ntoys;cout << totalsuccess<< endl; //

printf("%f \n ",totalsuccess);}

Η απάντηση είναι 1

• Πως εξαρτάται η Πως εξαρτάται η απάντηση από τον αριθμό απάντηση από τον αριθμό των τραπουλόχαρτων;των τραπουλόχαρτων;

•• Πως εξαρτάται η Πως εξαρτάται η απάντηση και η απάντηση και η αβεβαιότητά της από τον αβεβαιότητά της από τον αριθμό των δοκιμών αριθμό των δοκιμών NtoysNtoys;;

•• Πως επηρεάζει το «Πως επηρεάζει το «seedseed» » την απάντηση;την απάντηση;

Εφαρμογές: Παιχνίδι με τραπουλόχαρτα

Page 40: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

40

ΈστωΈστω πολυκατοικία με πολυκατοικία με mm ορόφους. ορόφους. Πόσες στάσεις θα κάνει ένας ανελκυστήρας κατά μέσο όροΠόσες στάσεις θα κάνει ένας ανελκυστήρας κατά μέσο όροαν εισέλθουν σε αυτόν αν εισέλθουν σε αυτόν n n άτομα;άτομα;

Εφαρμογές: Στάσεις σε ανελκυστήρα

Page 41: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

41

#include <iostream>#include <math>#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<Ntoys;itoy++){int x[Mfloor]={0};double success=0.; for(int i=1;i<=Npeople;i++)

{ int ifloor=ran->Rndm()*Mfloor;x[ifloor]=1;

}for(int ifloor=0;ifloor<Mfloor;ifloor++)

{staseis+=x[ifloor];

} }

staseis=staseis/Ntoys;cout << staseis << endl;

}

Απάντηση

3.455

1.522

112

151

ΣτάσειςΣτάσειςΆνθρωποιΆνθρωποιΌροφοιΌροφοι

Εφαρμογές: Στάσεις σε ανελκυστήρα

Page 42: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

42

ΈναςΈνας σκακιστής Α, έβαλε στοίχημα με δύο άλλους Β και Γ, σκακιστής Α, έβαλε στοίχημα με δύο άλλους Β και Γ, ότι μπορεί να τους νικήσει σε δύο διαδοχικές παρτίδες (από σύνολότι μπορεί να τους νικήσει σε δύο διαδοχικές παρτίδες (από σύνολο τριών) ο τριών) που θα παίξουν εναλλάξ μεταξύ τους.  που θα παίξουν εναλλάξ μεταξύ τους.  Έστω ότι από τα στατιστικά των μεταξύ τους αγώνων, Έστω ότι από τα στατιστικά των μεταξύ τους αγώνων, γνωρίζει ότι η πιθανότητα  να νικήσει τον Β είναι γνωρίζει ότι η πιθανότητα  να νικήσει τον Β είναι ppκαι η πιθανότητα να νικήσει τον Γ είναι και η πιθανότητα να νικήσει τον Γ είναι q.q.

Αν Αν p>q, p>q, πως πρέπει να αγωνιστεί για να έχει μεγαλύτερη πιθανότητα επιτυχπως πρέπει να αγωνιστεί για να έχει μεγαλύτερη πιθανότητα επιτυχίας;ίας;(1) ΒΓΒ ή (2) ΓΒΓ;(1) ΒΓΒ ή (2) ΓΒΓ;

Αναλυτική λύσηΠιθανότητα επιτυχίας (1):

Π1=pq + (1­p)qpΠιθανότητα επιτυχίας (2):

Π2=qp + (1­q)pq

Π2­Π1=pqp­qpq= pq(p­q)

Αλλά Αλλά p>qp>q, , οπότε οπότε Π2>Π1Π2>Π1

Εφαρμογές: Στοίχημα σκακιστών

Page 43: Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των οποίων τα Ncθα βρίσκονται και εντός του κύκλου, αναμένεται

43

#include <iostream>#include <math>#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<Ntoys;itoy++){

double res[3];int wins[2][3]={0}; for(int i=0;i<3;i++){

res[i]=ran->Rndm();}

for(int igame=0;igame<3;igame++){for(int iseq=0;iseq<2;iseq++){

if(res[igame]<prob[iseq][igame])wins[iseq][igame]=1;}

}for(int iseq=0;iseq<2;iseq++){

if(wins[iseq][0]+wins[iseq][1]==2 ||wins[iseq][1]+wins[iseq][2]==2)successes[iseq]++;

}}

cout <<"Prob1= "<<successes[0]/Ntoys<<" Prob2= "<<successes[1]/Ntoys << endl;}

Η απάντηση:p=0.9, q=0.8    Π1=0.7926, Π2=0.8639p=0.8, q=0.5 Π1=0.4838, Π2=0.6031p=0.5, q=0.5 Π1=0.3799, Π2=0.3799

•• ΠωςΠως εξαρτάταιεξαρτάται ηη απάντησηαπάντηση απόαπό τοντον αριθμόαριθμότωντων παρτίδωνπαρτίδων;;

•• ΠωςΠως εξαρτάταιεξαρτάται ηη απάντησηαπάντηση απόαπό τοντον αριθμόαριθμότωντων διαδοχικώνδιαδοχικών νικώννικών;;

Εφαρμογές: Στοίχημα σκακιστών