Documente Academic
Documente Profesional
Documente Cultură
Obiective
57
Modele de simulare. Îndrumar de laborator
Suport teoretic
Repartiţia Bernoulli
0, 𝑑𝑎𝑐ă 𝑥 < 0
𝐹𝑍 (𝑥) = { 𝑞 𝑑𝑎𝑐ă 0 ≤ 𝑥 < 1 (6.2)
1, 𝑑𝑎𝑐ă 𝑥 > 1
- Algoritmul de simulare a unei variabile Bernoulli (prin metoda
inversării funcţiei de repartiţie) este cel din Figura 6.1:
Citeşte p
𝑍←0
Generează 𝜏~𝑈(0,1)
Dacă 𝜏 < 𝑝 atunci
𝑍←1
Scrie Z
Stop
Figura 6.1. Algoritmul de generare a unei variabile Bernoulli
D 2 (Z ) p q p (1 p) (6.4)
58
Lucrarea de laborator 6
Repartiţia binomială
Se consideră un experiment de tip Bernoulli repetat în condiţii identice de un
număr de ori, notat n, şi se notează cu k numărul de succese înregistrate. Numărul
k este realizarea unei variabile aleatoare 𝑋, numită variabilă binomială şi are
următoarea lege de probabilitate:
𝑃(𝑋 = 𝑘 ) = 𝐶𝑛𝑘 𝑝𝑘 𝑞𝑛−𝑘 , 𝑘 = 0, 𝑛; 𝑞 = 1 − 𝑝 (6.5)
sau, echivalent:
0 1 2 ⋯ 𝑘 ⋯ 𝑛
𝑋=( ) (6.6)
𝐶𝑛0 𝑝0 𝑞𝑛 𝐶𝑛1 𝑝1 𝑞𝑛−1 𝐶𝑛2 𝑝2 𝑞𝑛−2 ⋯𝐶𝑛𝑘 𝑝𝑘 𝑞𝑛−𝑘 ⋯ 𝐶𝑛𝑛 𝑝𝑛 𝑞0
59
Modele de simulare. Îndrumar de laborator
D2 ( X ) n p q (6.10)
Repartiţia geometrică
sau, echivalent:
1 2 3 ⋯ 𝑘 ⋯
𝑋=( ) (6.12)
𝑝 𝑝𝑞 𝑝𝑞2 ⋯ 𝑝𝑞𝑘−1 ⋯
𝑝𝑟1 ← 𝑝
pentru 𝑘 ← 2, 𝑛 execută
𝑝𝑟𝑘 ← 𝑝𝑟𝑘−1 ∙ 𝑞
Figura 6.4. Calculul recurent al probabilităţilor
(repartiţia geometrică)
- Media unei variabile cu repartiţie geometrică:
q
M (X ) (6.14)
p
- Dispersia unei variabile cu repartiţie geometrică:
q
D2 ( X ) (6.15)
p2
60
Lucrarea de laborator 6
Citeşte p,n
𝑋←0
Repetă
𝑍←0
Generează 𝜏~𝑈(0,1)
Dacă 𝜏 < 𝑝 atunci
𝑍←1
𝑋 ←𝑋+1
Până când 𝑍 = 1
Scrie X
Stop
Figura 6.5. Algoritmul de generare a unei variabile
cu repartiţie geometrică
Modul de lucru
Aplicaţia 6.1.
61
Modele de simulare. Îndrumar de laborator
textBox1
textBox3
label1
textBox2
radioButton1
label2
radioButton2
button1
62
Lucrarea de laborator 6
int n;
double p, q;
Random r = new Random();
int Bernoulli(double p)
{
int z = 0;
double tau = r.NextDouble();
if (tau < p)
z = 1;
return z;
}
63
Modele de simulare. Îndrumar de laborator
Observaţii
64
Lucrarea de laborator 6
65
Modele de simulare. Îndrumar de laborator
66
Lucrarea de laborator 6
Aplicaţia 6.2.
Pentru rezolvarea acestei aplicaţii se foloseşte repartiţia binomială. Se
consideră evenimentul „piesa extrasă aleator din lot este defectă”. Întrucât se
cunoaşte probabilitatea p de realizare a acestui eveniment în cadrul unui
experiment, variabila binomială va avea semnificaţia: “câte din cele n piese
extrase sunt defecte”.
Probabilitatea ca din cele n piese extrase, cel puţin m piese să fie defecte
va fi:
label1 textBox1
button1
dataGridView1
label2 textBox2
label3 textBox3
button2 textBox4
button3
67
Modele de simulare. Îndrumar de laborator
68
Lucrarea de laborator 6
dataGridView1.Rows[0].HeaderCell.Value = "X";
dataGridView1.Rows[1].HeaderCell.Value = "p";
q = 1 - p;
pr = new double[n+1];
pr[0] = Math.Pow(q, n);
for (i = 1; i <= n; i++)
pr[i] = pr[i - 1] * ((n - i + 1) * p)/(i* q);
for(i=0;i<=n;i++)
{
dataGridView1.Rows[0].Cells[i].Value = i.ToString();
dataGridView1.Rows[1].Cells[i].Value=pr[i].ToString("0.00000");
}
}
catch
{
MessageBox.Show("Introduceti un numar real intre 0 si 1
pentru p!\r\nIntroduceti un numar natural pentru n!");
}
}
69
Modele de simulare. Îndrumar de laborator
Aplicaţia 6.3.
70
Lucrarea de laborator 6
dataGridView1
label2 textBox2
textBox3
71
Modele de simulare. Îndrumar de laborator
72
Lucrarea de laborator 6
73
Modele de simulare. Îndrumar de laborator
74