Upload
others
View
21
Download
0
Embed Size (px)
Citation preview
VEROVATNOĆA I
STATISTIKA
6/6/2018
VEROVATNOĆA I STATISTIKA
2
MINI-PROJEKAT IZ VEROVATNOĆE I STATISTIKE
-UZASTOPNI BROJEVI U IGRI LOTO-
AUTORI:
PARIPOVIĆ ALEKSANDAR 417/2016
MITROVIĆ KSENIJA 421/2016
VEROVATNOĆA I STATISTIKA
3
a) Verovatnoća da je razlika između svaka dva
izvučena broja veća ili jednaka k:
P(A) = ∑ (𝒎−𝟏+𝒊
𝒎−𝟏 )𝒏−(𝒎−𝟏)∙𝒌−𝟏𝒊=𝟎𝒏∙(𝒏−𝟏)∙ ... ∙(𝒏−𝒎+𝟏)
𝒎!
n – broj kuglica numerisanih brojevima od 1 do n m – broj izvučenih kuglica 𝒏∙(𝒏−𝟏)∙… ∙(𝒏−𝒎+𝟏)
𝒎! - predstavlja broj različitih kombinacija
od po m brojeva.
∑ (𝒎−𝟏+𝒊𝒎−𝟏
)𝒏−(𝒎−𝟏)∙𝒌−𝟏𝒊=𝟎 – koliko ima kombinacija
koje zadovoljavaju dati uslov.
Našli smo maksimalnu vrednost najmanjeg od ovih m brojeva. Ona iznosi amin1= 𝒏 − (𝒎 − 𝟏) ∙ 𝒌.
Takvih kombinacija ima (𝒎−𝟏𝒎−𝟏
).
Sledeća moguća vrednost za najmanji broj je za
jedan manja tj. iznosi amin2 = 𝒏 − (𝒎 − 𝟏) ∙ 𝒌 − 𝟏. U ovom slučaju, kada je vrednost najmanjeg broja
fiksirana imamo ukupno (𝒎−𝟏+𝟏𝒎−𝟏
) kombinacija.
VEROVATNOĆA I STATISTIKA
4
Sledeća moguća vrednost za najmanji broj iznosi amin3 = 𝒏 − (𝒎 − 𝟏) ∙ 𝒌 − 𝟐.
U ovom slučaju imamo ukupno (𝒎−𝟏+𝟐𝒎−𝟏
) kombinacija.
Dalje, najmanja moguća vrednost najmanjeg broja je 1.
U ovom slučaju imamo ukupno (𝒎−𝟏+𝒏−(𝒎−𝟏)∙𝒌−𝟏 𝒎−𝟏
).
Primećujemo da kada saberemo sve slučajeve za najmanji
broj dobijamo sumu koja je jednaka : ∑ (𝒎−𝟏+𝒊𝒎−𝟏
)𝒏−(𝒎−𝟏)∙𝒌−𝟏𝒊=𝟎 .
b) U igri Loto naći verovatnoću da su izvučena dva susedna broja.
U formuli iz primera pod a) ako bismo za n, m i k uzeli konkretne vrednosti, tj. n=39, m=7 i k=2 dobili bismo verovatnoću da je razlika svaka dva izvučena broja u igri Loto veća ili jednaka 2 (dogadjaj A). Neka je ta verovatnoća jednaka
P(A) = ∑ (𝟔+𝒊
𝟔 )𝟐𝟔𝒊=𝟎
𝟑𝟗∙𝟑𝟖∙… ∙𝟑𝟑
𝟕!
.
Suprotan dogadjaj dogadjaju A je da je izvučen barem jedan par brojeva čija je razlika manja od 2, tj. jednaka 1 (pošto su brojevi različiti), a to znači da su ti brojevi susedni.
VEROVATNOĆA I STATISTIKA
5
Važi : P(A’) = 1 -∑ (𝟔+𝒊
𝟔 )𝟐𝟔𝒊=𝟎
𝟑𝟗∙𝟑𝟖∙… ∙𝟑𝟑
𝟕!
.
VEROVATNOĆA I STATISTIKA
6
Loto (ital. Lotto) je oblik igre na sreću u kojoj se pogađa kombinacija brojeva koja će biti izvučena u predstojećem događaju.
U sledećoj tabeli se mogu videti svi nizovi uzastopnih brojeva – 2,3,4,5,6,7 koji su izvučeni u loto kombinacijama od 1985. do 2011. godine. Kao što se iz priložene tabele vidi do kraja 2011. godine Još nisu izvučeni nizovi od 7 i 6 uzastopnih brojeva. Za nizove od 5 i 4 uzastopna broja prikazani su Pojedinačni brojevi kojisu bili zastupljeni u izvučenim kombinacijama, kao I njihova učestanost u pojedinim godinama. Za nizove od 3 i 2 broja, zbog velike zastupljenosti u izvučenim kombinacijama suvišno je prikazati sve kombinacije u kojima su bili zastupljeni.
VEROVATNOĆA I STATISTIKA
7
f- brojpojavljivanjaodređenognizauzastopnihbrojeva pojedinačnojgodiniiliukupno od 1985. godine.
VEROVATNOĆA I STATISTIKA
8
Za nizove od 3 uzastopna broja prikazani su samo brojevi koji su se najmanje i najviše puta pojavljivali u dobitnim kombinacijama. Za nizove od 2 uzastopna broja, u ovom period su bili zastupljeni svi parovi.
Sledeći grafikon prikazuje učestanost raspona brojeva u svim loto kombinacijama izvučenim u 2018. godini. Ukupan broj odigranih kola je 2178, a brojo digranih kola u 2018. godini je 44.
Ukupno: -najmanji raspon – 25 (1 kolo) -najveći raspon -39 (3 kola) -najčešći raspon -33 (6 kola)
VEROVATNOĆA I STATISTIKA
9
Na sledećem grafikonu je prikazana učestanost brojeva u 2018. godini:
Najveća učestanost-brojevi: 8, 23 Broj izvlačenja : 14 Najmanja učestanost – brojevi: 12, 29 Broj izvlačenja: 2 Ukupno je izvučeno:
- Neparnih brojeva – 159 - Parnih brojeva – 149
Najčešće kombinacije sa neparnim i parnim brojevima: -3n i 4p (14 kombinacija) -4n i 3p (14 kombinacija) Kombinacije sa najmanjim zbirom brojeva izvučene u 2018. godini: zbir – 65 Kombinacije sa najvećim zbirom brojeva: zbir - 201
VEROVATNOĆA I STATISTIKA
10
Prvi zadatak: package loto; import java.awt.JobAttributes.MultipleDocumentHandlingType; import java.lang.Math; import java.math.BigDecimal; import java.math.BigInteger; import java.math.RoundingMode; public class Lutrija { private int m, n, k; private int loto[]; public Lutrija(int m, int n, int k) { this.m=m; this.n=n; this.k=k; loto=new int[m]; } private BigDecimal faktorijal(int m, int i) { BigDecimal rez=new BigDecimal("1"); rez = rez.multiply(fact2(i+1, m-1+i)); rez = rez.divide(fact1(m-1), 10, RoundingMode.HALF_UP); return rez; } public static BigDecimal fact1(int iNo) { BigDecimal a = new BigDecimal("1");
VEROVATNOĆA I STATISTIKA
11
for(int i=1;i<=iNo;i++) { String s=Integer.toString(i); BigDecimal b = new BigDecimal(s); a = a.multiply(b); } return a; } private static BigDecimal fact2(int k, int n) { BigDecimal rez= new BigDecimal("1"); for(int i=k;i<=n;i++) { String s = Integer.toString(i); BigDecimal b = new BigDecimal(s); rez = rez.multiply(b); } return rez; } private BigDecimal suma(int n) { BigDecimal rez= new BigDecimal("0"); for(int i=0;i<=n;i++) rez=rez.add(faktorijal(m, i)); return rez; } public BigDecimal finalno() { BigDecimal rez = new BigDecimal("1"); rez = rez.multiply(suma(n-(m-1)*k-1)); rez=rez.divide(fact2(n-m+1, n), 10, RoundingMode.HALF_UP); rez=rez.multiply(fact1(m)); return rez; } private int getN() {
VEROVATNOĆA I STATISTIKA
12
return n; } private int getM() { return m; } private int getK() { return k; } } package loto; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; public class Program { public static void main(String[] args) { Scanner s = new Scanner(System.in); Simulacija sim; Provera provera; int n, m, k, p; int broj=1; while(broj!=0) { System.out.println("Izaberite jednu stavku menija");
VEROVATNOĆA I STATISTIKA
13
System.out.println("1.Simulacija ispisa jednog loto listica"); System.out.println("2.Provera formule simulacijom"); System.out.println("3.Provera formule u slucaju igre LOTO 7/39"); System.out.println("4.Provera formule za susedne brojeve u igri LOTO 7/39"); System.out.println("5.Simulacija igre LOTO 7/39"); System.out.println("0.Zavrsetak programa"); broj=s.nextInt(); switch(broj) { case 1: System.out.println("Unesite n"); n=s.nextInt(); System.out.println("Unesite m"); m=s.nextInt(); System.out.println("Unesite k"); k=s.nextInt(); sim = new Simulacija(n, m, k); sim.napravi_kombinaciju(); sim.sortiraj(); if(sim.proveri()) System.out.println("Razlika svih susednih brojeva je veca ili jednaka od " + k + "\n"); else System.out.println("Postoji par susednih brojeva cija je razlika manja od " + k + "\n"); sim.ispisi();
VEROVATNOĆA I STATISTIKA
14
System.out.println(); break; case 2: System.out.println("Unesite n"); n=s.nextInt(); System.out.println("Unesite m"); m=s.nextInt(); System.out.println("Unesite k"); k=s.nextInt(); System.out.println("Unesite broj ponavljanje"); p=s.nextInt(); provera=new Provera(n, m, k, p); provera.provera(); System.out.println(); break; case 3: System.out.println("Unesite broj ponavljanja"); p=s.nextInt(); provera=new Provera(39, 7, 2, p); provera.provera(); System.out.println(); break; case 4:
VEROVATNOĆA I STATISTIKA
15
System.out.println("Unesite broj ponavljanja"); p=s.nextInt(); provera=new Provera(39, 7, 2, p); provera.proveraB(); System.out.println(); break; case 5: System.out.println("Unesite broj loto listica"); p=s.nextInt(); provera=new Provera(39, 7, 2, p); provera.simulacija(); System.out.println(); break; } } } } package loto;
VEROVATNOĆA I STATISTIKA
16
import java.math.BigDecimal; import java.util.Scanner; public class Provera { private int n, m, k, ponavljanje; private int loto[][]; private int pomoc[]; public Provera(int n, int m, int k, int ponavljanje) { this.n=n; this.m=m; this.k=k; this.ponavljanje=ponavljanje; loto=new int[ponavljanje][m]; pomoc=new int[5]; } public void provera() { int brojac=0; Lutrija l =new Lutrija(m, n, k); BigDecimal big = (BigDecimal) l.finalno(); System.out.println("Verovatnoca bi priblizno trebalo da bude : " + big); for(int i=0;i<ponavljanje;i++) { Simulacija sim = new Simulacija(n, m, k); sim.napravi_kombinaciju(); sim.sortiraj(); if(sim.proveri()==true) brojac++;
VEROVATNOĆA I STATISTIKA
17
} System.out.println(); double rez=(double)brojac/(double)ponavljanje; System.out.println("Verovatnoca prilikom ove provere simulacije je: " + rez + " \n"); System.out.println(); } public void simulacija() { int brojac=0; for(int i=0;i<ponavljanje;i++) { Simulacija sim = new Simulacija(n, m, k); sim.napravi_kombinaciju(); sim.sortiraj(); for(int j=0;j<m;j++) loto[brojac][j]=sim.pniz[j]; brojac++; } Simulacija sim = new Simulacija(n, m, k); sim.napravi_kombinaciju(); sim.sortiraj(); System.out.println("Izvucena LOTO kombinacija je: "); sim.ispisi(); for(int i=0;i<ponavljanje;i++){ int b=0; for(int j=0;j<m;j++) for(int z=0;z<m;z++) if(loto[i][j] == sim.pniz[z])
VEROVATNOĆA I STATISTIKA
18
b++; if (b >= 3) pomoc[b-3]++; } for(int i=0;i<5;i++) if(i<2) System.out.println("Sa " + (i+3) + " pogotka ima " + pomoc[i] + " kombinacija"); else System.out.println("Sa " + (i+3) + " pogodataka ima " + pomoc[i] + " kombinacija"); } public void proveraB() { int brojac=0; Lutrija l =new Lutrija(m, n, k); BigDecimal big = (BigDecimal) l.finalno(); BigDecimal a = new BigDecimal(1); a = a.subtract(big); System.out.println("Verovatnoca bi priblizno trebalo da bude : " + a); for(int i=0;i<ponavljanje;i++) { Simulacija sim = new Simulacija(n, m, k); sim.napravi_kombinaciju(); sim.sortiraj(); if(sim.proveri()==false) brojac++;
VEROVATNOĆA I STATISTIKA
19
} System.out.println(); double rez=(double)brojac/(double)ponavljanje; System.out.println("Verovatnoca prilikom ove provere simulacije je: " + rez + " \n"); System.out.println(); } } package loto; import java.util.Scanner; import java.lang.Math; public class Simulacija { private int m, n, k; public int pniz[]; public Simulacija(int n, int m, int k) { this.n=n; this.m=m; this.k=k; pniz=new int[m]; } public void napravi_kombinaciju() { boolean flag=false; for(int i=0;i<m;i++) { flag=false;; int broj = (int)(Math.random()*n + 1); for(int j=0;j<i;j++)
VEROVATNOĆA I STATISTIKA
20
if(pniz[j]==broj) { flag=true; break; } if(flag==true) i--; else pniz[i]=broj; } } public void sortiraj() { for(int i=0;i<m-1;i++) for(int j=i+1;j<m;j++) if(pniz[i]>pniz[j]) { int temp=pniz[i]; pniz[i]=pniz[j]; pniz[j]=temp; } } public boolean proveri() { boolean flag=true; for(int i=0;i<m-1;i++) if(pniz[i+1]-pniz[i]<k) { flag=false; break; } return flag; } public void ispisi() {
VEROVATNOĆA I STATISTIKA
21
for(int i=0;i<m;i++) System.out.print(pniz[i] + " "); System.out.println(); }
}
VEROVATNOĆA I STATISTIKA
22
Prikaz simulacije za prvi zadatak :
VEROVATNOĆA I STATISTIKA
23
Drugi zadatak : package loto_gui; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.util.Random; import java.awt.*; public class Bubanj extends Panel implements Runnable { private static int[] niz=new int[39]; private static int idUk=0; private int id=++idUk; private boolean radi=false; private Thread nit=new Thread(this); private Label label=new Label("39", Label.CENTER); public Bubanj() { setSize(15000, 70000); setBackground(Color.YELLOW); label.setFont(new Font(null, Font.BOLD, 30)); add(label, "Center"); for(int i=0;i<39;i++) niz[i]=0; setVisible(true); nit.start(); } private void radnja() {
VEROVATNOĆA I STATISTIKA
24
Random rand =new Random(); String s=label.getText(); int d=Integer.parseInt(s); niz[d-1]=0; int number=0; boolean flag=true; while(flag) { number=rand.nextInt(39)+1; flag=false; if(niz[number-1]==1) flag=true; else niz[number-1]=1; } label.setText(Integer.toString(number)); } @Override public void run() { try { while(!Thread.interrupted()) { synchronized (this) { if(!radi) wait(); } radnja(); Thread.sleep(10); } }catch(InterruptedException ie) {} } public String tekst() {
VEROVATNOĆA I STATISTIKA
25
return label.getText(); } public synchronized void kreni() { setBackground(Color.RED); radi=true; notifyAll(); } public synchronized void stani() { setBackground(Color.GREEN); radi=false; } public void unisti() { nit.interrupt(); } }
package loto_gui; import java.awt.*; import java.awt.event.*; public class Masina extends Panel { private Bubanj[] niz; private int pop=0; private int[] brojevi; private int jot=0; public Masina(int kap) { niz=new Bubanj[kap]; for(int i=0;i<niz.length;i++) {
VEROVATNOĆA I STATISTIKA
26
niz[i]=new Bubanj(); add(niz[i]); } brojevi=new int[niz.length]; setVisible(true); } public String zaustavi(int k) { niz[k].stani(); brojevi[jot++]=Integer.parseInt(niz[k].tekst()); if(jot==7) { sortiraj(); jot=0; } return niz[k].tekst(); } public void pokreniSve() { for(int i=0;i<niz.length;i++) niz[i].kreni(); } private void zaustaviSve() { for(int i=0;i<niz.length;i++) niz[i].stani(); } private void brojevi() { zaustaviSve(); for(int i=0;i<brojevi.length;i++) {
VEROVATNOĆA I STATISTIKA
27
String s=niz[i].tekst(); brojevi[i]=Integer.parseInt(s); } } private void sortiraj() { for(int i=0;i<brojevi.length-1;i++) for(int j=i+1;j<brojevi.length;j++) if(brojevi[i]>brojevi[j]) { int temp=brojevi[i]; brojevi[i]=brojevi[j]; brojevi[j]=temp; } } public void zaustaviBubnjeve() { brojevi(); sortiraj(); } public void unisti() { for(int i=0;i<niz.length;i++) niz[i].unisti(); } public int[] niz() { return brojevi; } }
package loto_gui; import java.awt.*; import java.awt.event.*;
VEROVATNOĆA I STATISTIKA
28
package loto_gui; import java.util.Random; public class Listici { private int[][] loto; private int broj=0; private int[] listic =new int[7]; private int[] pomoc=new int[5]; private int pop=0; private int[] help=new int[39]; public Listici() { loto=new int[1][1]; } public int[] prebroj() { for(int i=0;i<5;i++) pomoc[i]=0; for(int i=0;i<broj;i++) if(loto[i][7]>2) { switch(loto[i][7]) { case 3: pomoc[0]++; break; case 4: pomoc[1]++; break; case 5: pomoc[2]++; break; case 6: pomoc[3]++; break; case 7: pomoc[4]++; break; } }
VEROVATNOĆA I STATISTIKA
29
return pomoc; } public void pretrazi(int br) { for(int i=0;i<broj;i++) for(int j=0;j<7;j++) if(loto[i][j]==br) { loto[i][j]=0; loto[i][7]++; break; } } public void napravi(int kap) { broj=kap; loto=new int[broj][8]; int[] pom=new int[7]; for(int i=0;i<broj;i++) { pom=napraviListic(); for(int j=0;j<pom.length;j++) loto[i][j]=pom[j]; loto[i][7]=0; } } private int[] napraviListic() { boolean flag=false; Random rand=new Random(); for(int i=0;i<listic.length;i++) { flag=false; int broj = rand.nextInt(39)+1; for(int j=0;j<i;j++) if(listic[j]==broj) { flag=true; break;
VEROVATNOĆA I STATISTIKA
30
} if(flag==true) i--; else listic[i]=broj; } sortiraj(); return listic; } private void sortiraj() { for(int i=0;i<listic.length-1;i++) for(int j=i+1;j<listic.length;j++) if(listic[i]>listic[j]) { int temp=listic[i]; listic[i]=listic[j]; listic[j]=temp; } } public int[] pobeda() { help=new int[vratiBroj()]; pop=0; for(int i=0;i<broj;i++) if(loto[i][7]==6) { int p=0; while(loto[i][p]==0) p++; help[pop++]=loto[i][p]; } return help; }
VEROVATNOĆA I STATISTIKA
31
public int vratiBroj() { pop=0; for(int i=0;i<broj;i++) if(loto[i][7]==6) pop++; return pop; } } public class Loto extends Frame { private Masina masina; private Button kreni, zaustavi, stani, napravi; private TextField[] txt; private Label label, label_br; private int[] niz; private Label[] labele; private TextField[] tekst; private static int brojac=0; private int broj_kombinacija=0; private Listici listici=new Listici(); private int[] pomoc=new int[5]; private Panel tabela=new Panel(new GridLayout(13, 3)); private Label[] tab=new Label[39]; private Panel[] paneli=new Panel[39]; private Dobitak dobitak=new Dobitak(); private int[] help=new int[20]; private TextField broj_komb=new TextField("1"); { kreni=new Button("Kreni"); zaustavi=new Button("Zaustavi");
VEROVATNOĆA I STATISTIKA
32
stani=new Button("Stani"); napravi=new Button("Napravi"); } private void mozeKreni(boolean flag) { kreni.setEnabled(flag); zaustavi.setEnabled(!flag); } private void mozeStani(boolean flag) { kreni.setEnabled(!flag); zaustavi.setEnabled(!flag); } public Loto(int kap) { super("Loto"); setSize(1000, 600); masina=new Masina(kap); niz=new int[kap]; for(int i=0;i<pomoc.length;i++) pomoc[i]=0; labele=new Label[5]; for(int i=0;i<labele.length;i++) if(i<2) labele[i]=new Label("Loto listica sa " + Integer.toString(i+3) + " pogotka ima:"); else labele[i]=new Label("Loto listica sa " + Integer.toString(i+3) + " pogodaka ima:"); tekst=new TextField[5]; for(int i=0;i<tekst.length;i++) { tekst[i]=new TextField("");
VEROVATNOĆA I STATISTIKA
33
tekst[i].setEditable(false); tekst[i].setFont(new Font(null, Font.ITALIC, 50)); } txt=new TextField[niz.length]; for(int i=0;i<txt.length;i++) { txt[i]=new TextField(""); txt[i].setEditable(false); } popuniProzore(); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { masina.unisti(); dobitak.dispose(); dispose(); } }); setVisible(true); } private void popuniProzore() { Panel ploca=new Panel(new BorderLayout()); add(ploca); Panel plo=new Panel(new BorderLayout()); plo.add(masina, "North"); for(int i=0;i<39;i++) { paneli[i]=new Panel(); if(i%3==0) tab[i]=new Label(Integer.toString(i+1), Label.RIGHT); else if(i%3==1)
VEROVATNOĆA I STATISTIKA
34
tab[i]=new Label(Integer.toString(i+1), Label.CENTER); else tab[i]=new Label(Integer.toString(i+1), Label.LEFT); tab[i].setBackground(Color.GRAY); tab[i].setFont(new Font(null, Font.BOLD,20)); paneli[i].add(tab[i]); tabela.add(paneli[i]); } plo.add(tabela, "Center"); ploca.add(plo, "Center"); Panel plot=new Panel(new GridLayout(tekst.length, 2)); ploca.add(plot, "West"); for(int i=0;i<tekst.length;i++) { plot.add(labele[i]); plot.add(tekst[i]); } plo=new Panel(); ploca.add(plo, "South"); label=new Label("Izvuceni su brojevi: "); plo.add(label); for(int i=0;i<txt.length;i++) plo.add(txt[i]); plo.add(kreni); kreni.addActionListener(new ActionListener() {
VEROVATNOĆA I STATISTIKA
35
@Override public void actionPerformed(ActionEvent arg0) { mozeKreni(false); for(int i=0;i<txt.length;i++) txt[i].setText(""); masina.pokreniSve(); broj_kombinacija=Integer.parseInt(broj_komb.getText()); listici.napravi(broj_kombinacija); for(int i=0;i<tab.length;i++) tab[i].setBackground(Color.GRAY); } }); plo.add(zaustavi); zaustavi.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { mozeKreni(true); masina.zaustaviBubnjeve(); niz=masina.niz(); for(int i=0;i<niz.length;i++) { txt[i].setText(Integer.toString(niz[i])); } } });
VEROVATNOĆA I STATISTIKA
36
plo.add(stani); stani.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if(brojac==niz.length) { mozeStani(false); brojac=0; return; } else { mozeStani(true); } String s=masina.zaustavi(brojac); int pom=Integer.parseInt(s); tab[pom-1].setBackground(Color.RED); listici.pretrazi(pom); pomoc=listici.prebroj(); for(int i=0;i<pomoc.length;i++) tekst[i].setText(Integer.toString(pomoc[i])); if(brojac==niz.length-1) { for(int i=0;i<help.length;i++) if(pom==help[i]) { dobitak.setVisible(true); break; } } brojac++;
VEROVATNOĆA I STATISTIKA
37
if(brojac==niz.length-1) { help=new int[listici.vratiBroj()]; help=listici.pobeda(); for(int i=0;i<help.length;i++) tab[help[i]-1].setBackground(Color.GREEN); } if(brojac==niz.length) { niz=masina.niz(); for(int i=0;i<niz.length;i++) { txt[i].setText(Integer.toString(niz[i])); } } } }); plo=new Panel(); ploca.add(plo, "North"); plo.add(napravi); label_br=new Label("Broj kombinacija: "); plo.add(label_br); broj_komb.setColumns(10); plo.add(broj_komb); napravi.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) {
VEROVATNOĆA I STATISTIKA
38
broj_kombinacija=Integer.parseInt(broj_komb.getText()); listici.napravi(broj_kombinacija); } }); } public class Dobitak extends Frame{ Label lbl; Dobitak() { super("LOTO 7/39"); setBounds(250, 300, 500, 350); add(lbl=new Label(" IMAMO LOTO DOBITAK ", Label.CENTER)); lbl.setFont(new Font(null, Font.BOLD, 40)); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { setVisible(false); } }); } } public static void main(String []args) { new Loto(7); } }
VEROVATNOĆA I STATISTIKA
39
Prikaz simulacije za drugi zadatak :
a) Pre izvlačenja sedmog broja
VEROVATNOĆA I STATISTIKA
40
b ) Posle izvlačenja sedmog broja i dobitka sedmica
VEROVATNOĆA I STATISTIKA
41
Testiranje saglasnosti primenom hi kvadrat testa
Rd. broj kola
2012. 2013. 2014. 2015. 2016. 2017.
1. 1 1 0 1 1 1
2. 1 1 1 1 1 1
3. 1 0 1 0 1 1
4. 1 0 0 1 0 1
5. 0 1 1 1 1 0
6. 1 0 1 1 1 1
7. 1 1 0 1 0 1
8. 0 1 1 0 0 1
9. 1 0 1 1 1 1
10. 1 1 0 1 1 1
11. 1 1 1 1 1 0
12. 0 0 0 1 1 0
13. 1 1 1 1 0 1
14. 1 1 1 1 1 1
15. 0 1 1 1 0 1
16. 0 1 0 0 1 1
17. 1 1 0 0 1 1
18. 1 1 1 1 1 1
19. 1 1 1 1 1 0
20. 1 1 1 1 1 0
21. 0 1 1 1 0 0
22. 1 1 1 1 1 1
23.
0 1 1 0 1 1
24. 1 1 1 1 1 1
25. 1 1 0 1 0 1
26. 0 0 1 1 1 0
27. 1 1 0 1 1 0
28.
1 0 1 1 0 1
29. 1 1 1 1 1 0
30. 1 0 1 1 0 0
31. 0 1 1 1 0 0
32. 1 1 1 1 1 1
VEROVATNOĆA I STATISTIKA
42
33.
1 1 1 1 1 0
34. 1 1 1 1 1 1
35. 1 0 1 1 1 0
36. 1 1 0 0 0 1
37. 1 1 1 0 1 1
38. 0 1 1 0 1 0
39. 0 1 1 1 1 0
40. 0 0 1 0 0 1
41. 1 0 1 1 0 1
42. 1 1 1 1 1 1
43. 1 1 0 1 1 0
44. 1 1 1 1 1 0
45. 0 1 0 1 1 1
46. 1 0 1 1 0 1
47. 1 1 0 1 1 1
48. 1 1 0 1 1 1
49. 1 0 0 1 0 1
50. 1 1 1 0 0 1
51. 1 1 1 0 0 1
52. 1 0 0 1 1 0
53. 1 1 1 1 0 1
54. 1 1 0 0 0 1
55. 1 1 1 1 1 1
56. 1 1 1 0 1 1
57. 1 1 1 1 1 1
58. 1 1 1 0 0 0
59. 1 1 1 1 0 0
60. 1 1 0 1 0 1
61. 0 1 1 1 1 1
62. 0 0 1 1 0 1
63. 0 1 1 0 0 1
64. 0 1 1 1 1 1
65. 0 1 0 0 1 0
66. 0 1 1 1 1 1
67. 1 0 1 0 0 0
68. 1 1 1 1 1 1
69. 0 1 1 1 1 1
70. 1 1 1 0 1 0
71. 1 0 0 0 1 1
72. 1 0 0 0 0 1
73. 1 0 1 0 0 1
74. 0 1 0 0 1 0
75. 0 1 0 0 0 1
VEROVATNOĆA I STATISTIKA
43
76. 1 1 1 1 1 1
77. 1 1 1 1 1 0
78. 1 1 0 1 1 1
79. 1 1 1 1 1 0
80. 1 1 0 1 0 1
81. 1 0 0 0 1 1
82. 0 1 1 0 1 0
83. 1 1 0 0 0 1
84. 0 0 0 0 1 1
85. 0 1 1 1 1 0
86. 1 1 1 1 0 1
87. 1 0 0 1 0 1
88. 1 1 1 1 1 1
89. 1 1 0 1 0 1
90. 1 1 0 1 0 1
91. 0 1 1 1 0 1
92. 0 1 1 1 1 1
93. 0 1 1 0 1 0
94. 1 1 1 0 1 1
95. 1 1 0 1 1 0
96. 1 0 0 1 1 1
97. 1 0 1 0 0 1
98. 1 0 1 1 0 0
99. 1 1 1 1 1 1
100. 1 1 1 0 1 1
101. 1 1 1 1 1 0
102. 1 1 1 0 0 1
103. 0 0 1 1 1 0
104. 0 0 0 0 0 1
% 0,711538 0,740385 0,679612 0,68932 0,625 0,682692
SUM 74 77 70 71 65 71
%-Procenat kola u kojima je pao barem jedan susedan par brojeva
SUM-Broja kola u kojima je pao barem jedan susedan par brojeva
VEROVATNOĆA I STATISTIKA
44
Dogadjaj A-uzastopni su
Dogadjaj B-nisu uzastopni
Nj-koliko puta se desio neki dogadjaj
n*pj0-verovatnoca ishoda(dogadjaja)
1)Primer sa
stvarnim podaci
Dogadjaj A B
Nj 0 622
n*pj0 449,2084 172,7916
(Nj-n*pj0)^2/ (n*pj0) 449,2084 1167,812 1617,021
Hipotezu H0 bismo odbacili da je 3,604423> c=3,841, gde je c kvantil reda 0.95 raspodele X(1)-hi kvadrat. U slučaju stvarnih podataka, ne
odbacujemo je.
2)Primer idealnog uzorka
Dogadjaj A B
Nj 449 173
n*pj0 449,2084 172,7916
(Nj-n*pj0)^2/ (n*pj0) 9,67E-05 0,000251 0,000348
Hipotezu H0 ne odbacujemo jer je 0,000348 < c=3,841
3)Primer kada
uzorak veoma
odskalče od
očekivanog
Dogadjaj A B
Nj 430 241
n*pj0 484,5962 186,4038
(Nj-n*pj0)^2/ (n*pj0) 6,150987 15,9908 22,14178
Hipotezu H0 odbacujemo jer je 22,14178>c=3,841
VEROVATNOĆA I STATISTIKA
45
Korišćena literatura: http://lotostatistika.rs/ http://www.academia.edu/ Milan Merkle – Verovatnoća i statistika za inženjere i studente tehnike