Ypologistikes Efarmoges 1”ΙΑΦΑΝΕΙΕΣ...του τετραγώνου, εκ των...

of 43 /43
1 Μέθοδοι Monte Carlo Εφαρμογές στην Επίλυση Προβλημάτων Εισαγωγή Εισαγωγή στην στην Εκτίμηση Εκτίμηση Παραμέτρων Παραμέτρων Μέθοδος Ροπών Μέθοδος Μεγίστης Πιθανοφάνειας Μέθοδος Ελαχίστων τετραγώνων Συστηματικές Αβεβαιότητες Υπολογιστικές Υπολογιστικές Εφαρμογές Εφαρμογές στην στην Σ Σ τατιστική τατιστική Ε Ε πεξεργασία πεξεργασία Δ Δ εδομένων εδομένων Στα πλαίσια του μαθήματος ΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ ΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ Δ. Φασουλιώτης, Ε. Στυλιάρης Δ. Φασουλιώτης, Ε. Στυλιάρης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2012 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2012 2013 2013

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

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

  • 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