{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from scipy.special import factorial\n", "from scipy.special import perm\n", "from scipy.special import comb\n", "from itertools import permutations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Kombinaatio-oppia

\n", "\n", "Kombinaatio-opissa lasketaan tulosvaihtoehtojen lukumääriä, esimerkiksi\n", "\n", "Kombinaatio-opin tehtäviä voidaan ratkaista käyttämällä neljää laskusääntöä: tuloperiaate, järjestysten lukumäärä, permutaatio ja kombinaatio." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Tuloperiaate

\n", "\n", "Jos suoritetaan k peräkkäistä toisistaan riippumatonta valintaa, joista ensimmäinen voidaan tehdä n1:llä tavalla, toinen n2:lla tavalla jne., niin erilaisia valintojen yhdistelmiä on n1 * n2 * ... * nk kappaletta.\n", "\n", "Esimerkki. Kuinka monta erilaista veikkausriviä on olemassa? Oletetaan, että veikattavana on 13 kohdetta, joista kussakin on mahdollista valita 1, x tai 2. Kyseessä on siis 13\n", "peräkkäistä valintaa, joista kussakin on 3 vaihtoehtoa. Erilaisia valintojen yhdistelmiä\n", "on tuloperiaatteen mukaisesti:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1594323" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3**13" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esimerkki. Pizzabaari tarjoilee jauheliha, tonnikala, kinkku ja kasvispizzoja. Mausteeksi\n", "voi valita pippuria, sipulia, valkosipulia, tomaattisosetta ja oliiveja. Kuinka monta erilaista pizzaa on valittavana?\n", "Oletetaan, että pizzan tekee erilaiseksi erilainen täyte, mutta myös erilaiset\n", "mausteet. Voidaan ajatella, että kyseessä on peräkkäisiä valintoja (valitaan täyte neljän\n", "vaihtoehdon joukosta, valitaan otetaanko pippuria vai ei, valitaan otetaanko sipulia vai\n", "ei jne.). Tuloperiaatteen mukaan valintojen yhdistelmiä on:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "128" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "4*2**5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Järjestysten lukumäärä

\n", "\n", "Jos joukossa on n-alkioita, niin alkiot voidaan järjestää n! (lue: n kertoma) erilaiseen järjestykseen. Tässä on kyse tuloperiaatteen soveltamisesta. Järjestäminen voidaan nimittäin ajatella peräkkäisiksi valinnoiksi. Järjestetyn joukon ensimmäinen alkio voidaan valita n tavalla, toinen alkio n-1 tavalla, kolmas alkio n-2 tavalla jne. Tuloperiaatteen mukaan erilaisia vaihtoehtoja on n * (n-1) * (n-2) * … * 1 = n! kappaletta.\n", "\n", "Esimerkki. Kirjaimet A, B ja C voidaan järjestää 3! tavalla: " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factorial(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tämän voi helposti todentaa:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('A', 'B', 'C'),\n", " ('A', 'C', 'B'),\n", " ('B', 'A', 'C'),\n", " ('B', 'C', 'A'),\n", " ('C', 'A', 'B'),\n", " ('C', 'B', 'A')]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(permutations('ABC'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esimerkki. 8 ravihevosta voi saapua maaliin 8! eri järjestyksessä:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "40320.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factorial(8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esimerkki. 10 alokasta voi asettua riviin 10! eri järjestyksessä:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3628800.0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factorial(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esimerkki. Korttipakan kortit (52 kpl) voidaan sekoittaa 52! eri järjestykseen:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8.07E+67\n" ] } ], "source": [ "# Huomaa, että tulos on muotoiltu tieteelliseen esitysmuotoon (kymmenen potensseina)\n", "print('{:.2E}'.format(factorial(52)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vertailun vuoksi: Jos maailmankaikkeuden iäksi oletetaan 15 miljardia vuotta, niin sekunteja maailmankaikkeuden alusta on kulunut: " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4.73E+17\n" ] } ], "source": [ "print('{:.2E}'.format(15e9*365*24*60*60))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Jos maailmankaikkeuden alkuhetkestä alkaen olisi sekoitettu korttipakka joka sekunti uuteen järjestykseen, niin toistaiseksi ei vielä olisi ehditty käydä kaikkia mahdollisia järjestyksiä läpi." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Permutaatio

\n", "\n", "Jos n alkiota sisältävästä joukosta poimitaan k alkiota siten, että poimittujen alkioiden järjestys huomioidaan, niin erilaisia mahdollisuuksia on n! / (n - k)! kappaletta.\n", "\n", "Olennaista on, että sama k alkiota sisältävä joukko lasketaan mukaan useampaan kertaan, koska erilaiset järjestyksetkin huomioidaan.\n", "\n", "Permutaatioissa on kyse tuloperiaatteen soveltamisesta. Järjestetyn joukon poimiminen\n", "voidaan ajatella peräkkäisinä valintoina. Ensimmäinen alkio voidaan poimia n tavalla,\n", "toinen n - 1 tavalla jne. Viimeinen poimittava alkio voidaan poimia n - k + 1 tavalla. Laskemalla tuloperiaatteen mukaisesti n * (n-1) * … * (n-k+1) päädytään samaan tulokseen kuin permutaatio-kaavaa käyttäen.\n", "\n", "Esimerkki. Kirjainten A, B ja C joukosta voidaan valita kahden kirjaimen järjestettyjä joukkoja:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "perm(3, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tämän voin todentaa listaamalla eri vaihtoehdot:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(permutations('ABC', 2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esimerkki. Kuinka monella tavalla 8 ravihevosta voi jakaa 3 ensimmäistä sijaa:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "336.0" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "perm(8, 3)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "336" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Jos edellä desimaalipilkullinen esitysmuoto on häirinnyt, niin tässä vinkki:\n", "perm(8, 3, exact = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tämänkin voin todentaa listaamalla eri vaihtoehdot:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('A', 'B', 'C'),\n", " ('A', 'B', 'D'),\n", " ('A', 'B', 'E'),\n", " ('A', 'B', 'F'),\n", " ('A', 'B', 'G'),\n", " ('A', 'B', 'H'),\n", " ('A', 'C', 'B'),\n", " ('A', 'C', 'D'),\n", " ('A', 'C', 'E'),\n", " ('A', 'C', 'F'),\n", " ('A', 'C', 'G'),\n", " ('A', 'C', 'H'),\n", " ('A', 'D', 'B'),\n", " ('A', 'D', 'C'),\n", " ('A', 'D', 'E'),\n", " ('A', 'D', 'F'),\n", " ('A', 'D', 'G'),\n", " ('A', 'D', 'H'),\n", " ('A', 'E', 'B'),\n", " ('A', 'E', 'C'),\n", " ('A', 'E', 'D'),\n", " ('A', 'E', 'F'),\n", " ('A', 'E', 'G'),\n", " ('A', 'E', 'H'),\n", " ('A', 'F', 'B'),\n", " ('A', 'F', 'C'),\n", " ('A', 'F', 'D'),\n", " ('A', 'F', 'E'),\n", " ('A', 'F', 'G'),\n", " ('A', 'F', 'H'),\n", " ('A', 'G', 'B'),\n", " ('A', 'G', 'C'),\n", " ('A', 'G', 'D'),\n", " ('A', 'G', 'E'),\n", " ('A', 'G', 'F'),\n", " ('A', 'G', 'H'),\n", " ('A', 'H', 'B'),\n", " ('A', 'H', 'C'),\n", " ('A', 'H', 'D'),\n", " ('A', 'H', 'E'),\n", " ('A', 'H', 'F'),\n", " ('A', 'H', 'G'),\n", " ('B', 'A', 'C'),\n", " ('B', 'A', 'D'),\n", " ('B', 'A', 'E'),\n", " ('B', 'A', 'F'),\n", " ('B', 'A', 'G'),\n", " ('B', 'A', 'H'),\n", " ('B', 'C', 'A'),\n", " ('B', 'C', 'D'),\n", " ('B', 'C', 'E'),\n", " ('B', 'C', 'F'),\n", " ('B', 'C', 'G'),\n", " ('B', 'C', 'H'),\n", " ('B', 'D', 'A'),\n", " ('B', 'D', 'C'),\n", " ('B', 'D', 'E'),\n", " ('B', 'D', 'F'),\n", " ('B', 'D', 'G'),\n", " ('B', 'D', 'H'),\n", " ('B', 'E', 'A'),\n", " ('B', 'E', 'C'),\n", " ('B', 'E', 'D'),\n", " ('B', 'E', 'F'),\n", " ('B', 'E', 'G'),\n", " ('B', 'E', 'H'),\n", " ('B', 'F', 'A'),\n", " ('B', 'F', 'C'),\n", " ('B', 'F', 'D'),\n", " ('B', 'F', 'E'),\n", " ('B', 'F', 'G'),\n", " ('B', 'F', 'H'),\n", " ('B', 'G', 'A'),\n", " ('B', 'G', 'C'),\n", " ('B', 'G', 'D'),\n", " ('B', 'G', 'E'),\n", " ('B', 'G', 'F'),\n", " ('B', 'G', 'H'),\n", " ('B', 'H', 'A'),\n", " ('B', 'H', 'C'),\n", " ('B', 'H', 'D'),\n", " ('B', 'H', 'E'),\n", " ('B', 'H', 'F'),\n", " ('B', 'H', 'G'),\n", " ('C', 'A', 'B'),\n", " ('C', 'A', 'D'),\n", " ('C', 'A', 'E'),\n", " ('C', 'A', 'F'),\n", " ('C', 'A', 'G'),\n", " ('C', 'A', 'H'),\n", " ('C', 'B', 'A'),\n", " ('C', 'B', 'D'),\n", " ('C', 'B', 'E'),\n", " ('C', 'B', 'F'),\n", " ('C', 'B', 'G'),\n", " ('C', 'B', 'H'),\n", " ('C', 'D', 'A'),\n", " ('C', 'D', 'B'),\n", " ('C', 'D', 'E'),\n", " ('C', 'D', 'F'),\n", " ('C', 'D', 'G'),\n", " ('C', 'D', 'H'),\n", " ('C', 'E', 'A'),\n", " ('C', 'E', 'B'),\n", " ('C', 'E', 'D'),\n", " ('C', 'E', 'F'),\n", " ('C', 'E', 'G'),\n", " ('C', 'E', 'H'),\n", " ('C', 'F', 'A'),\n", " ('C', 'F', 'B'),\n", " ('C', 'F', 'D'),\n", " ('C', 'F', 'E'),\n", " ('C', 'F', 'G'),\n", " ('C', 'F', 'H'),\n", " ('C', 'G', 'A'),\n", " ('C', 'G', 'B'),\n", " ('C', 'G', 'D'),\n", " ('C', 'G', 'E'),\n", " ('C', 'G', 'F'),\n", " ('C', 'G', 'H'),\n", " ('C', 'H', 'A'),\n", " ('C', 'H', 'B'),\n", " ('C', 'H', 'D'),\n", " ('C', 'H', 'E'),\n", " ('C', 'H', 'F'),\n", " ('C', 'H', 'G'),\n", " ('D', 'A', 'B'),\n", " ('D', 'A', 'C'),\n", " ('D', 'A', 'E'),\n", " ('D', 'A', 'F'),\n", " ('D', 'A', 'G'),\n", " ('D', 'A', 'H'),\n", " ('D', 'B', 'A'),\n", " ('D', 'B', 'C'),\n", " ('D', 'B', 'E'),\n", " ('D', 'B', 'F'),\n", " ('D', 'B', 'G'),\n", " ('D', 'B', 'H'),\n", " ('D', 'C', 'A'),\n", " ('D', 'C', 'B'),\n", " ('D', 'C', 'E'),\n", " ('D', 'C', 'F'),\n", " ('D', 'C', 'G'),\n", " ('D', 'C', 'H'),\n", " ('D', 'E', 'A'),\n", " ('D', 'E', 'B'),\n", " ('D', 'E', 'C'),\n", " ('D', 'E', 'F'),\n", " ('D', 'E', 'G'),\n", " ('D', 'E', 'H'),\n", " ('D', 'F', 'A'),\n", " ('D', 'F', 'B'),\n", " ('D', 'F', 'C'),\n", " ('D', 'F', 'E'),\n", " ('D', 'F', 'G'),\n", " ('D', 'F', 'H'),\n", " ('D', 'G', 'A'),\n", " ('D', 'G', 'B'),\n", " ('D', 'G', 'C'),\n", " ('D', 'G', 'E'),\n", " ('D', 'G', 'F'),\n", " ('D', 'G', 'H'),\n", " ('D', 'H', 'A'),\n", " ('D', 'H', 'B'),\n", " ('D', 'H', 'C'),\n", " ('D', 'H', 'E'),\n", " ('D', 'H', 'F'),\n", " ('D', 'H', 'G'),\n", " ('E', 'A', 'B'),\n", " ('E', 'A', 'C'),\n", " ('E', 'A', 'D'),\n", " ('E', 'A', 'F'),\n", " ('E', 'A', 'G'),\n", " ('E', 'A', 'H'),\n", " ('E', 'B', 'A'),\n", " ('E', 'B', 'C'),\n", " ('E', 'B', 'D'),\n", " ('E', 'B', 'F'),\n", " ('E', 'B', 'G'),\n", " ('E', 'B', 'H'),\n", " ('E', 'C', 'A'),\n", " ('E', 'C', 'B'),\n", " ('E', 'C', 'D'),\n", " ('E', 'C', 'F'),\n", " ('E', 'C', 'G'),\n", " ('E', 'C', 'H'),\n", " ('E', 'D', 'A'),\n", " ('E', 'D', 'B'),\n", " ('E', 'D', 'C'),\n", " ('E', 'D', 'F'),\n", " ('E', 'D', 'G'),\n", " ('E', 'D', 'H'),\n", " ('E', 'F', 'A'),\n", " ('E', 'F', 'B'),\n", " ('E', 'F', 'C'),\n", " ('E', 'F', 'D'),\n", " ('E', 'F', 'G'),\n", " ('E', 'F', 'H'),\n", " ('E', 'G', 'A'),\n", " ('E', 'G', 'B'),\n", " ('E', 'G', 'C'),\n", " ('E', 'G', 'D'),\n", " ('E', 'G', 'F'),\n", " ('E', 'G', 'H'),\n", " ('E', 'H', 'A'),\n", " ('E', 'H', 'B'),\n", " ('E', 'H', 'C'),\n", " ('E', 'H', 'D'),\n", " ('E', 'H', 'F'),\n", " ('E', 'H', 'G'),\n", " ('F', 'A', 'B'),\n", " ('F', 'A', 'C'),\n", " ('F', 'A', 'D'),\n", " ('F', 'A', 'E'),\n", " ('F', 'A', 'G'),\n", " ('F', 'A', 'H'),\n", " ('F', 'B', 'A'),\n", " ('F', 'B', 'C'),\n", " ('F', 'B', 'D'),\n", " ('F', 'B', 'E'),\n", " ('F', 'B', 'G'),\n", " ('F', 'B', 'H'),\n", " ('F', 'C', 'A'),\n", " ('F', 'C', 'B'),\n", " ('F', 'C', 'D'),\n", " ('F', 'C', 'E'),\n", " ('F', 'C', 'G'),\n", " ('F', 'C', 'H'),\n", " ('F', 'D', 'A'),\n", " ('F', 'D', 'B'),\n", " ('F', 'D', 'C'),\n", " ('F', 'D', 'E'),\n", " ('F', 'D', 'G'),\n", " ('F', 'D', 'H'),\n", " ('F', 'E', 'A'),\n", " ('F', 'E', 'B'),\n", " ('F', 'E', 'C'),\n", " ('F', 'E', 'D'),\n", " ('F', 'E', 'G'),\n", " ('F', 'E', 'H'),\n", " ('F', 'G', 'A'),\n", " ('F', 'G', 'B'),\n", " ('F', 'G', 'C'),\n", " ('F', 'G', 'D'),\n", " ('F', 'G', 'E'),\n", " ('F', 'G', 'H'),\n", " ('F', 'H', 'A'),\n", " ('F', 'H', 'B'),\n", " ('F', 'H', 'C'),\n", " ('F', 'H', 'D'),\n", " ('F', 'H', 'E'),\n", " ('F', 'H', 'G'),\n", " ('G', 'A', 'B'),\n", " ('G', 'A', 'C'),\n", " ('G', 'A', 'D'),\n", " ('G', 'A', 'E'),\n", " ('G', 'A', 'F'),\n", " ('G', 'A', 'H'),\n", " ('G', 'B', 'A'),\n", " ('G', 'B', 'C'),\n", " ('G', 'B', 'D'),\n", " ('G', 'B', 'E'),\n", " ('G', 'B', 'F'),\n", " ('G', 'B', 'H'),\n", " ('G', 'C', 'A'),\n", " ('G', 'C', 'B'),\n", " ('G', 'C', 'D'),\n", " ('G', 'C', 'E'),\n", " ('G', 'C', 'F'),\n", " ('G', 'C', 'H'),\n", " ('G', 'D', 'A'),\n", " ('G', 'D', 'B'),\n", " ('G', 'D', 'C'),\n", " ('G', 'D', 'E'),\n", " ('G', 'D', 'F'),\n", " ('G', 'D', 'H'),\n", " ('G', 'E', 'A'),\n", " ('G', 'E', 'B'),\n", " ('G', 'E', 'C'),\n", " ('G', 'E', 'D'),\n", " ('G', 'E', 'F'),\n", " ('G', 'E', 'H'),\n", " ('G', 'F', 'A'),\n", " ('G', 'F', 'B'),\n", " ('G', 'F', 'C'),\n", " ('G', 'F', 'D'),\n", " ('G', 'F', 'E'),\n", " ('G', 'F', 'H'),\n", " ('G', 'H', 'A'),\n", " ('G', 'H', 'B'),\n", " ('G', 'H', 'C'),\n", " ('G', 'H', 'D'),\n", " ('G', 'H', 'E'),\n", " ('G', 'H', 'F'),\n", " ('H', 'A', 'B'),\n", " ('H', 'A', 'C'),\n", " ('H', 'A', 'D'),\n", " ('H', 'A', 'E'),\n", " ('H', 'A', 'F'),\n", " ('H', 'A', 'G'),\n", " ('H', 'B', 'A'),\n", " ('H', 'B', 'C'),\n", " ('H', 'B', 'D'),\n", " ('H', 'B', 'E'),\n", " ('H', 'B', 'F'),\n", " ('H', 'B', 'G'),\n", " ('H', 'C', 'A'),\n", " ('H', 'C', 'B'),\n", " ('H', 'C', 'D'),\n", " ('H', 'C', 'E'),\n", " ('H', 'C', 'F'),\n", " ('H', 'C', 'G'),\n", " ('H', 'D', 'A'),\n", " ('H', 'D', 'B'),\n", " ('H', 'D', 'C'),\n", " ('H', 'D', 'E'),\n", " ('H', 'D', 'F'),\n", " ('H', 'D', 'G'),\n", " ('H', 'E', 'A'),\n", " ('H', 'E', 'B'),\n", " ('H', 'E', 'C'),\n", " ('H', 'E', 'D'),\n", " ('H', 'E', 'F'),\n", " ('H', 'E', 'G'),\n", " ('H', 'F', 'A'),\n", " ('H', 'F', 'B'),\n", " ('H', 'F', 'C'),\n", " ('H', 'F', 'D'),\n", " ('H', 'F', 'E'),\n", " ('H', 'F', 'G'),\n", " ('H', 'G', 'A'),\n", " ('H', 'G', 'B'),\n", " ('H', 'G', 'C'),\n", " ('H', 'G', 'D'),\n", " ('H', 'G', 'E'),\n", " ('H', 'G', 'F')]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(permutations('ABCDEFGH', 3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Kombinaatio

\n", "\n", "Jos n alkiota sisältävästä joukosta poimitaan k alkiota siten, että poimittujen alkioiden järjestystä ei huomioida, niin erilaisia mahdollisuuksia on n! / k!(n - k)! kappaletta.\n", "\n", "Toisin kuin permutaatioissa, kombinaatioissa kukin k alkiota sisältävä joukko lasketaan\n", "mukaan vain kertaalleen, koska erilaisia järjestyksiä ei huomioida.\n", "Kombinaatioiden laskukaava muistuttaa permutaatioiden laskukaavaa. Ainoana erona on\n", "jakajana oleva k!, joka poistaa erilaiset järjestykset.\n", "\n", "Esimerkki. Lotossa 40 numeron joukosta valitaan 7 numeroa. Lottoruudukkoa täytettäessä ei ole väliä, missä järjestyksessä 7 numeroa valitaan. Olennaista on vain se, mitkä 7\n", "numeroa valitaan. Kombinaatioiden laskukaavalla saadaan mahdollisten lottoruudukoiden lukumääräksi:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "18643560.0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(40, 7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kuinka monta erilaista viiden kortin kättä (järjestystä ei huomioida) voidaan 52 kortin\n", "pakasta nostaa?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2598960.0" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(52, 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kuinka moni kaikista mahdollisista viiden kortin käsistä ei sisällä yhtään ässää? Valitaan 5 korttia 48 kortin joukosta, koska ässiä ei saa olla mukana:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1712304.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(48, 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kuinka moni kaikista mahdollisista viiden kortin käsistä sisältää tasan yhden ässän? Valitaan 4 korttia 48 kortin joukosta ja tämän jälkeen valitaan yksi ässä neljän mahdollisen ässän joukosta. Tuloperiaatetta käyttäen saadaan:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "778320.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(48, 4)*4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kuinka moni kaikista mahdollisista viiden kortin käsistä sisältää tasan kaksi ässää? Valitaan 3 korttia 48 kortin joukosta ja tämän jälkeen kaksi ässää neljän mahdollisen ässän joukosta. Tuloperiaatetta käyttäen saadaan:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "103776.0" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(48, 3) * comb(4, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kuinka moni kaikista mahdollisista viiden kortin käsistä sisältää tasan kolme ässää? Valitaan 2 korttia 48 kortin joukosta ja tämän jälkeen kolme ässää neljän mahdollisen ässän joukosta. Tuloperiaatetta käyttäen saadaan:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4512.0" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(48, 2) * comb(4, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kuinka moni kaikista mahdollisista viiden kortin käsistä sisältää neljä ässää? 4 ässää ei voi tulla kuin yhdellä tavalla ja niiden kaverina voi olla mikä tahansa 48 kortista, joten mahdollisuuksia on 48 kappaletta." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Edellä tarkasteltujen tapausten pitäisi kattaa kaikki mahdolliset viiden kortin kädet. Tarkistetaan lopuksi, että näin on:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2598960.0" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "comb(48, 5) + comb(48, 4)*4 + comb(48, 3) * comb(4, 2) + comb(48, 2) * comb(4, 3) + 48" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tulos on sama kuin aiemmin laskettu viiden kortin käsien lukumäärä." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }