Permutaatio- ja variaatiolaskin
Laskeaksesi variaatioiden lukumäärän syötä alkioiden määrä (n) sekä kuinka monta kertaa valinta tehdään (merkitään yleensä k- tai r-kirjaimella) ja rastita ”Salli toistot” -ruutu, jos vaihtoehdon saa valita useammin kuin kerran. Paina ”Laske”-painiketta, niin tulos näytetään alla.
Mitä variaatiot ja permutaatiot ovat?
Permutaatio on muutos lukujonon alkioiden järjestyksessä. Permutaatioiden määrä kertoo, kuinka monella eri tavalla lukujonon alkiot voidaan järjestää.
Variaatio ja erityisesti n:n k-variaatio (suomenkielisissä lähteissä usein myös n:n k-permutaatio) on tapa järjestää k alkiota suuremmasta n alkion joukosta. Permutaatio- ja variaatiolaskin laskee tällaisten järjestelyiden lukumäärän annetuille n:n ja k:n arvoille. Joissakin lähteissä k-kirjaimen sijaan käytetään r-kirjainta – ne tarkoittavat samaa asiaa.
On olemassa kahdenlaisia n:n k-variaatioita. Ensiksi ne voivat sisältää lukujonoja ilman toistoja: toisin sanoen kukin n alkiosta voi esiintyä lukujonossa korkeintaan kerran. Toiseksi, jos alkiot voivat esiintyä lukujonossa useita kertoja, kyse on n:n k-variaatioista toistoilla. Tällä laskimella voit laskea kummankin tyyppisiä variaatioita.
Variaatiot ja kombinaatiot
Variaatiot sekoitetaan usein kombinaatioihin. Matemaattisen määritelmän mukaisesti variaatioiden ja kombinaatioiden ero on se, että variaatioissa alkioiden järjestyksellä on merkitystä, minkä vuoksi puhutaan järjestyksistä ja lukujonoista. Sen sijaan kombinaatioissa järjestyksellä ei ole väliä, joten on sopivampaa puhua alkioiden valitsemisesta ja alkioiden osajoukoista. Jos olet kiinnostunut variaatioiden sijaan kombinaatioista, tutustu kombinaatiolaskimeemme.
Variaatiokaava
Tarkastellaan ensin variaatioita, joissa toistoja ei ole sallittu, eli n:n k-variaatioita ilman toistoja. Jos muodostat k:n pituisia lukujonoja n alkiosta, saat erilaisten jonojen lukumäärän kaavalla
Kaavassa n! tarkoittaa n:n kertomaa. Merkintätavan lisäksi joissakin lähteissä käytetään myös muita symboleita:
Toisaalta niissä n:n k-variaatioissa, joissa toistot on sallittu, käytetään kaavaa
Tämä on yksinkertaisesti n potenssiin k.
Variaatiokaavan selitys
Kuvitellaan, että meidän täytyy muodostaa k:n pituinen lukujono käyttämällä n alkiota. Voimme asettaa minkä tahansa n alkiosta jonon alkuun. Kun kyse on variaatioista ilman toistoja, valittu alkio poistetaan käytettävissä olevien joukosta, ja toista paikkaa täytettäessä jäljellä on vain alkiota. Sitten toinen valittu alkio poistetaan myös käytettävissä olevien joukosta, ja meillä on vain alkiota, jotka voidaan asettaa kolmanteen paikkaan. Tämä prosessi jatkuu, kunnes koko lukujono on täytetty, jolloin saadaan seuraava kaava:
Sitten voimme kertoa ja jakaa tämän kaavan samalla luvulla muuttamatta sen arvoa. Valintamme on ja tästä saamme
Variaatioissa, joissa toistot on sallittu, tilanne on aluksi samanlainen: voimme valita lukujonon ensimmäiselle paikalle yhden n alkiosta. Mutta koska poiminta tehdään palauttaen, tätä alkiota ei poisteta käytettävissä olevien joukosta, joten lukujonon toiselle paikalle valittavissa on edelleen n alkiota. Sama pätee kolmanteen paikkaan ja niin edelleen. Teemme k tällaista valintaa, ja lopullinen kaava on
Esimerkkejä permutaatioista ja variaatioista
Esimerkki: Kuinka monta permutaatiota korttipakan korteista on olemassa?
Tavallisessa pakassa on 52 korttia. Mikä on näiden korttien mahdollisten eri järjestysten lukumäärä? Käytettävissä olevien alkioiden kokonaismäärä on 52, joten n = 52. Lukujonon pituus, eli järjestykseen sisällytettävien korttien määrä, on myös 52, koska haluamme järjestää koko korttipakan. Siispä k = 52. Toistoja ei ole, koska jokainen kortti esiintyy järjestyksessä täsmälleen kerran. Kun tiedämme tämän, meillä on kaikki tarvittava kaavan soveltamiseen:
Tämä on erittäin suuri luku. Voit saada tarkan ratkaisun käyttämällä permutaatio- ja variaatiolaskintamme. Koska tässä on kyse permutaatiosta eli variaation erityistapauksesta, jossa otoksen koko on yhtä suuri kuin alkioiden kokonaismäärä (k = n), kaava pelkistyy yksinkertaiseksi kertomaksi, ja saat täsmällisen vastauksen myös laskemalla 52:n kertoman.
Esimerkki: Kuinka monta 3-kirjaimista ”sanaa” voidaan luoda sanasta ALUS?
Meillä on neljä eri kirjainta, ja haluamme nähdä, montako erilaista kolmen kirjaimen jonoa niistä voidaan muodostaa. Voimme jälleen käyttää kutakin kirjainta vain kerran, joten kaava on Tässä ovat kaikki 24 variaatiota:
Esimerkki: Kuinka monella tavalla voidaan jakaa 7 eri väristä palloa 4 lapselle?
Tässä esimerkissä haluamme antaa yhden pallon kullekin neljästä lapsesta: Aino, Elias, Leevi ja Olivia. Meillä on seitsemän palloa: valkoinen, oranssi, sininen, vihreä, keltainen, violetti ja ruskea. Kuinka monella eri tavalla voidaan jakaa jokaiselle lapselle yksi pallo? Variaatioista on taas apua. Koska emme voi antaa samaa palloa useammalle kuin yhdelle lapselle, käytämme variaatioita ilman toistoja:
On siis 840 tapaa jakaa pallot lasten kesken.
Esimerkki: Kuinka monella tavalla 20 jäsenen yhdistyksestä voidaan valita puheenjohtaja, sihteeri ja rahastonhoitaja?
On 20 ihmistä, joista voi tulla puheenjohtaja. Valitaan yksi heistä. Nyt kun puheenjohtaja on valittu, jäljellä on 19 ihmistä, joista voi tulla sihteeri. Ja lopuksi, kun meillä on puheenjohtaja ja sihteeri, jäljellä on 18 ihmistä, joista voi tulla rahastonhoitaja. Kerromme nämä luvut keskenään ja saamme mahdollista tapaa valita kolme ihmistä näihin tehtäviin.
Yleisesti ottaen, kun täytettäviä paikkoja on k ja ryhmässä on n ehdokasta, valinnat voi tehdä täsmälleen tavalla. Tässä nimenomaisessa tapauksessa meillä on
Esimerkki: Kuinka monta yhdistelmää on 4 numeron lukossa, jos nollia ei ole?
Tämä ei ole tyypillinen lukko, koska numerot ovat väliltä 1…9 eikä 0…9. Alkioiden määrä on siten n = 9. Lukujonon pituus on k = 4. Kutakin numeroa voidaan käyttää niin monta kertaa kuin tarvitaan, joten tässä tapauksessa käytämme variaatioita toistoilla. Kaava on
Mahdollisia yhdistelmiä on 6561. Jos jokaisen yhdistelmän kokeileminen kestää sekunnin, meidän pitäisi pystyä avaamaan lukko alle kahdessa tunnissa kokeilemalla kaikkia yhdistelmiä.
Esimerkki: Kuinka monta mahdollista salasanaa on olemassa?
Vastaus riippuu salasanojen pituudesta ja käytettävissä olevien merkkien määrästä. Lasketaan esimerkkinä 10 merkin pituisten salasanojen määrä. Meillä on käytettävissämme sekä pienet että isot latinalaiset kirjaimet (a:sta z:aan ja A:sta Z:aan – kirjaimia on 52), numerot (0…9) ja erikoismerkit (niitä on 30):
! @ # $ % ^ & * ( ) - _ = + [ ] \ { } | ; : ' " , . / < > ?
Yhteensä meillä on 52 + 10 + 30 = 92 erilaista merkkiä. Voimme käyttää kutakin merkkiä niin monta kertaa kuin haluamme, joten laskemme n:n k-variaatiot toistoilla. Kaava on
Tämä on erittäin suuri määrä yksilöllisiä salasanoja. On käytännössä mahdotonta, että joku arvaisi salasanasi vain kokeilemalla kaikki mahdolliset yhdistelmät läpi – kunhan valitsit satunnaisia merkkejä etkä keksinyt jotakin helppoa, kuten qwert12345 tai salasana0!.
Variaatiot Pythonissa
Jos haluat laskea variaatioiden määrän Pythonin kaltaisella ohjelmointikielellä, voit luoda oman funktiosi variaatiokaavan avulla:
import math
def nPk(n, k):
return int(math.factorial(n) / math.factorial(n - k))
Vastaavasti voit käyttää variaatiokaavaa toistoilla:
def nUk(n, k):
return n**k
Jos haluat luoda kaikki variaatiot ilman toistoja, voit kirjoittaa:
from itertools, import permutations
def list_perms(n, k):
perms = permutations(range(n), k)
for p in perms:
print(p)
Ja variaatiot toistoilla:
import itertools
def list_perms_with_replacents(n, k):
for perm in itertools.product(range(n), repeat=k):
print(perm)
Potenssilaskin suurille luvuille
Koska on kaava variaatioille, joissa toistot on sallittu, voit käyttää tätä permutaatio- ja variaatiolaskinta potenssilaskimena luvun potenssin selvittämiseen. Tämä voi olla kätevää varsinkin tuloksen ollessa valtava (voit esimerkiksi saada helposti tarkan arvon potenssille 31000), sillä perinteisillä laskimilla on vaikeuksia suurten tulosten kanssa. Valitse ”Salli toistot” -ruutu ja syötä kantaluku n:n arvona ja eksponentti k:n arvona. Voit käyttää vain ei-negatiivisia kokonaislukuja.
Näin käytät permutaatio- ja variaatiolaskinta
Voit käyttää tätä laskinta syöttämällä valittavina olevien alkioiden määrän kenttään, joka on merkitty n-kirjaimella. Otoksen koko eli lukujonon pituus syötetään sen alla olevaan kenttään (jossa on merkintä k tai r). Jos olet kiinnostunut variaatioista toistoilla, valitse ”Salli toistot” -ruutu. Napsauta sitten ”Laske”-painiketta suorittaaksesi laskutoimitukset tai paina ”Tyhjennä” syöttääksesi arvot uudelleen.
Tulos näkyy laskimen alla olevassa ”Tulos”-kentässä. Jos tulos on pieni, se näytetään yhdellä rivillä. Suuret luvut esitetään kahdella tavalla: likiarvo tieteellisellä merkintätavalla näytetään ylimpänä ja tarkka luku sen alla. Jos laskutoimituksen aikana tapahtuu virhe, se näytetään tuloksen sijaan.
Laskin hyväksyy vain ei-negatiiviset kokonaisluvut. Laskettaessa variaatioita ilman toistoja syötettyjen lukujen on lisäksi täytettävä ehto k ≤ n. Laskettaessa variaatioita toistoilla molemmat luvut eivät voi olla samaan aikaan nolla, koska potenssin 00 arvo on määrittelemätön. Syötettävillä arvoilla ei ole ylärajaa. Suurten lukujen pitäisi olla helposti laskettavissa, kuten arvoilla n = 8000000000 ja k = 1000 (eli tavat valita 1000 ihmistä maapallon väestöstä). Paljon suurempiakin tuloksia voidaan saada riippuen järjestelmäsi kokoonpanosta. Suuren tuloksen laskeminen saattaa kuitenkin kestää kauan, tai jos laskutoimitus ylittää laitteesi kapasiteetin, sivusto voi kaatua.
Voit vaihtaa kantalukujärjestelmää, jolla haluat näyttää tulokset. Oletusarvo on 10: tulokset näytetään siis desimaalijärjestelmällä. Voit käyttää kantalukuna mitä tahansa kokonaislukua väliltä 2…36. Valitulla lukujärjestelmällä näytetään kuitenkin vain tulokset. Syöttämiäsi n:n ja k:n arvoja käsitellään aina kymmenjärjestelmän mukaan.
Voit halutessasi 1) kopioida tuloksen leikepöydälle, 2) ladata tuloksen tiedostona, 3) tulostaa tuloksen, 4) kopioida leikepöydälle linkin tulokseen ja 5) tyhjentää ”Tulos”-kentän. Jos haluat aktivoida jonkin näistä vaihtoehdoista, napsauta siihen liittyvää kuvaketta ”Tulos”-kentän yläpuolella.
Viittaa tähän sisältöön tai upota se
Voit käyttää tätä sivustoa veloituksetta, mukaan lukien kaupallisiin tarkoituksiin, kunhan mainitset tämän sivuston lähteenä. Jos viittaat siihen tieteellisessä tekstissä, voit käyttää seuraavaa viittaustapaa:
Jos viittaat tähän sivustoon internetissä, voit linkittää siihen sen pääosoitteella (https://minesweeper.us/
Voit myös upottaa tämän sivuston omalle sivustollesi iframe-elementin avulla. Jos haluat, että tämä sivu näyttää vain laskimen ja piilottaa kaiken muun sisällön (valikot, artikkelin jne.), voit käyttää seuraavaa URL-osoitetta src-attribuutissa: https://minesweeper.us/
Mainitsethan tämän sivun sivustollasi viittaamalla siihen napsautettavalla linkillä. Voit myös ilmoittaa meille, että olet upottanut sovelluksemme sivustollesi, lähettämällä sähköpostia osoitteeseen contact@simiade.com. Tällöin pystymme tiedottamaan sinulle mahdollisista sovellukseen tekemistämme muutoksista, jotka saattavat vaatia sivustovastaajia päivittämään tapaa, jolla sivustot näyttävät sovelluksen.
Lähteet
Charalambides, Charalambos A., Enumerative Combinatorics, CRC Press, 2002.
Ota yhteyttä
Jos sinulla on kysyttävää, kommentteja tai ehdotuksia, voit jättää palautetta tänne:
Tai voit ottaa meihin yhteyttä postitse:
Adam Narkiewicz
Plac Bankowy 2
00-095 Warszawa
Puola
+48 728235409
contact@simiade.com
https://simiade.com/fi/
