811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 1: Joukot
4.1 Joukot Matemaattisesti joukko on mikä tahansa hyvin määritelty kokoelma objekteja, joita kutsutaan joukon alkioiksi Voi olla äärellinen tai ääretön Tietojenkäsittelytieteessä joukko-opin merkintöjä käytetään usein Esimerkkejä joukoista Oulun yliopistossa kirjoilla olevat opiskelijat (äärellinen) ASCII-merkit (äärellinen) Luvulla 7 tasan jaolliset kokonaisluvut (ääretön) funktiot 2
4.1.1 Joukon määrittäminen Kaksi tapaa: 1. Luetellaan joukon alkiot aaltosulkeiden välissä, tai 2. Luonnehditaan joukon alkioita jonkin ominaisuuden (predikaatin) perusteella Esimerkkejä luettelusta: {1,3,5,7}, {1,3,5,,99}, {a,c,e,m} Esimerkkejä predikaattimuodosta {x x kokonaisluku ja 0 < x < 100} {y y reaaliluku ja y 2 > 2} Tehtävä: Esitä joukko {x x kokonaisluku x 2 < 29 } luettelumuodossa funktiot 3
4.1.2 Joukot ja niiden alkiot Tässä joukkoja merkitään isoilla kirjaimilla ja niiden alkioita pienillä kirjaimilla Alkio b kuuluu joukkoon A merkitään b A Alkio b ei kuulu joukkoon A merkitään b A Joukot A ja B ovat samat (A=B) täsmälleen silloin, kun niillä on samat alkiot, ts. x x A x B Huom! Joukon alkiot voivat olla myös joukkoja Tyhjä joukko (merkitään Ø) on joukko, jossa ei ole yhtään alkiota Huom! joukko {Ø} ei ole tyhjä; se on joukko, jonka ainoa alkio on tyhjä joukko funktiot 4
4.1.3 Joukkojen osajoukot Joukko A on joukon B osajoukko (merkitään A B), jos jokainen A:n alkio on myös B:n alkio Siis x (x A x B) Jos A B ja A B, niin A on B:n aito osajoukko, merkitään A B Tyhjä joukko on jokaisen joukon osajoukko Koska x (x Ø x A) on voimassa jokaisella joukolla A Joukko on myös aina itsensä osajoukko, ts. A A Usein oletetaan, että kaikki (tietyssä tilanteessa käsitellyt) alkiot kuuluvat kiinteään perus- eli universaalijoukkoon E funktiot 5
4.1.4 Joukkojen operaatiot Joukkojen A ja B leikkaus koostuu niiden yhteisistä alkioista A B = { x x A ja x B } Leikkaus Venn-diagrammina (Vennin diagrammina) funktiot 6
4.1.4 Joukkojen operaatiot (2) Joukkojen A ja B unioni eli yhdiste on kaikkien A:n ja B:n alkioiden muodostama joukko A B = { x x A tai x B } Unioni Venn-diagrammina funktiot 7
4.1.4 Joukkojen operaatiot (3) Joukon A komplementti koostuu kaikista niistä perusjoukon alkioista, jotka eivät kuulu joukkoon A A c = { x x A } Komplementti Venn-diagrammina A A c funktiot 8
4.1.4 Joukkojen operaatiot (4) Joukkojen A ja B erotus syntyy, kun joukosta A poistetaan joukon B alkiot A \ B = { x x A ja x B } Erotus Venn-diagrammina funktiot 9
4.1.4 Joukkojen operaatiot (5) x P(x) x P(x) Joukkojen laskulait (vrt. logiikan lait) funktiot 10
4.1.4 Joukkojen operaatiot. Tehtäviä Tehtävä 1. Olkoon perusjoukko E = {1,2,3,,10} ja A={2,4,6,8,10} sekä B={1,5,6,7,8}. Määrää joukot a) A B b) A B c) A c d) A \ B Tehtävä 2. Olkoot A ja B mitä tahansa joukkoja. Osoita oikeaksi de Morganin laki (A B) c = A c B c Tehtävä 3. Poista komplementit joukon (A c B c ) c esityksestä joukkojen laskulakien avulla funktiot 11
4.1.5 Joukon koko Joukon A koko eli kardinaalisuus on sen alkioiden lukumäärä, merkitään A Jos joukko A on ääretön, on A = Esimerkkejä Olkoon A = {2,4,1,5,9}. Silloin A = 5 IN = IN + = Z = Joukon A kaikkien osajoukkojen joukko on A:n potenssijoukko ja sitä merkitään P (A) Aina pätee P (A) = 2 A funktiot 12
4.1.6 Karteesinen tulo Joukkojen A ja B karteesinen tulo A B koostuu kaikista järjestetyistä pareista, joissa ensimmäinen alkio kuuluu joukkoon A ja toinen joukkoon B A B = { (a,b) a A ja b B } Luonnollisesti A B = A B Voidaan yleistää useammalle joukolle A 1, A 2,, A n A 1 A 2 A n = {(a 1,a 2,,a n ) a k A k, kun k=1,2,n} Jos A 1 =A 2 = =A n = A, merkitään A A A = A n Tehtävä: Olkoot A={a,b,c} ja B={1,2}. Määritä joukot P(A) ja A B. funktiot 13
4.1.7. Joukkojen esittäminen tietokoneessa Voidaan tehdä monella tavalla x P(x) x P(x) Yleensä ei kuulu ohjelmointikielen perustyyppeihin Yksi tapa on käyttää bittivektoria: Valitaan alkiot äärellisestä joukosta E = {a 1,a 2,..., a n }. Joukkoa A esittää bittijono b 1 b 2 b n missä b i =0 jos a i A ja b i =1 jos a i A Esimerkki. E={a,b,c,d,e,f,g,h,i,j,k}. A={c,e,i,j}. Tällöin A esitetään jonona 00101000110 funktiot 14