Δημιουργήστε προσομοίωση Monte Carlo χρησιμοποιώντας το Excel

Blender Tutorial: Quick Smoke Tool - Smokey (Wispy) Text Effect [Smoke Simulation] (Νοέμβριος 2024)

Blender Tutorial: Quick Smoke Tool - Smokey (Wispy) Text Effect [Smoke Simulation] (Νοέμβριος 2024)
Δημιουργήστε προσομοίωση Monte Carlo χρησιμοποιώντας το Excel

Πίνακας περιεχομένων:

Anonim

Θα αναπτύξουμε μια προσομοίωση του Monte Carlo χρησιμοποιώντας το Microsoft Excel και ένα παιχνίδι ζαριών. Η προσομοίωση Monte Carlo είναι μια μαθηματική αριθμητική μέθοδος που χρησιμοποιεί τυχαίες κλήσεις για να πραγματοποιήσει υπολογισμούς και σύνθετα προβλήματα. Σήμερα, χρησιμοποιείται ευρέως και διαδραματίζει βασικό ρόλο σε διάφορους τομείς όπως η χρηματοδότηση, η φυσική, η χημεία, η οικονομία και πολλά άλλα.

Monte Carlo Simulation

Η μέθοδος Monte Carlo εφευρέθηκε από τον Nicolas Metropolis το 1947 και επιδιώκει να λύσει σύνθετα προβλήματα χρησιμοποιώντας τυχαίες και πιθανοτικές μεθόδους. Ο όρος "Μόντε Κάρλο" προέρχεται από τη διοικητική περιοχή του Μονακό, ευρέως γνωστή ως τόπος όπου οι ευρωπαϊκές ελίτ τυγχάνουν. Χρησιμοποιούμε τη μέθοδο Monte Carlo όταν το πρόβλημα είναι πολύ περίπλοκο και είναι δύσκολο να γίνει με άμεσο υπολογισμό. Ένας μεγάλος αριθμός επαναλήψεων επιτρέπει την προσομοίωση της κανονικής κατανομής.

Η μέθοδος προσομοίωσης Monte Carlo υπολογίζει τις πιθανότητες ολοκλήρωσης και επιλύει μερικές διαφορικές εξισώσεις, εισάγοντας έτσι μια στατιστική προσέγγιση του κινδύνου σε μια πιθανοτική απόφαση. Παρόλο που υπάρχουν πολλά προηγμένα στατιστικά εργαλεία για τη δημιουργία προσομοιώσεων Monte Carlo, είναι ευκολότερο να προσομοιωθεί ο κανονικός νόμος και ο ομοιόμορφος νόμος με το Microsoft Excel και να παρακάμψουν τα μαθηματικά υποστηρίγματα.

Για τη προσομοίωση Monte Carlo, απομονώσαμε μια σειρά από βασικές μεταβλητές που ελέγχουν και περιγράφουν το αποτέλεσμα του πειράματος και αναθέτουν μια κατανομή πιθανότητας μετά την εκτέλεση ενός μεγάλου αριθμού τυχαίων δειγμάτων. Ας πάρουμε ένα παιχνίδι ζαριών ως μοντέλο.

Παιχνίδι των ζαριών

Δείτε πώς κυλάει το παιχνίδι των ζαριών:

• Ο παίκτης ρίχνει τρία ζάρια που έχουν 6 πλευρές 3 φορές.

• Αν το σύνολο των 3 βολών είναι 7 ή 11, ο παίκτης κερδίζει.

• Αν το σύνολο των 3 βολών είναι: 3, 4, 5, 16, 17 ή 18, ο παίκτης χάνει.

• Αν το σύνολο είναι οποιοδήποτε άλλο αποτέλεσμα, ο παίκτης παίζει ξανά και ξαναβάλει το πέλμα.

• Όταν ο παίκτης εκτοξεύσει πάλι το ποντίκι, το παιχνίδι συνεχίζεται με τον ίδιο τρόπο, εκτός από το ότι ο παίκτης κερδίζει όταν το άθροισμα είναι ίσο με το άθροισμα που καθορίστηκε στον πρώτο γύρο.

Συνιστάται επίσης να χρησιμοποιήσετε έναν πίνακα δεδομένων για να δημιουργήσετε τα αποτελέσματα. Επιπλέον, χρειάζονται 5 000 αποτελέσματα για την προετοιμασία της προσομοίωσης Monte Carlo.

Βήμα 1: Γεμίσματα με ζάρια

Αρχικά, αναπτύσσουμε μια σειρά δεδομένων με τα αποτελέσματα καθενός από τα 3 ζάρια για 50 ρολά. Για να γίνει αυτό, προτείνεται η χρήση της λειτουργίας "RANDBETWEEN (1.6)". Έτσι, κάθε φορά που κάνουμε κλικ στο F9, δημιουργούμε ένα νέο σύνολο ρολών. Το κελί "Αποτέλεσμα" είναι το άθροισμα των αποτελεσμάτων από τους 3 κυλίνδρους.

Βήμα 2: Εύρος αποτελεσμάτων

Στη συνέχεια, πρέπει να αναπτύξουμε μια σειρά δεδομένων για να εντοπίσουμε τα πιθανά αποτελέσματα για τον πρώτο γύρο και τους επόμενους γύρους. Παρέχεται κάτω από ένα εύρος δεδομένων με 3 στήλες.Στην πρώτη στήλη, έχουμε τους αριθμούς 1 έως 18. Αυτά τα αριθμητικά στοιχεία αντιπροσωπεύουν τα πιθανά αποτελέσματα μετά από την κύλιση των ζαριών 3 φορές: το μέγιστο είναι 3 * 6 = 18. Θα σημειώσετε ότι για τα κελιά 1 και 2, τα ευρήματα είναι N / A, δεδομένου ότι είναι αδύνατο να λάβετε 1 ή 2 χρησιμοποιώντας 3 ζάρια. Το ελάχιστο είναι 3.

Στη δεύτερη στήλη περιλαμβάνονται τα πιθανά συμπεράσματα μετά τον πρώτο γύρο. Όπως δηλώνεται στην αρχική δήλωση, είτε ο παίκτης κερδίζει (νίκη) είτε χάνει (χάνει) ή επαναλαμβάνει (Re-roll), ανάλογα με το αποτέλεσμα (το σύνολο των 3 ζαριών).

Στην τρίτη στήλη καταχωρούνται τα πιθανά συμπεράσματα στους επόμενους γύρους. Μπορούμε να επιτύχουμε αυτά τα αποτελέσματα χρησιμοποιώντας μια λειτουργία "Εάν. "Αυτό εξασφαλίζει ότι αν το αποτέλεσμα που αποκτήθηκε είναι ισοδύναμο με το αποτέλεσμα που αποκτήθηκε στον πρώτο γύρο, κερδίζουμε, αλλιώς ακολουθούμε τους αρχικούς κανόνες του αρχικού παιχνιδιού για να αποφασίσουμε αν θα επαναφέρουμε τα ζάρια.

Βήμα 3: Συμπεράσματα

Σε αυτό το βήμα, προσδιορίζουμε το αποτέλεσμα των 50 ζαριών. Το πρώτο συμπέρασμα μπορεί να ληφθεί με μια λειτουργία δείκτη. Αυτή η λειτουργία αναζητά τα πιθανά αποτελέσματα του πρώτου γύρου, το συμπέρασμα που αντιστοιχεί στο αποτέλεσμα. Για παράδειγμα, όταν λαμβάνουμε 6, όπως συμβαίνει στην παρακάτω εικόνα, παίζουμε ξανά.

Μπορεί κανείς να πάρει τα ευρήματα άλλων κυλίνδρων ζαριών χρησιμοποιώντας μια λειτουργία "Or" και μια λειτουργία ευρετηρίου που είναι ενσωματωμένη σε μια λειτουργία "If". Αυτή η λειτουργία λέει στο Excel, "Εάν το προηγούμενο αποτέλεσμα είναι Win ή Lose," σταματήστε να κυλήσετε τα ζάρια επειδή, μόλις κερδίσαμε ή χάσαμε, έχουμε τελειώσει. Διαφορετικά, πηγαίνουμε στη στήλη των παρακάτω συμπερασμάτων και προσδιορίζουμε το συμπέρασμα του αποτελέσματος.

Βήμα 4: Αριθμός ζαριών

Τώρα, καθορίζουμε τον αριθμό των ζαριών που απαιτούνται πριν χάσετε ή κερδίζετε. Για να γίνει αυτό, μπορούμε να χρησιμοποιήσουμε μια λειτουργία "Countif", η οποία απαιτεί από το Excel να μετρήσει τα αποτελέσματα του "Re-roll" και να προσθέσει τον αριθμό 1 σε αυτό. Προσθέτει ένα επειδή έχουμε έναν επιπλέον γύρο και παίρνουμε ένα τελικό αποτέλεσμα (να κερδίσουμε ή να χάσουμε).

Βήμα 5: Προσομοίωση

Αναπτύσσουμε μια σειρά για την παρακολούθηση των αποτελεσμάτων των διαφορετικών προσομοιώσεων. Για να γίνει αυτό, θα δημιουργήσουμε τρεις στήλες. Στην πρώτη στήλη, ένας από τους αριθμούς που περιλαμβάνονται είναι 5 000. Στη δεύτερη στήλη θα αναζητήσουμε το αποτέλεσμα μετά από 50 ζάρια. Στην τρίτη στήλη, τον τίτλο της στήλης, θα αναζητήσουμε τον αριθμό των ζαριών πριν λάβετε την τελική κατάσταση (νίκη ή χάσει).

Στη συνέχεια, θα δημιουργήσουμε έναν πίνακα ανάλυσης ευαισθησίας χρησιμοποιώντας τα δεδομένα χαρακτηριστικών ή τον Πίνακα δεδομένων πίνακα (αυτή η ευαισθησία θα εισαχθεί στον δεύτερο πίνακα και τις τρίτες στήλες). Σε αυτήν την ανάλυση ευαισθησίας, οι αριθμοί των συμβάντων από 1 έως 5, 000 πρέπει να εισαχθούν στο κελί A1 του αρχείου. Στην πραγματικότητα, θα μπορούσε κανείς να επιλέξει οποιοδήποτε κενό κελί. Η ιδέα είναι απλώς να αναγκαστεί ένας επανυπολογισμός κάθε φορά και έτσι να πάρουμε νέους ρόλους ζαριών (αποτελέσματα νέων προσομοιώσεων) χωρίς να καταστραφούν οι τύποι που υπάρχουν.

Βήμα 6: Πιθανότητα

Μπορούμε τελικά να υπολογίσουμε τις πιθανότητες νίκης και απώλειας. Κάνουμε αυτό χρησιμοποιώντας τη λειτουργία "Countif".Ο τύπος μετράει τον αριθμό των "νίκη" και "χάνουν" τότε διαιρείται με τον συνολικό αριθμό των γεγονότων, 5, 000, για να αποκτήσουν το αντίστοιχο ποσοστό του ενός και το άλλο. Βλέπουμε τελικά κάτω ότι η πιθανότητα να πάρει ένα αποτέλεσμα Win είναι 73. 2% και να πάρει ένα αποτέλεσμα Lose είναι συνεπώς 26. 8%.