1. Två punkter på en tallinje

Betrakta två slumpmässigt valda reella tal x, y som uppfyller 0 ≤ x ≤ 1, 0 ≤ y ≤ 1.

Med andra ord är x och y två slumpmässigt valda punkter på tallinjen mellan 0 och 1.

image

Vi ställer oss följande problem: vad är sannolikheten att avståndet mellan två slumpmässigt valda tal mellan 0 och 1 är större än 1/2?

Idé till lösning

Avståndet mellan talen är större än 1/2 om x - y > 1/2 eller y - x > 1/2.

Låt nu datorn slumpa ut talpar (x,y) och uppskatta sannolikheten genom att beräkna den relativa frekvensen

f / n = (antal slumpförsök då avståndet är större än 1/2) / (totalt antal slumpförsök) ≈ p

Om vi låter antalet slumpförsök n → ∞ så f / n → p

Programkod

Använd skalet till program nedan. Försök förstå programmet. I programmet saknas villkoret som är uppfyllt om avståndet mellan talen är större än 0,5. Fyll i detta villkor själv.

# Avståndet mellan två slumpade punkter på tallinjen mellan 0 och 1.

from math import*
from random import*

f = 0 # antalet gånger avståndet är större än 0,5
n = 100000 # totala antalet slumpförsök

for n in range(1,n + 1):
    # random() ger ett slumptal mellan 0 och 1
    x = random() # punkt 1 
    y = random() # punkt 2
    
    if : #här fyller du i lämpligt villkor
        f = f + 1

print('Antal avstånd större än 1/2:', f)
print('Antal slumpförsök:', n)
print('Relativ frekvens: ', f/n)

Variera antalet försök och uppskatta den sökta sannolikheten.