diff --git a/Przewodnik_studenta_cwiczenia/02_przewodnik_studenta_geometryczne_niezaleznosc.ipynb b/Przewodnik_studenta_cwiczenia/02_przewodnik_studenta_geometryczne_niezaleznosc.ipynb new file mode 100644 index 0000000..f0b7bd0 --- /dev/null +++ b/Przewodnik_studenta_cwiczenia/02_przewodnik_studenta_geometryczne_niezaleznosc.ipynb @@ -0,0 +1,378 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "39d126", + "metadata": { + "collapsed": false + }, + "source": [ + "# Prawdopodobieństwo geometryczne. Niezależność zdarzeń" + ] + }, + { + "cell_type": "markdown", + "id": "dfccc8", + "metadata": { + "collapsed": false + }, + "source": [ + "**Treści kształcenia**: Prawdopodobieństwo geometryczne. Niezależność zdarzeń. Prawdopodobieństwo na iloczynach kartezjańskich.\n", + "\n", + "**Efekty kształcenia**: Student/ka potrafi konstruować przestrzenie probabilistyczne dla zadanych problemów rachunku prawdopodobieństwa; potrafi wyrazić podstawowe problemy w języku zdarzeń losowych; umie zastosować poznane twierdzenia i własności przestrzeni probabilistycznych do rozwiązywania prostych zagadnień rachunku prawdopodobieństwa." + ] + }, + { + "cell_type": "markdown", + "id": "93e6ba", + "metadata": { + "collapsed": false + }, + "source": [ + "## Prawdopodobieństwo geometryczne\n", + "\n", + "Do tej pory rozważaliśmy eksperymenty losowe o skończonym zbiorze zdarzeń elementarnych. Nietrudno jednak wymyślić eksperyment, w którym potencjalnych wyników jest nieskończenie wiele, czy wręcz **nieprzeliczalnie wiele**. \n", + "\n", + "**Przykład 1 (gra w rzutki)**\n", + "\n", + "Rozważmy eksperyment losowy, w którym gracz strzela do tarczy rzutką. Załóżmy idealistycznie, że gracz zawsze trafia w tarczę i że każdy z punktów tej tarczy jest równo prawdopodobny. Jako wynik tego eksperymentu możemy przyjąć punkt, w który trafi rzutka. Zatem sensownym założeniem jest przyjęcie jako $\\Omega$ zbioru wszystkich punktów tarczy, skąd oczywiście otrzymujemy $|\\Omega| = \\infty$. Gdybyśmy teraz chcieli policzyć prawdopodobieństwo zdarzenia $A$ polegającego na trafienie w górną połowę tarczy, to w pierwszej kolejności powinniśmy zauważyć, że $|A| = \\infty$, zatem porównanie $|A|$ do $|\\Omega|$ nie ma sensu \\(otrzymujemy symbol nieoznaczony $\\frac{\\infty}{\\infty}$\\).\n", + "\n", + "Powyższy przykład pokazuje, że w pewnych doświadczeniach losowych model klasyczny niekoniecznie dobrze odzwierciedla rzeczywistość, a raczej po prostu się nie przydaje. Jaki model w takim razie przyjąć? Intuicja podpowiada nam, że prawdopodobieństwo trafienia w górną połowę tarczy powinno wynosić $1/2$, ponieważ górna połowa tarczy stanowi połowę całej tarczy. Zamiast porównywać liczbę punktów odpowiadających obydwu zdarzeniom, możemy w tym przypadku porównać pola obszarów, które im odpowiadają, tzn. możemy porównać pola dwóch obiektów geometrycznych (tarczy, którą utożsamiamy z kołem i górnej połowy tarczy, która odpowiadać będzie połówce koła). Taki model nazywać będziemy **modelem prawdopodobieństwa geometrycznego**, ponieważ rozważane w nim zdarzenia odpowiadają pewnym obiektom geometrycznym.\n", + "\n", + "Zanim przejdziemy do formalnego zdefiniowania modelu prawdopodobieństwa geometrycznego, zatrzymajmy się na chwilę przy sposobie mierzenia wielkości różnych obiektów geometrycznych. Dla uproszczenia skupimy się tylko na obiektach jednowymiarowych, dwuwymiarowych i trójwymiarowych. Przez **miarę** zbioru $A$, oznaczaną jako $\\lambda(A)$, rozumieć będziemy odpowiednio:\n", + "\n", + "- w przypadku **jednowymiarowym: długość** odcinka $A$ lub sumę długości odcinków, które stanowią zbiór $A$,\n", + "- w przypadku **dwuwymiarowym: pole powierzchni** obszaru $A$ lub sumę pól powierzchni obszarów stanowiących zbiór $A$,\n", + "- w przypadku **trójwymiarowym: objętość** bryły $A$ lub sumę brył stanowiących zbiór $A$.\n", + "\n", + "Oczywiście nic nie stoi na przeszkodzie, żebyśmy rozważali również przypadki wyżej wymiarowe. My natomiast skupimy się tylko na tych trzech. Co więcej, w naszych rozważaniach będziemy zawsze przyjmować, że rodzina wszystkich zdarzeń $\\mathcal{F} \\subset \\mathcal{P}(\\Omega)$, gdzie $\\mathcal{P}(\\Omega)$ to zbiór potęgowy zbioru $\\Omega$, obejmuje dokładnie te zbiory, dla których istnieje ich miara \\(czyli odpowiednio długość, pole lub objętość\\). Są to tzw. **zbiory mierzalne**. Jest to założenie konieczne ze względów formalnych \\- okazuje się bowiem, że istnieją zbiory wymykające się pojęciu miary. W tym miejscu odsyłamy zainteresowane osoby do kursu z Teorii miary, gdzie znajdziecie formalną definicję pojęcia miary, zbiorów mierzalnych oraz zbiorów niemierzalnych.\n", + "\n", + "**Definicja (prawdopodobieństwo geometryczne)**\n", + "\n", + "Dla zbioru $\\Omega\\subset \\mathbb{R}^n$ o skończonej mierze, czyli spełniającego $\\lambda(\\Omega) < \\infty$, prawdopodobieństwo zdarzenia $A\\subseteq \\Omega$ nazywamy **prawdopodobieństwem geometrycznym** i definiujemy jako\n", + "$$\\mathbb{P}(A) = \\frac{\\lambda(A)}{\\lambda(\\Omega)}. $$\n", + "\n", + "**Uwaga:** Warto podkreślić, że podzbiór $A\\subset \\Omega$, który jest wymiaru niższego niż $\\Omega$, ma zawsze miarę $\\lambda(A)=0$, np.:\n", + "\n", + "- jeśli $\\Omega$ jest odcinkiem, a $A$ jest punktem, to $\\lambda(A)=0$,\n", + "- jeśli $\\Omega$ jest zbiorem dwuwymiarowym, np. kwadratem jednostkowym, a $A$ jest odcinkiem, np. przekątną kwadratu lub bokiem kwadratu, to $\\lambda(A)=0$,\n", + "- jeśli $\\Omega$ jest bryłą, np. walcem, a $A$ jest obiektem dwuwymiarowym, np. podstawą walca, albo częścią wspólną pewnej płaszczyzny i walca, to $\\lambda(A)=0$.\n", + "\n", + " Co więcej w zależności od kontekstu miara $\\lambda$ będzie zawsze dobierana względem wymiaru zbioru $\\Omega$.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "f4765b", + "metadata": { + "collapsed": false + }, + "source": [ + "**Przykład 2**\n", + "\n", + "Losujemy punkt $x$ z odcinka jednostkowego. Punkt $x$ dzieli odcinek jednostkowy na dwa krótsze odcinki o długościach odpowiednio $a$ i $b$. Następnie konstruujemy prostokąt o bokach długości $a$ i $b$. Ile wynosi prawdopodobieństwo, że pole otrzymanego prostokąta jest większe niż $\\frac29$?\n", + "\n", + "Jako zbiór zdarzeń elementarnych przyjmijmy odcinek jednostkowy $\\Omega = [0,1]$. Następnie niech $A$ oznacza zdarzenie, prawdopodobieństwo którego chcemy wyznaczyć. Zauważmy, że dwa uzyskane odcinki mają długość odpowiednio\n", + "$$a=x \\quad \\text{oraz} \\quad b=1-x.$$\n", + "Zatem interesuje nas, dla jakich punktów $x$ zachodzi nierówność\n", + "$$x(1-x) > \\frac29.$$\n", + "Powyższa nierówność po przekształceniu daje nam\n", + "$$\\left(x - \\frac13\\right)\\left(x - \\frac23\\right) < 0.$$\n", + "\\(Oczywiście możemy też wyznaczyć pierwiastki odpowiedniego równania kwadratowego obliczając najpierw $\\Delta$\\). Po rozwiązaniu powyższej nierówności otrzymujemy $x\\in \\left(\\frac13, \\frac23\\right)$. Zatem $A = \\left(\\frac13, \\frac23\\right)$ i szukane prawdopodobieństwo wynosi\n", + "$$\\mathbb{P}(A) = \\frac{\\lambda(A)}{\\lambda(\\Omega)} = \\frac{\\frac23-\\frac13}{1-0} = \\frac13.$$\n" + ] + }, + { + "cell_type": "markdown", + "id": "0b549b", + "metadata": { + "collapsed": false + }, + "source": [ + "**Przykład 3**\n", + "\n", + "Losujemy punkt z kwadratu o wierzchołkach $(0,0), (2,0), (2,2), (0,2)$. Ile wynosi prawdopodobieństwo, że wylosowany punkt znajduje się na brzegu kwadratu? Ile wynosi prawdopodobieństwo, że współrzędne wylosowanego punktu różnią się o co najwyżej $0{,}5$?\n", + "\n", + "Tym razem przyjmujemy $\\Omega = [0,2]\\times [0,2]$, z kolei miarą $\\lambda$ jest pole figury. Zatem mamy $\\lambda(\\Omega)=4$. Niech $A$ będzie zdarzeniem polegającym na trafieniu w brzeg kwadratu. Wówczas $A$ składa się ze wszystkich punktów leżących na brzegu kwadratu i możemy ten zbiór potraktować jako sumę czterech odcinków. Ponieważ miara odcinka w zbiorze dwuwymiarowym wynosi zero, otrzymujemy $\\lambda(A) = 0$ oraz\n", + "$$\\mathbb{P}(A) = \\frac{\\lambda(A)}{\\lambda(\\Omega)} = \\frac{0}{4} = 0.$$\n", + "\n", + "Rozważmy teraz zdarzenie $B$ polegające na wylosowaniu punktu, którego współrzędne różnią się o co najwyżej $0{,}5$. Jak wygląda zbiór $B$? Jest to zbiór punktów $(x,y)\\in\\Omega$ spełniających nierówność\n", + "$$|x-y| \\leq 0{,}5.$$\n", + "Nierówność ta sprowadza się z kolei do\n", + "$$x-y \\leq 0{,}5 \\quad \\land \\quad x-y \\geq -0{,}5,$$\n", + "czyli\n", + "$$ y \\geq x - 0{,}5 \\quad \\land \\quad y \\leq x + 0{,}5.$$\n", + "Na poniższym rysunku kolorem czerwonym zaznaczono obszar odpowiadający zdarzeniu $B$. Jest to część wspólna kwadratu $\\Omega$ oraz pasa znajdującego się pomiędzy prostymi $y = x - 0{,}5$ i $y = x + 0{,}5$.\n", + "![image](geometryczne.png)\n", + "Teraz wystarczy policzyć jego pole. Zauważmy, że po usunięciu czerwonego sześciokąta z wyjściowego kwadratu otrzymamy dwa trójkąty prostokątne, równoramienne, o przyprostokątnych długości $1{,}5$. Dadzą nam one łącznie kwadrat o boku $1{,}5$, skąd otrzymujemy $\\lambda(B) = 1{,}5 \\cdot 1{,}5 = 2{,}25$ oraz\n", + "$$\\mathbb{P}(B) = \\frac{\\lambda(B)}{\\lambda(\\Omega)} = \\frac{2{,}25}{4} = 0{,}5625.$$\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "f4b76a", + "metadata": { + "collapsed": false + }, + "source": [ + "**Przykład 4 \\(R\\)** \n", + "\n", + "Mamy do dyspozycji prostokątną deskę o wymiarach $5m\\times 2m$. Wybieramy losowo dwa punkty: punkt $x$ na dolnym i punkt $y$ na lewym boku deski. Następnie przycinamy deskę w wybranych punktach \\(prostopadle do boku deski\\), otrzymując mniejszą deseczkę o wymiarach $x\\times y$. Jakie są szanse na to, że otrzymana deseczka ma pole mniejsze niż $4 m^2$?\n", + "\n", + "Zauważmy, że w tym przypadku jako zbiór zdarzeń elementarnych możemy przyjąć prostokąt $\\Omega=[0,5]\\times [0,2]$. Aby pole otrzymanej deseczki było mniejsze niż $4 m^2$ musi zachodzić nierówność $xy<4$, czyli $y<\\frac4x$. Zobaczymy, jak możemy rozwiązać to zadanie, wspomagając się językiem R.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "4d59bf", + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "'Prawdopodobieństwo otrzymania deseczki o polu mniejszym niż 4 to 0.766516292749662'" + ], + "text/latex": [ + "'Prawdopodobieństwo otrzymania deseczki o polu mniejszym niż 4 to 0.766516292749662'" + ], + "text/markdown": [ + "'Prawdopodobieństwo otrzymania deseczki o polu mniejszym niż 4 to 0.766516292749662'" + ], + "text/plain": [ + "[1] \"Prawdopodobieństwo otrzymania deseczki o polu mniejszym niż 4 to 0.766516292749662\"" + ] + }, + "execution_count": 9, + "metadata": { + }, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "execution_count": 9, + "metadata": { + "image/png": { + "height": 420, + "width": 420 + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "# Zaczniemy od wykonania rysunku pomocniczego\n", + "# Rysujemy funkcję y=4/x\n", + "f<-function(x) 4/x\n", + "curve(f, from=0, to=5.5, ylim=c(0,2.2)) \n", + "\n", + "# Dorysowujemy odcinki, które ograniczają zbiór zdarzeń elementarnych Omega\n", + "segments(0, 0, 0, 2) # polecenie segments(x0, y0, x1, y1) rysuje odcinek o końcach w punktach (x0, y0) i (x1, y1)\n", + "segments(0, 0, 5, 0)\n", + "segments(5, 0, 5, 2)\n", + "segments(0, 2, 5, 2)\n", + "\n", + "# Możemy teraz obliczyć miarę zbioru Omega\n", + "pole_omega = 2*5\n", + "\n", + "# Zauważmy, że interesujące nas zdarzenie odpowiada obszarowi, który jest częścią prostokąta znajdującą się poniżej krzywej y=4/x\n", + "# Można łatwo zauważyć, że ten obszar warto podzielić na dwie części: na lewo od prostej x=2 i na prawo od tej prostej\n", + "segments(2, 0, 2, 2, lty=2)\n", + "\n", + "# Miara lewej części tego obszaru odpowiada polu prostokąta o wymiarach 2x2\n", + "pole1 = 2*2\n", + "\n", + "# Natomiast aby wyznaczyć miarę prawej części obszaru, warto sobie przypomnieć, że do obliczania pól powierzchni pod wykresem funkcji możemy używać całek oznaczonych\n", + "pole2 = integrate(f, 2, 5) # polecenie integrate(f, a, b) w sposób numeryczny szacuje wartość całki oznaczonej z funkcji f na przedziale [a,b] - w odpowiedzi dostaniemy listę. Interesująca nas wartość to pierwszy element tej listy\n", + "\n", + "# Możemy teraz obliczyć prawdopodobieństwo interesującego nas zdarzenia\n", + "p = (pole1 + pole2[[1]])/pole_omega\n", + "paste('Prawdopodobieństwo otrzymania deseczki o polu mniejszym niż 4 to', p)" + ] + }, + { + "cell_type": "markdown", + "id": "902615", + "metadata": { + "collapsed": false + }, + "source": [ + "## Niezależność zdarzeń\n", + "\n", + "Jednym z kluczowych pojęć rachunku prawdopodobieństwa jest pojęcie niezależności zdarzeń. Intuicyjnie zdarzenia niezależne to takie, które na siebie nie wpływają, to znaczy fakt, że jedno z nich zajdzie nie wpływa na prawdopodobieństwo tego, czy zajdzie drugie z nich. Natomiast formalna definicja niezależności przedstawia się następująco.\n", + "\n", + "**Definicja (niezależność zdarzeń)**\n", + "\n", + "Zbiór zdarzeń $\\{A_i:i\\in I\\}$ jest **niezależny,** jeśli dla każdego \\(skończonego\\) podzbioru $J\\subseteq I$ mamy\n", + "$$\\mathbb{P}\\left(\\bigcap_{j\\in J} A_j\\right) = \\prod_{j\\in J}\\mathbb{P}(A_j). $$\n", + "W szczególności zdarzenia $A$ i $B$ są niezależne jeśli $\\mathbb{P}(A\\cap B) = \\mathbb{P}(A)\\cdot \\mathbb{P}(B)$. Z kolei zdarzenia $A$, $B$ i $C$ są niezależne, jeśli **jednocześnie** zachodzą poniższe cztery równania\n", + "$$\\mathbb{P}(A\\cap B) = \\mathbb{P}(A)\\cdot \\mathbb{P}(B),$$\n", + "$$\\mathbb{P}(A\\cap C) = \\mathbb{P}(A)\\cdot \\mathbb{P}(C),$$\n", + "$$\\mathbb{P}(B\\cap C) = \\mathbb{P}(B)\\cdot \\mathbb{P}(C),$$\n", + "$$\\mathbb{P}(A\\cap B\\cap C) = \\mathbb{P}(A)\\cdot \\mathbb{P}(B) \\cdot \\mathbb{P}(C).$$\n", + "\n", + "**Definicja (niezależność parami)**\n", + "\n", + "Zbiór zdarzeń $\\{A_i:i\\in I\\}$ jest **parami niezależny** jeśli dla każdych $i, j\\in I$ zachodzi $\\mathbb{P}(A_i)\\cdot\\mathbb{P}(A_j) = \\mathbb{P}(A_i\\cap A_j)$. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "60a5a5", + "metadata": { + "collapsed": false + }, + "source": [ + "**Przykład 5**\n", + "\n", + "Rzucamy cztery razy monetą. Niech $A$ będzie zdarzeniem polegającym na wyrzuceniu parzystej liczby orłów, a $B$ zdarzeniem polegającym na wyrzuceniu co najmniej trzech reszek. Czy zdarzenia $A$ i $B$ są niezależne?\n", + "\n", + "Przyjmijmy model klasyczny ze zbiorem zdarzeń elementarnych $\\Omega$ składającym się ze wszystkich ciągów długości cztery o wyrazach ze zbioru $\\{O, R\\}$. Zatem $|\\Omega| = 2^4 = 16$. Następnie zauważmy, że \n", + "$$|A| = {4\\choose 0} + {4\\choose 2} + {4\\choose 4} = 8,$$\n", + "$$|B| = {4\\choose 3} + {4\\choose 4} = 5$$\n", + "oraz\n", + "$$|A\\cap B| = {4\\choose 4} = 1.$$\n", + "Zatem otrzymujemy\n", + "$$\\mathbb{P}(A) \\cdot \\mathbb{P}(B) = \\frac{8}{16}\\cdot \\frac{5}{16} = \\frac{5}{32} \\neq \\frac{1}{16} = \\mathbb{P}(A\\cap B),$$\n", + "czyli zdarzenia $A$ i $B$ nie są niezależne.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "978ca8", + "metadata": { + "collapsed": false + }, + "source": [ + "**Przykład 6 \\(R\\)** \n", + "\n", + "Rzucamy $n$\\-krotnie symetryczną monetą. Niech $A$ oznacza zdarzenie, że wypadnie co najwyżej jeden orzeł, a $B$ zdarzenie, że moneta nie będzie upadać zawsze na tę samą stronę. Czy zdarzenia te są niezależne?\n", + "\n", + "Rozwiążemy to zadanie przy pomocy języka R i pakietu `probs` dla $n\\in\\{2,3,4,5\\}$. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "650445", + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "ename": "ERROR", + "evalue": "Error in tosscoin(n, makespace = TRUE): could not find function \"tosscoin\"\n", + "output_type": "error", + "traceback": [ + "Error in tosscoin(n, makespace = TRUE): could not find function \"tosscoin\"\nTraceback:\n", + "1. niezaleznosc(n)" + ] + } + ], + "source": [ + "# Napiszemy funkcję argumentu n, która będzie sprawdzać niezależność zdarzeń A i B\n", + "niezaleznosc <- function(n) {moneta = tosscoin(n, makespace=TRUE) # generujemy przestrzeń probabilistyczną związaną z n-krotnym rzutem monetą (interpretujemy T jako reszki, a H jako orły)\n", + " xA = c()\n", + " xB = c()\n", + " for (i in 1:nrow(moneta)) {x = length(which(moneta[i,]=='H')) # Zliczamy liczbę orłów w danym zdarzeniu elementarnym\n", + " if (x<=1) {xA = c(xA, i)}\n", + " if (x==0 | x==n) {xB = c(xB, i)}}\n", + " A = moneta[xA,] # Generujemy zdarzenie A\n", + " B = moneta[xB,] # Generujemy zdarzenie B\n", + " AB = intersect(A, B) # Generujemy część wspólną zdarzeń A i B\n", + " pA = Prob(A) # Obliczamy prawdopodobieństwo zdarzenia A\n", + " pB = Prob(B) # Obliczamy prawdopodobieństwo zdarzenia B\n", + " pAB = Prob(AB) # Obliczamy prawdopodobieństwo części wspólnej zdarzeń A i B\n", + " y = (pA*pB==pAB) # Sprawdzamy warunek na niezależność\n", + " p = c(pA, pB, pAB, y)}\n", + "\n", + "# Następnie sprawdzamy niezależność zdarzeń A i B dla różnych wartości n\n", + "\n", + "for (n in 2:5) {\n", + " x = niezaleznosc(n)\n", + " print(paste('P(A)=', x[1]))\n", + " print(paste('P(B)=', x[2]))\n", + " print(paste('Prawdopodobieństwo części wspólnej zdarzeń A i B:', x[3]))\n", + " if (x[4]) {print('Zdarzenia A i B są niezależne')\n", + " } else {print('Zdarzenia A i B nie są niezależne')}\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "f92231", + "metadata": { + "collapsed": false + }, + "source": [ + "**Przykład 7**\n", + "\n", + "Rzucamy trzy razy sześcienną kostką. Rozważmy trzy zdarzenia:\n", + "\n", + " - $A$ - w pierwszym rzucie wypadła parzysta liczba oczek,\n", + " - $B$ - w drugim rzucie wypadły co najwyżej dwa oczka,\n", + " - $C$ - suma trzech wyników jest parzysta.\n", + " \n", + "\n", + " Czy te zdarzenia są niezależne? Czy są parami niezależne?\n", + "\n", + " Intuicja podpowiada nam, że pierwsze dwa zdarzenia powinny być niezależne, bo dotyczą innego rzutu kostką. Z kolei trzecie zdarzenie wydaje się być niezależne od pierwszych dwóch, bo bez względu na to co wypadło w pierwszych dwóch rzutach, mamy $50\\%$ szans aby wynik trzeciego rzutu dopełnił sumę dwóch pierwszych do liczby parzystej. Co możemy natomiast powiedzieć o niezależności wszystkich trzech zdarzeń? \n", + "\n", + "Sprawdzimy niezależność zdarzeń zgodnie z definicją. W tym celu zaczynamy od ustalenia modelu. Możemy przyjąć jako zbiór zdarzeń elementarnych $\\Omega$ zbiór wszystkich ciągów długości trzy o wyrazach ze zbioru $\\{1, 2, 3, 4, 5, 6\\}$. Mamy zatem do czynienia z modelem klasycznym, bo każde takie zdarzenie elementarne ma równe szanse pojawić się w wyniku naszego eksperymentu. Ponadto mamy\n", + "$$ |\\Omega| = 6^3 = 216, \\quad |A| = 3\\cdot6\\cdot 6 = 108, \\quad |B| = 6\\cdot 2\\cdot 6 = 72,\\quad |C| = 6\\cdot 6\\cdot 3 = 108,$$\n", + "gdzie ostatnia równość wynika z faktu, że dla dowolnego wyniku pierwszych dwóch rzutów mamy dokładnie trzy możliwości w trzecim rzucie, które dadzą nam parzystą sumę wszystkich trzech \\(jeśli suma dwóch pierwszych rzutów jest nieparzysta, to w ostatnim rzucie musi wypaść nieparzysta liczba oczek, a jeśli jest parzysta, to w ostatnim musi wypaść parzysta liczba oczek\\). Dalej\n", + "$$|A\\cap B| = 3\\cdot 2 \\cdot 6 = 36, \\quad |A\\cap C| = 3\\cdot 6\\cdot 3 = 54, \\quad |B\\cap C| = 6\\cdot 2\\cdot 3 = 36,\\quad |A\\cap B\\cap C| = 3\\cdot 2\\cdot 3 = 18.$$\n", + "Zatem\n", + "$$\\mathbb{P}(A)\\cdot \\mathbb{P}(B) = \\frac{108}{216}\\cdot \\frac{72}{216} = \\frac16 = \\frac{36}{216} = \\mathbb{P}(A\\cap B),$$\n", + "$$\\mathbb{P}(A)\\cdot \\mathbb{P}(C) = \\frac{108}{216}\\cdot \\frac{108}{216} = \\frac14 = \\frac{54}{216} = \\mathbb{P}(A\\cap C),$$\n", + "$$\\mathbb{P}(B)\\cdot \\mathbb{P}(C) = \\frac{72}{216}\\cdot \\frac{108}{216} = \\frac16 = \\frac{36}{216} = \\mathbb{P}(B\\cap C),$$\n", + "z czego wynika, że zdarzenia $A$, $B$ i $C$ są parami niezależne. Ponadto mamy\n", + "$$\\mathbb{P}(A)\\cdot \\mathbb{P}(B)\\cdot \\mathbb{P}(C) = \\frac{108}{216} \\cdot \\frac{72}{216} \\cdot \\frac{108}{216} = \\frac{1}{12} = \\frac{18}{216} = \\mathbb{P}(A\\cap B\\cap C),$$\n", + "zatem zdarzenia $A$, $B$ i $C$ są też niezależne.\n", + "\n", + "**Uwaga:** Nawet mając dobrą intuicję musimy i tak formalnie uzasadnić, czy definicja niezależności jest spełniona! \n", + "\n", + " **Uwaga:** Proszę pamiętać, że aby pokazać niezależność trzech zdarzeń ($A$, $B$, $C$ w powyższym przykładzie), musimy sprawdzić cztery różne warunki. Wystarczy, żeby choć jeden z nich nie zachodził, a niezależności nie będzie.\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "argv": [ + "/usr/bin/R", + "-e", + "IRkernel::main()", + "--args", + "{connection_file}" + ], + "display_name": "R (system-wide)", + "env": { + }, + "language": "r", + "metadata": { + "cocalc": { + "description": "R statistical programming language", + "priority": 10, + "url": "https://www.r-project.org/" + } + }, + "name": "ir", + "resource_dir": "/ext/jupyter/kernels/ir" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file