JOHDATUS TEKOÄLYYN TEEMU ROOS

Koko: px
Aloita esitys sivulta:

Download "JOHDATUS TEKOÄLYYN TEEMU ROOS"

Transkriptio

1 JOHDATUS TEKOÄLYYN TEEMU ROOS

2 KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI LASKUHARJOITUKSET: RYHMÄ 1: TO (HANNU) RYHMÄ 2: TO (TEEMU) RYHMÄ 3: PE (HANNU) RYHMÄ 4? KURSSIKOE TO 9.3. KLO 16-18:30 (SAATTAA MUUTTUA!)

3 TIIMI HUONE: A322 HANNU KÄRNÄ PIAZZA: LIITTYMINEN SÄHKÖPOSTIN LINKILLÄ IRC: #johtek

4 ESITIETOVAATIMUKSET TIETORAKENTEET-KURSSI JOHDATUS YLIOPISTOMATEMATIIKKAAN -KURSSI TODENNÄKÖISYYSLASKENNAN KURSSISTA ON HYÖTYÄ OHJELMOINTITAITO KIELI VAPAA. JAVAAN OHJAUSTA.

5 MITÄ PITÄÄ TEHDÄ? LUENNOILLA EI OLE PAKKO ISTUA KURSSIKIRJAA EI OLE -- MATERIAALI KURSSIN SIVULLA KURSSIMONISTE LUENTOKALVOT (SIS. LINKKEJÄ) LASKUHARJOITUKSET MAX 20 PISTETTÄ KURSSIKOE MAX 40 PISTETTÄ HYVÄKSYMISRAJA N. 30 PISTETTÄ

6 VIELÄ PARI JUTTUA ERILAINEN KUIN TYYPILLINEN AI-KURSSI: - VARHAISEMMASSA VAIHEESSA OPINTOJA - VÄHEMMÄN MATEMATIIKKAA (MUTTA > 0) P(B A) = P(B) P(A B) / P(A)

7 VIELÄ PARI JUTTUA ERILAINEN KUIN TYYPILLINEN AI-KURSSI: - VARHAISEMMASSA VAIHEESSA OPINTOJA - VÄHEMMÄN MATEMATIIKKAA (MUTTA > 0) RAKENTAVA KRITIIKKI TERVETULLUTTA! TAVOITE: 100% LÄPÄISEE TYÖMÄÄRÄ: YHTEENSÄ N. 125 TUNTIA TAI 18 TUNTIA VIIKOSSA NO PAIN, NO GAIN!

8 AIHEITA 1. MITÄ ON TEKOÄLY? HISTORIA JA FILOSOFIA 2. PELIT JA ETSINTÄ GOFAI 3. LOGIIKKA(-OHJELMOINTI) 4. KONEOPPIMINEN JA PÄÄTTELY EPÄVARMUUDEN VALLITESSA 5. LUONNOLLISEN KIELEN KÄSITTELY 6. ROBOTIIKKA MODERN AI

9 KESKUSTELUA TEKOÄLY KULTTUURISSA REITTIOPAS SKYNET SAMANTHA GLADOS H.A.L.

10

11

12 KESKUSTELUA MITÄ KAIKKEA SAMANTHA (*) OSAA? MITÄ NÄISTÄ EI OSATA VIELÄ TOTEUTTAA? ONKO SAMANTHALLA TIETOISUUS? *) TAI MUU ELOKUVAN TEKOÄLY

13 TEKOÄLYN FILOSOFIAA ÄLYKKÄÄSTI vahva tekoäly logiikka heikko tekoäly rationaaliset agentit parviäly AJATTELEE kognitiotiede neurotiede psykologia Turingin koe David (A.I.) HAL Samantha TOIMII IHMISMÄISESTI

14 TOIMII IHMISMÄISESTI: TURINGIN TESTI

15

16 MITÄ TEKOÄLY OIKEASTI ON? KONENÄKÖ REITINOPTIMOINTI PUHE NLP PELIT KONEOPPIMINEN TIEDONHAKU LOGIIKKA TIEDON LOUHINTA KONEKÄÄNNÖS SUOSITTELU

17 MITÄ TEKOÄLY OIKEASTI ON?

18 ETSINTÄ X.... X X

19 ETSINTÄ LEVEYSSUUNTAINEN HAKU

20 ETSINTÄ

21 ETSINTÄ

22 ETSINTÄ

23 ETSINTÄ

24 ETSINTÄ

25 ETSINTÄ

26 ETSINTÄ

27 ETSINTÄ

28 ETSINTÄ

29 ETSINTÄ LYHIN REITTI SELVIÄÄ PERUUTTAMALLA NUOLTEN SUUNTAAN

30 ETSINTÄ ETSINTÄ(Alkusolmu) Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A D F B E LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

31 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: Solmu [A] Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

32 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: [] Solmu Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

33 ETSINTÄ(Alkusolmu) Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] ETSINTÄ Solmulista: [] Solmu (Käsitellyt-lista oranssilla) if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

34 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) [B,C,D] C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

35 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) [C,D] C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

36 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: [D] Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

37 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) [D,F] C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

38 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: [F] Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

39 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: [] Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

40 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: [E] Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

41 ETSINTÄ(Alkusolmu) ETSINTÄ Solmulista: [] Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) C A (vihreät solmut) B D E F LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

42 ETSINTÄ ETSINTÄ(Alkusolmu) Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) JONO ( FIRST-IN-FIRST-OUT ) LISÄÄ(Naapurit, Solmulista) LEVEYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt Solmulista return(peräkkäin(solmulista, Uudet)) # LISÄÄ([a,f],[d]) => [d,a,f] (jos a Käsitellyt-listalla)

43 ETSINTÄ ETSINTÄ(Alkusolmu) Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) PINO ( LAST-IN-FIRST-OUT ) LISÄÄ(Naapurit, Solmulista) SYVYYSSUUNTAINEN HAKU: Uudet = Naapurilista Käsitellyt return(peräkkäin(uudet, Solmulista)) # LISÄÄ([a,f],[d]) => [a,f,d] (jos a Käsitellyt-listalla)

44 ETSINTÄ ONGELMANRATKAISUNA HAKU- ALGORITMI

45 ETSINTÄ ONGELMANRATKAISUNA

46 ETSINTÄ ONGELMANRATKAISUNA KOLME KANNIBAALIA JA KOLME LÄHETYSSAARNAAJAA HALUAA YLITTÄÄ JOEN VENEELLÄ, JOHON MAHTUU VAIN KAKSI HENKILÖÄ. JOS JOMMALLA KUMMALLA RANNALLA ON ENEMMÄN KANNIBAALEJA KUIN LÄHETYSSAARNAAJIA (MUTTA KUITENKIN VÄHINTÄÄN YKSI LÄHETYSSAARNAAJA), KANNIBAALIT SYÖVÄT HEIDÄT. MITEN JOKI SAADAAN YLITETTYÄ ILMAN, ETTÄ KETÄÄN SYÖDÄÄN? VOIT KOKEILLA KLIKKAAMALLA TÄSTÄ.

47 SUDOKU 3 2 1

48 SUDOKU YKSINKERTAINEN SUDOKU-ALGORITMI: 1. ALOITA VASEMMASTA YLÄKULMASTA. 2. JOS RUUTU ANNETTU, SIIRRY SEURAAVAAN. 3. LISÄÄ NUMERO 0 RUUTUUN. 4. KASVATA NUMEROA YHDELLÄ. 5. JOS LISÄTTY NUMERO SOPII, SIIRRY SEURAAVAAN RUUTUUN JA JATKA ASKELEESTA JOS NUMERO LIIAN SUURI, PERUUTA EDELLISEN ITSE VALITUN NUMERON KOHDALLE. 7. JATKA ASKELEESTA 4.

49 SUDOKU

50 SUDOKU

51 SUDOKU

52 SUDOKU

53 SUDOKU

54 SUDOKU

55 SUDOKU

56 SUDOKU

57 SUDOKU

58 SUDOKU ? 2 1

59 SUDOKU

60 SUDOKU ? 2 1

61 SUDOKU ? 2 1

62 SUDOKU ? 2 1

63 SUDOKU

64 SUDOKU ? 2 1

65 SUDOKU ? 2 1

66 SUDOKU 1 3 4? 2 1

67 SUDOKU 1 3? 2 1

68 SUDOKU

69 SUDOKU

70 SUDOKU

71 SUDOKU

72 SUDOKU

73 SUDOKU

74 SUDOKU

75 SUDOKU

76 SUDOKU

77 SUDOKU

78 SUDOKU X X X ALGORITMI VASTAA SYVYYSSUUNTAISTA HAKUA!

79 PARAS-ENSIN HAKU ETSINTÄ(Alkusolmu) Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) LISÄÄ(Solmulista1, Solmulista2) PARAS-ENSIN -HAKU: return(järjestä(solmulista1, Solmulista2)) # [(a,5),(b,3),(c,1)], [(a,2),(c,3),(f,5)] => [(c,1),(a,2),(c,3),(b,3),(f,5),(a,5)]

80 HEURISTIIKAT KUSTANNUSARVIO: f(n) - ARVIO LÄHTÖSOLMUSTA SOLMUN N KAUTTA MAALISOLMUUN KULKEVAN POLUN KUSTANNUKSESTA HEURISTIIKKA : h(n) - ARVIO KUSTANNUKSESTA SOLMUSTA N MAALISOLMUUN POLKUKUSTANNUS: g(n) - KUSTANNUS ALKUSOLMUSTA SOLMUUN N (RIIPPUU KULJETUSTA REITISTÄ) f(n) = g(n) + h(n)

81 A* ETSINTÄ(Alkusolmu) Solmulista = [Alkusolmu] Käsitellyt = [ ] while Solmulista not empty Solmu = EKA(Solmulista) Solmulista = LOPUT(Solmulista) if Solmu not in Käsitellyt Käsitellyt = Käsitellyt + [Solmu] if MAALI(Solmu) return( ratkaisu, Solmu) Solmulista = LISÄÄ(NAAPURIT(Solmu),Solmulista) end if end while return( ei ratkaisua ) A*-HAKU: f(n) = g(n) + h(n) LISÄÄ(Solmulista1, Solmulista2) PARAS-ENSIN -HAKU: return(järjestä(solmulista1, Solmulista2)) # [(a,5),(b,3),(c,1)], [(a,2),(c,3),(f,5)] => [(c,1),(a,2),(c,3),(b,3),(f,5),(a,5)]

82 A* OLETUS: HEURISTIIKKA h(n) ANTAA AINA ENINTÄÄN YHTÄ SUUREN ARVON KUIN TODELLINEN KUSTANNUS SOLMUSTA N MAALIIN. TÄLLÖIN A* TUOTTAA AINA OPTIMAALISEN RATKAISUN TODISTUKSEN IDEA: JONON EKAKSI EI VOI PÄÄSTÄ MAALISOLMU, JONKA POLKUKUSTANNUS ON SUUREMPI KUIN OPTIMAALISEN REITIN KUSTANNUS. JOS HEURISTIIKKA HYVÄ, SUURIMMASSA OSASSA HUONOJA SOLMUJA EI KÄYDÄ OLLENKAAN.

83 REITTIOPAS

84 REITTIOPAS TILA: (PYSÄKKI, KULUNUT AIKA) KUSTANNUSARVIO: (MATKA-AIKA (MIN)) SIIRTYMÄT: (UUSI PYSÄKKI, VÄLIMATKA (MIN)) TEHTÄVÄ: ETSI NOPEIN REITTI PYSÄKILTÄ A PYSÄKILLE B (EI KÄVELYÄ) MENETELMÄ: A*-HAKU

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: 18.1.2016-6.3.2016 (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI 14-16 LASKUHARJOITUKSET: RYHMÄ

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 1: 4.9.2014-17.10.2012 (7 VIIKKOA+KOE) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET

Lisätiedot

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS 1 3 1 3 4 3 2 3 4 3 2 3 1 2 3 4 122 31 4 3 1 4 3 1 122 31........ X.... X X 2 3 1 4 1 4 3 2 3 2 4 1 4 JOHDATUS TEKOÄLYYN TEEMU ROOS 2. ETSINTÄ JA PELIT LEVEYSSUUNTAINEN HAKU 1 9 3 2 5 4 6 7 11 16 8 12

Lisätiedot

Johdatus tekoälyyn (T. Roos) Kurssikoe

Johdatus tekoälyyn (T. Roos) Kurssikoe 582216 Johdatus tekoälyyn (T. Roos) Kurssikoe 18.10.2013 Kokeessa saa pitää mukana käsinkirjoitettua A4-kokoista kaksipuolista lunttilappua, joka on palautettava koepaperin mukana. Huomaa että jokaisen

Lisätiedot

a. (2 p) Selitä Turingin koe. (Huom. ei Turingin kone.) Minkälainen tekoäly on saavutettu, kun Turingin koe ratkaistaan?

a. (2 p) Selitä Turingin koe. (Huom. ei Turingin kone.) Minkälainen tekoäly on saavutettu, kun Turingin koe ratkaistaan? 582216 Johdatus tekoälyyn (T. Roos) Kurssikoe 19.10.2012 Kokeessa saa pitää mukana käsinkirjoitettua A4-kokoista kaksipuolista lunttilappua, joka on palautettava koepaperin mukana. Huomaa että jokaisen

Lisätiedot

Kognitiivinen mallintaminen 1

Kognitiivinen mallintaminen 1 Kognitiivinen mallintaminen 1 Uutta infoa: Kurssin kotisivut wikissä: http://wiki.helsinki.fi/display/kognitiotiede/cog241 Suorittaminen tentillä ja laskareilla (ei välikoetta 1. periodissa) Ongelmanratkaisu

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AKTUAATTORIT:

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Kokeessa piti vastata viiteen (5) tehtävään kuudesta (6). Jokaisen tehtävän maksimipistemäärä on 8.

Kokeessa piti vastata viiteen (5) tehtävään kuudesta (6). Jokaisen tehtävän maksimipistemäärä on 8. 582216 Johdatus tekoälyyn (T. Roos) Kurssikoe 19.10.2012 ARVOSTELUPERUSTEET Kokeessa piti vastata viiteen (5) tehtävään kuudesta (6). Jokaisen tehtävän maksimipistemäärä on 8. 1. Tekoälyn filosofiaa yms.

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AIVOT : + KONENÄKÖ

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Johdatus tekoälyyn (T. Roos) Kurssikoe ARVOSTELUPERUSTEET

Johdatus tekoälyyn (T. Roos) Kurssikoe ARVOSTELUPERUSTEET 582216 Johdatus tekoälyyn (T. Roos) Kurssikoe 10.3.2016 ARVOSTELUPERUSTEET 1. Tekoälyn filosofiaa yms. a. (5 p) Esseekysymys. Sopivan pituinen vastaus on yli yhden, mutta mielellään alle kahden sivun mittainen.

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Miten käydä läpi puun alkiot (traversal)?

Miten käydä läpi puun alkiot (traversal)? inääripuut ieman lisää aidon binääripuun ominaisuuksia lehtisolmuja on yksi enemmän kuin sisäsolmuja inääripuut tasolla d on korkeintaan 2 d solmua pätee myös epäaidolle binääripuulle taso 0: 2 0 = 1 solmu

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT GRAAFITEHTÄVIÄ JA -ALGORITMEJA Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) GRAAFIN LÄPIKÄYMINEN Perusta useimmille

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen. Tietorakenteet, kevät 2012 Kurssikoe 2, mallivastaukset 2. (a) Järjestämistä ei voi missään tilanteessa suorittaa nopeammin kuin ajassa Θ(n log n), missä n on järjestettävän taulukon pituus. Epätosi: Yleisessä

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti. Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen

Lisätiedot

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10 Diskreetin matematiikan perusteet Esimerkkiratkaisut / vko 0 Tuntitehtävät - lasketaan alkuviikon harjoituksissa ja tuntitehtävät - loppuviikon harjoituksissa. Kotitehtävät - tarkastetaan loppuviikon harjoituksissa.

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

811312A Tietorakenteet ja algoritmit II Perustietorakenteet 811312A Tietorakenteet ja algoritmit 2017-2018 II Perustietorakenteet Sisältö 1. Johdanto 2. Pino 3. Jono 4. Lista 811312A TRA, Perustietorakenteet 2 II.1. Johdanto Tietorakenne on tapa, jolla algoritmi

Lisätiedot

Tervetuloa! Matematiikka tutuksi

Tervetuloa! Matematiikka tutuksi Tervetuloa! Matematiikka tutuksi Tavoitteet Yritetään vastata seuraaviin kysymyksiin: Mitä matematiikassa tutkitaan ja mihin sitä tarvitaan? Mitä tarkoitetaan todistuksella ja mitä hyötyä on käsitteiden

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto) 811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS LUONNOLLISEN KIELEN KÄSITTELY (NATURAL LANGUAGE PROCESSING, NLP) TEKOÄLYSOVELLUKSET, JOTKA LIITTYVÄT IHMISTEN KANSSA (TAI IHMISTEN VÄLISEEN) KOMMUNIKAATIOON, OVAT TEKEMISISSÄ

Lisätiedot

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla. HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 201 Harjoitus 7 Ratkaisut palautettava viimeistään perjantaina 26.6.201 klo 16.00. Huom! Luennot ovat salissa CK112 maanantaista 1.6. lähtien.

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 6, Ratkaisu Harjoituksen aiheet ovat verkkojen leveys- ja syvyyshakualgoritmit Tehtävä 6.1 Hae leveyshakualgoritmia käyttäen lyhin polku seuraavan

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS NEUROVERKOT TURINGIN KONE (TAI TAVALLINEN OHJELMOINTI) VAIN YKSI LASKENNAN MALLI ELÄINTEN HERMOSTOSSA LASKENTA ERILAISTA: - RINNAKKAISUUS - STOKASTISUUS (SATUNNAISUUS) - MASSIIVINEN

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS LOGIIKKAA LINTU(A) LENTÄÄ(A) PINGVIINI(A) LINTU(A) PINGVIINI(tweety). LENTÄÄ(tweety) ISÄ(X,Y) LAPSI(Y,X) ÄITI(X,Y) LAPSI(Y,X) ISÄ(X,Y) ISÄ(Y,Z) LAPSENLAPSI(Z,X) ISOISÄ(X,Z)

Lisätiedot

Tervetuloa 2. vuositason infoiltaan

Tervetuloa 2. vuositason infoiltaan Tervetuloa 2. vuositason infoiltaan yleistä 2. vuositason opiskelijoista yo-tutkinto abivuosi opinto-ohjaus ja jatko-opintoihin pyrkiminen mahdollisuus tutustua sähköisiin kokeisiin luokassa 2O Missä mennään?

Lisätiedot

TKT50004: Akateemiset taidot (1 op)

TKT50004: Akateemiset taidot (1 op) TKT50004: Akateemiset taidot (1 op) Vuonna 2017 aloittaneet opiskelijat ke 12.9.2017 klo 14-16 Kjell Lemström Yhteenveto Kurssin luennot & suorittaminen Vanha vs. uusi tutkintojärjestelmä Miten 1. vuosi

Lisätiedot

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op) 581361 Ohjelmistoprosessit ja ohjelmistojen laatu (4op) Ohjelmistojärjestelmien syventävien opintojen kurssi Myös ohjelmistotekniikan profiilin pakollinen kurssi eli ohjelmistotekniikka-aiheisen gradun

Lisätiedot

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5

Lisätiedot

Johdatus tekoälyyn

Johdatus tekoälyyn KURSSIN SISÄLTÖ eli TULEEKO TÄMÄ KOKEESEEN??? 582216 Johdatus tekoälyyn Syksy 2011 T. Roos KURSSIKOODI: 582216 OPINTOPISTEET: 4.0 ERIKOISTUMISLINJA: Algoritmit ja koneoppiminen TASO: Aineopinnot KUVAUS:

Lisätiedot

Lyhin kahden solmun välinen polku

Lyhin kahden solmun välinen polku Lyhin kahden solmun välinen polku Haluamme etsiä lyhimmän polun alla olevan ruudukon kohdasta a kohtaan b vierekkäisten (toistensa sivuilla, ylä- ja alapuolella olevien) valkoisten ruutujen välinen etäisyys

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS LOGIIKKAA LINTU(A) LENTÄÄ(A) PINGVIINI(A) LINTU(A) PINGVIINI(tweety). LENTÄÄ(tweety) ISÄ(X,Y) LAPSI(Y,X) ÄITI(X,Y) LAPSI(Y,X) ISÄ(X,Y) ISÄ(Y,Z) LAPSENLAPSI(Z,X) ISOISÄ(X,Z)

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS NEUROVERKOT TURINGIN KONE (TAI TAVALLINEN OHJELMOINTI) VAIN YKSI LASKENNAN MALLI ELÄINTEN HERMOSTOSSA LASKENTA ERILAISTA: - RINNAKKAISUUS - STOKASTISUUS (SATUNNAISUUS) - MASSIIVINEN

Lisätiedot

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö Algoritmit 1 Luento 13 Ma 26.2.2018 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja 582206 Laskennan mallit (syksy 2008) 2. kurssikoe 11.12., ratkaisuja Tehtävän 1 tarkasti Harri Forsgren, tehtävän 2 Joel Kaasinen ja tehtävän 3 Jyrki Kivinen. Palautetilaisuuden 19.12. jälkeen arvosteluun

Lisätiedot

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0-1 Tietokoneen rakenne Asema opetuksessa u 1999 HajaTilin pakollinen,

Lisätiedot

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen) 58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 12.9.2018 ratkaisuja (Jyrki Kivinen) 1. [10 pistettä] Iso-O-merkintä. (a) Pitääkö paikkansa, että n 3 + 5 = O(n 3 )? Ratkaisu: Pitää paikkansa.

Lisätiedot

A* Reitinhaku Aloittelijoille

A* Reitinhaku Aloittelijoille A* Reitinhaku Aloittelijoille Alkuperäisen artikkelin kirjoittanut Patrick Lester, suomentanut Antti Veräjänkorva. Suom. huom. Tätä kääntäessäni olen pyrkinyt pitämään saman alkuperäisen tyylin ja kerronnan.

Lisätiedot

Kognitiivinen mallintaminen I

Kognitiivinen mallintaminen I Kognitiivinen mallintaminen I Symbolinen mallintaminen: 2. luento Ongelmanratkaisu Ongelmanratkaisu Rationaalinen agentti Ongelma-avaruus Hakustrategiat ongelma-avaruudessa sokea haku tietoinen haku heuristiikat

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU ACTIVATOR 1 ACTIVATOR 2 PELIPUU ACTIVATOR 1 ACTIVATOR 2 -1 0 1 PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu)) v = for each Lapsi in

Lisätiedot

Koe on kaksiosainen: siihen kuuluvat tekstitaidon koe ja esseekoe. Tekstitaidon kokeen arvioinnissa painottuu lukutaito ja esseekokeessa

Koe on kaksiosainen: siihen kuuluvat tekstitaidon koe ja esseekoe. Tekstitaidon kokeen arvioinnissa painottuu lukutaito ja esseekokeessa Koe on kaksiosainen: siihen kuuluvat tekstitaidon koe ja esseekoe. Tekstitaidon kokeen arvioinnissa painottuu lukutaito ja esseekokeessa kirjoitustaito. Kokeet järjestetään eri päivinä: esimerkiksi tänä

Lisätiedot

T : Max-flow / min-cut -ongelmat

T : Max-flow / min-cut -ongelmat T-61.152: -ongelmat 4.3.2008 Sisältö 1 Määritelmät Esimerkki 2 Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys 3 Perusajatus Pseudokoodi Tarkastelu 4 T-61.152: -ongelmat Virtausverkko

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS NEUROVERKOT TURINGIN KONE (TAI TAVALLINEN OHJELMOINTI) VAIN YKSI LASKENNAN MALLI ELÄINTEN HERMOSTOSSA LASKENTA ERILAISTA: - RINNAKKAISUUS - STOKASTISUUS (SATUNNAISUUS) - MASSIIVINEN

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

Ylioppilaskokeisiin ilmoittautuminen

Ylioppilaskokeisiin ilmoittautuminen Ylioppilaskokeisiin ilmoittautuminen Sitova ilmoittautuminen syksyn 2017 tutkintoon ti 2.5. - ma 29.5. Wilmassa. Ilmoittautumisen allekirjoittaminen kansliassa viim. ma 29.5. Kevään tutkintoon ilmoittautuminen

Lisätiedot

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen) 58131 Tietorakenteet Erilliskoe 11.11.2008, ratkaisuja (Jyrki Kivinen) 1. (a) Koska halutaan DELETEMAX mahdollisimman nopeaksi, käytetään järjestettyä linkitettyä listaa, jossa suurin alkio on listan kärjessä.

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 2 1.-2.2.2017 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: laskesumma(t, n) sum = t[0]; for (i = 1; i < n; i++) sum = sum + t[i]; return sum; Silmukka suoritetaan n 1 kertaa

Lisätiedot

Matematiikan opintosuunta

Matematiikan opintosuunta Matematiikan opintosuunta Matematiikka: Mitä se on? Vastaus: (Oma vastaukseni:) Tyhjentävää vastausta on mahdotonta antaa. Matematiikka: Mitä se on? Vastaus: (Oma vastaukseni:) Tyhjentävää vastausta on

Lisätiedot

Algoritmit 1. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 5 Ti Timo Männikkö Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti

Lisätiedot

Tervetuloa 2. vuositason infoiltaan!

Tervetuloa 2. vuositason infoiltaan! Tervetuloa 2. vuositason infoiltaan! yleistä 2. vuositason opiskelijoista yo-tutkinto ensi lukuvuoden kurssivalinnat opinto-ohjaus ja jatko-opintoihin pyrkiminen Missä mennään? Nyt arvioituna 9 jaksoa

Lisätiedot

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0-1 Tietokoneen rakenne Asema opetuksessa u 1999 HajaTilin pakollinen,

Lisätiedot

Matematiikka ja tilastotiede. Orientoivat opinnot / 25.8.2015

Matematiikka ja tilastotiede. Orientoivat opinnot / 25.8.2015 Matematiikka ja tilastotiede Orientoivat opinnot / 25.8.2015 Tutkinnot Kaksi erillistä ja peräkkäistä tutkintoa: LuK + FM Laajuudet 180 op + 120 op = 300 op Ohjeellinen suoritusaika 3 v + 2 v = 5 v Tutkinnot

Lisätiedot

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,

Lisätiedot

32 Ke 10.8. avajaiset klo 10.00 Forumilla 1. To 11.8. ro kaikki ryhmät 2

32 Ke 10.8. avajaiset klo 10.00 Forumilla 1. To 11.8. ro kaikki ryhmät 2 KALENTERI 1. JAKSO 32 Ke 10.8. avajaiset klo 10.00 Forumilla 1 To 11.8. ro kaikki ryhmät 2 Pe 12.8. tentti-info 09-ryhmät klo 11.15 3 ilm. uusintaan klo 12 mennessä 33 Ma 15.8. ilm.syksyn suul.kuulusteluihin

Lisätiedot

Kaksiloppuinen jono D on abstrakti tietotyyppi, jolla on ainakin seuraavat 4 perusmetodia... PushFront(x): lisää tietoalkion x jonon eteen

Kaksiloppuinen jono D on abstrakti tietotyyppi, jolla on ainakin seuraavat 4 perusmetodia... PushFront(x): lisää tietoalkion x jonon eteen Viimeksi käsiteltiin pino: lisäys ja poisto lopusta jono: lisäys loppuun, poisto alusta Pinon ja jonon yleistävä tietorakenne: kaksiloppuinen jono alkion lisäys/poisto voidaan kohdistaa jonon alkuun tai

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille

Lisätiedot

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama

Lisätiedot

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto 4 Heuristinen haku Eero Hyvönen Helsingin yliopisto Strategioita: - Breath-first - Uniform-cost - Depth-first - Depth-limited - Iterative deepening - Bidirectional Tekoäly, Eero Hyvönen, 2004 2 Heuristisen

Lisätiedot

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun: Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan

Lisätiedot

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö Algoritmit 1 Luento 14 Ke 25.2.2015 Timo Männikkö Luento 14 Heuristiset menetelmät Heuristiikkoja kapsäkkiongelmalle Kauppamatkustajan ongelma Lähimmän naapurin menetelmä Kertaus ja tenttivinkit Algoritmit

Lisätiedot

Ylioppilaskokeisiin ilmoittautuminen

Ylioppilaskokeisiin ilmoittautuminen Ylioppilaskokeisiin ilmoittautuminen Ilmoittautuminen kevään 2017 tutkintoon alkaa pe 4.11. ja päättyy pe 18.11. Mikäli osallistuit syksyn yo-kirjoituksiin, voit odottaa niiden lopulliset tulokset ja ilmoittautua

Lisätiedot

A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007

A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007 Kurssiesittely Tietojenkäsittelytieteiden laitos Tampereen yliopisto A215 Tietorakenteet Periodit I-II, syksy 2007 Luennot/vastuuhenkilö: Heikki Hyyrö Sähköposti: heikki.hyyro@cs.uta.fi Kurssin kotisivu:

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU PELIPUU -1 0 1 PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu))

Lisätiedot

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi 8.8.2016 Mallilukujärjestys 2016 2017 Yleisiä ohjeita Opinto-oppaat ja kurssikuvaukset Teknistieteellisen kandidaattiohjelman opinto-oppaat löytyvät osoitteesta http://studyguides.aalto.fi. Kurssien tarkemmat

Lisätiedot

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut JYVÄSKYLÄN YLIOPISTO 14. Luennon sisältö Kuljetustehtävä esimerkki Verkkoteoria ja optimointi verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut kevät 2012 TIEA382 Lineaarinen ja diskreetti

Lisätiedot

Viestintätieteet VIESTINTÄTIETEET , N = 193

Viestintätieteet VIESTINTÄTIETEET , N = 193 Viestintätieteet 2013-15 VIESTINTÄTIETEET 2013-15, N = 193 Viestintätieteiden opiskelijoilla pitkä matematiikka (27 %) on pienemmällä osuudella kuin lyhyt (40 %) tai ei matematiikkaa (33 %). Reaaliaineista

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 2 7.-8.2.2018 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: etsipienin(t, n) { pnn = t[0]; for (i = 1; i < n; i++) { pnn = min(pnn, t[i]); return pnn; Silmukka suoritetaan

Lisätiedot

582206 Laskennan mallit

582206 Laskennan mallit 582206 Laskennan mallit luennot syksylla 2006, periodit I{II Jyrki Kivinen tietojenkasittelytieteen aineopintokurssi, 6 op, paaaineopiskelijoille pakollinen esitietoina Tietorakenteet (ja sen esitiedot)

Lisätiedot

O P I N T O S U O R I T U S O T E

O P I N T O S U O R I T U S O T E Jyväskylän yliopisto 19.02.2013 O P I N T O S U O R I T U S O T E Sukunimi : Soranto Etunimet : Annemari Kristiina Syntymäaika : 01.05.1977 Opinto-oikeus : Varsinainen Tutkintotavoite : Kauppatieteiden

Lisätiedot

Johdatus tekoälyyn

Johdatus tekoälyyn YLEISTÄ 582216 Johdatus tekoälyyn Syksy 2013 T. Roos Kurssin päätavoitteena on saada käsitys tekoälyn perusongelmista, -sovelluksista ja -menetelmistä, sekä tekoälyn tärkeimmistä kehitysaskeleista sen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Juha Merikoski. Jyväskylän yliopiston Fysiikan laitos Kevät 2009

Juha Merikoski. Jyväskylän yliopiston Fysiikan laitos Kevät 2009 FYSP120 FYSIIKAN NUMEERISET MENETELMÄT Juha Merikoski Jyväskylän yliopiston Fysiikan laitos Kevät 2009 1 Kurssin sisältö JOHDANTOA, KÄSITTEITÄ, VÄLINEITÄ [1A] Laskennallista fysiikkaa [1B] Matlabin alkeita

Lisätiedot

Kasvatustieteet

Kasvatustieteet Kasvatustieteet 2013-15 KASVATUSTIETEET 2013-15, N =5284 MATEMATIIKKA JA REAALIAINEET Kasvatustieteisiin valituilla opiskelijoilla lyhyen matematiikan paino (49 %) on suuri, jopa suurin kaikista tutkintonimikkeistä.

Lisätiedot

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu. Johdatus yliopistomatematiikkaan Helsingin yliopisto, matematiikan ja tilastotieteen laitos Kurssikoe 23.10.2017 Ohjeita: Vastaa kaikkiin tehtäviin. Ratkaisut voi kirjoittaa samalle konseptiarkille, jos

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2002 Avoin yliopisto 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:

Lisätiedot

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento0-1 Tietokoneen rakenne Asema opetuksessa u 2005 HajaTilin valinnainen,

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2016-2017, Harjoitus 6, Ratkaisu Harjoituksen aiheet ovat verkkojen leveys- ja syvyyshakualgoritmit Tehtävä 6.1 Hae leveyshakualgoritmia käyttäen lyhin polku seuraavan

Lisätiedot

MS-C2103 Koesuunnittelu ja tilastolliset mallit (5 op)

MS-C2103 Koesuunnittelu ja tilastolliset mallit (5 op) MS-C2103 Koesuunnittelu ja tilastolliset mallit (5 op) Aalto-yliopisto 2016 Käytannön järjestelyt Luennot: Luennot ma 4.1. (sali E) ja ti 5.1 klo 10-12 (sali C) Luennot 11.1.-10.2. ke 10-12 ja ma 10-12

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 96 Prolog voi päätyä samaan ratkaisuun monen päättelypolun kautta Tällöin sama ratkaisu palautetaan useita kertoja minimum(x,y,x):- X=Y. Molempien sääntöjen kautta löytyyy sama

Lisätiedot