{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Päivitetty 2025-08-26 / Aki Taanila\n" ] } ], "source": [ "from datetime import datetime\n", "print(f'Päivitetty {datetime.now().date()} / Aki Taanila')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from math import factorial, perm, comb\n", "from itertools import permutations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Kombinaatio-oppia\n", "\n", "Kombinaatio-opissa lasketaan tulosvaihtoehtojen lukumääriä, esimerkiksi\n", "\n", "- kuinka monella tavalla lottoruudukko voidaan täyttää\n", "- kuinka monta kolme kirjainta ja kolme numeroa sisältävää rekisterikilpeä voidaan muodostaa\n", "- kuinka monella tavalla 9 henkilöä voidaan jakaa 3 hengen tiimeihin\n", "- kuinka moneen eri järjestykseen korttipakan kortit voidaan sekoittaa?\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": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1594323" ] }, "execution_count": 3, "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": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "128" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "4*2**5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "