Side 2 av 2

Re: Sannsynlighetsregning

Lagt inn: 27/12-2023 17:00
av jos
$\binom{104}{72} = \binom{104}{32}$ da $72 +32 = 104$

Re: Sannsynlighetsregning

Lagt inn: 27/12-2023 17:17
av jos
I tillegg slår det meg som "a red herring" om tilbakelegging skjer ved hver eller hver tredje trekning. Det vil påvirke sannsynlighetene for den enkelte til å vinne i dagstrekningene, men ikke fordelingen av gevinster mellom antall utfall der alle får minst én gevinst og antall utfall hvor det ikke er en slik begrensning. Mitt eget forslag til dette forholdet var forøvrig feilaktig.

Re: Sannsynlighetsregning

Lagt inn: 27/12-2023 17:44
av Gustav
10 millioner simuleringer i Python 3 gir sannsynlighet på 0.0110301, så virker som det er nært sannheten på denne oppgaver (hvis det er tilbakelegging på samtlige premier, også innad per dag).

Hvis det for hver dag er 3 ulike vinnere (men tilbakelegging etter hver dag) gir tilsvarende simulering en sannsynlighet på 0.015726.

Re: Sannsynlighetsregning

Lagt inn: 28/12-2023 02:40
av Aleks855
Da har vi jo en interessant gåte her. Fra begge våre simuleringer, så burde $P \approx 1\%$.

La $S$ være en mengde slik at $|S| = 72$. Da burde det jo la seg regne ut sannsynligheten ved å betrakte at antall suksess-scenarier er ekvivalent med antall partisjoneringer av $S$ i 33 ikke-tomme partisjoner, og det totale antallet scenarier er ekvivalent med antall partisjoneringer av $S$ i 33 partisjoner, der partisjonene kan være tomme.

Når jeg prøver å finne ut av hvordan man skulle gjort det, så havner jeg inne på noe som kalles Stirling-tall, men det var ikke en spesielt fruktbar vei å gå, for mitt nivå.

Re: Sannsynlighetsregning

Lagt inn: 28/12-2023 14:50
av Mattebruker
Hallo ! Har laga min eigen datakode ( Python3 ) for å estimere P( alle tilsette får minst ein gevinst ) når vi gjennomfører 72 enkelttrekningar .
Fekk 780 treff på 100000 " forsøk ". PC-en min brukte mindre enn eit halvt minutt på denne jobben. Auka deretter talet på simuleringar til 1000000. Da opplevde
eg at maskinen melde " pass" ( "behandling pågår " - merket forvann ) før den kom i mål. Kan nokon av dykk gi ei plausibel forklaring på denne funksjonssvikten ?
Ser at Gustav har utført 10 millionar " forsøk " med sin "arbeidshest" og fått eit høgst tilfredsstillande resultat.

Re: Sannsynlighetsregning

Lagt inn: 28/12-2023 16:10
av Gustav
Aleks855 skrev: 28/12-2023 02:40 Da har vi jo en interessant gåte her. Fra begge våre simuleringer, så burde $P \approx 1\%$.

La $S$ være en mengde slik at $|S| = 72$. Da burde det jo la seg regne ut sannsynligheten ved å betrakte at antall suksess-scenarier er ekvivalent med antall partisjoneringer av $S$ i 33 ikke-tomme partisjoner, og det totale antallet scenarier er ekvivalent med antall partisjoneringer av $S$ i 33 partisjoner, der partisjonene kan være tomme.

Når jeg prøver å finne ut av hvordan man skulle gjort det, så havner jeg inne på noe som kalles Stirling-tall, men det var ikke en spesielt fruktbar vei å gå, for mitt nivå.
Tror feilen med min analytiske metode er at jeg har antatt at premiene er identiske, mens de i simuleringen ikke er det.

Vi kan betrakte en forenklet situasjon med 3 premier og 2 ansatte. Kall premiene $a,b,c$ og la $(a,b)$ betegne at ansatt nr 1 har fått premie $a$, og ansatt 2 har fått premie $b$ etc. Da får vi følgende 8 mulige premiefordelinger: $(abc,0),(ac,b),(ab,c),(a,bc),(bc,a),(b,ac),(0,abc),(c,ab)$. Sannsynligheten for at begge ansatte får minst 1 premie blir altså $6/8=75\%$. Noe som stemmer ved simulering tilsvarende tidligere. Den analytiske løsningen med samme metode som mitt første innlegg gir $\frac{2\choose 1}{4\choose 3}=50\%$.

Man må altså modifisere stars-and-bars-metoden til at premiene er ikke-identiske, noe som er gjort her: https://math.stackexchange.com/question ... ct-objects

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 13:26
av Mattebruker
Hallo igjen ! Datasimulering av sannsynet

( * ) P(minst ein gevinst på alle tilsette )

har igjen fanga interessa mi. Denne gongen har eg laga ein datakode som simulerer sannsynet ( * ) gitt at "Lotto-maskinen" trekkjer ut tre ulike vinnarar
kvar dag i 24 dagar. Lot programmet utføre 100000 " forsøk " , og kom ut med 1087 "treff". Men PC - en min brukte 26 minutt på denne jobben, altså
relativt lang tid.
Ser at Aleks og Gustav har utført same analysen med høvesvis 1 million og 10 millionar simuleringar. Da lurer eg på kor lang tid dataverktøyet
dykkar brukte på desse analysane. Ser elles at koden til Aleks har færre og difor langt meir potente kommandoar enn dei eg har brukt i mi løysing.
"Avansert" koding vil ganske sikkert redusere køyretida. For orden skuld legg eg ved den koden eg sjølv har brukt.

Kode: Velg alt

from numpy import *
import random
treff = 0
for talsimuleringar in range(1,100001):
 rekke = zeros(5)
 personale = zeros(35)
 for dag in range(1,25):
  test= False
  while (test == False): 
   for nummer in range(1,4):
    rekke[nummer]= random.randint(1,34)
   test1 = rekke[1] != rekke[2]
   test2 = rekke[1] != rekke[3]
   test3 = rekke[2] != rekke[3]
   test = test1 and test2 and test3
  for k in range(1,4):
   personale[rekke[k]] = personale[rekke[k]] + 1
 minstein = True
 for tilsett in range(1,34):
  if personale[tilsett] < 1:
    minstein = False
 if minstein == True:
  treff = treff + 1
print( "Antaltreff: ", treff)      

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 15:47
av Gustav

Kode: Velg alt

import numpy as np
import random
import time
from random import sample

start = time.time()
successes = 0.
simulations = 1000000
employees = 33

for _ in range(simulations):
	winners = [0] * employees
	for _ in range(24): 
		for n in sample(range(0, employees), 3): winners[n] += 1
	if np.count_nonzero(winners) == employees: successes += 1

print successes / simulations
print time.time() - start
Denne koden med 1 million simuleringer tok 98 sekund og gir sannsynligheten 0.015. Der plukkes 3 distinkte vinnere hver dag. Python 2.7 på en gammel macbook pro mid 2014 med 16gb ram og 2.2Ghz, firekjerners i7 prosessor.

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 16:09
av Mattebruker
Imponerande ! Du brukar openbart eit langt meir hurtigarbeidande verktøy enn det eg har tilgang til.

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 16:43
av Gustav
Antall måter å fordele $n$ distinkte premier på $k$ identiske ansatte slik at ingen ansatt står uten premie er gitt av "Stirling number of the second kind", ${n \brace k}=\sum_{i=0}^k \frac{(-1)^{k-i}i^n}{(k-i)!i!}$. Hvis de ansatte er distinkte må vi multiplisere dette med $k!$, så antall måter å fordele $n$ distinkte premier på $k$ distinkte ansatte slik at ingen står uten premie blir $k!\cdot {n \brace k}=\sum_{i=0}^k (-1)^{k-i}{k\choose i}i^n$ . Antall måter å fordele $n$ distinkte premier på $k$ distinkte ansatte uten betingelsen at alle ansatte får premie er $k^{n}$.

Sannsynligheten for at alle ansatte får minst én premie når det er tilbakelegging på samtlige premier blir derfor $$p=\frac{\sum_{i=0}^k (-1)^{k-i}{k\choose i}i^n}{k^n}=\frac{\sum_{i=0}^{33} (-1)^{33-i}{33\choose i}i^{72}}{33^{72}}\approx 0.011038..$$, som stemmer bra med våre simuleringer.

Kilde: https://en.wikipedia.org/wiki/Stirling_ ... econd_kind

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 17:01
av Aleks855
Gustav skrev: 29/12-2023 16:43 Antall måter å fordele $n$ distinkte premier på $k$ identiske ansatte slik at ingen ansatt står uten premie er gitt av "Stirling number of the second kind", ${n \brace k}=\sum_{i=0}^k \frac{(-1)^{k-i}i^n}{(k-i)!i!}$. Hvis de ansatte er distinkte må vi multiplisere dette med $k!$, så antall måter å fordele $n$ distinkte premier på $k$ distinkte ansatte blir $k!\cdot {n \brace k}=\sum_{i=0}^k (-1)^{k-i}{k\choose i}i^n$ . Antall måter å fordele $n$ distinkte premier på $k$ distinkte ansatte uten betingelsen at alle ansatte får premie er $k^{n}$.

Sannsynligheten for at alle ansatte får minst én premie når det er tilbakelegging på samtlige premier blir derfor $$p=\frac{\sum_{i=0}^k (-1)^{k-i}{k\choose i}i^n}{k^n}=\frac{\sum_{i=0}^{33} (-1)^{33-i}{33\choose i}i^{72}}{33^{72}}\approx 0.011038..$$, som stemmer bra med våre simuleringer.

Kilde: https://en.wikipedia.org/wiki/Stirling_ ... econd_kind
Fantastisk! Jeg var inne på det med Stirling-tall, men noe av det jeg glemte var blant annet å gange med $k!$.

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 17:02
av Aleks855
Mattebruker skrev: 29/12-2023 16:09 Imponerande ! Du brukar openbart eit langt meir hurtigarbeidande verktøy enn det eg har tilgang til.
Prøv gjerne å kjøre Gustavs kode på din egen maskin. Det er ikke sikkert det er SÅ langt bak.

Re: Sannsynlighetsregning

Lagt inn: 29/12-2023 18:27
av SEJOHNSE@YAHOO.NO
Fantastisk, da er vi vel i mål både med den matematiske og den simiuleringsmessige løsningen - takk for stort engasjement! og gode svar. Lite sannsynlig at alle kollegene vinner hvis ikke antall premier endres.