MONADE V FUNKCIJSKEM PROGRAMIRANJU MITJA ROZMAN Fakulteta za matematiko in fiziko Univerza v Ljubljani Članek predstavi monado, eno pomembnejših struk

Velikost: px
Začni prikazovanje s strani:

Download "MONADE V FUNKCIJSKEM PROGRAMIRANJU MITJA ROZMAN Fakulteta za matematiko in fiziko Univerza v Ljubljani Članek predstavi monado, eno pomembnejših struk"

Transkripcija

1 MONADE V FUNKCIJSKEM PROGRAMIRANJU MITJA ROZMAN Fakulteta za matematiko in fiziko Univerza v Ljubljani Članek predstavi monado, eno pomembnejših struktur v programskem jeziku Haskell Monada je za programski jezik Haskell bistvena, saj so z njeno pomočjo v Haskellu možne manipulacije z nečistimi izračuni, kot je stanje, na način, ki še vedno zagotavlja čistost ostalih izračunov Vendar se izkaže, da uporaba monade omogoča še marsikaj drugega Članek najprej na kratko predstavi osnovne pojme teorije kategorij, kot so kategorija, funktor, naravna transformacija in nazadnje monada Podana je formalna definicija matematične in Haskllove monade Na koncu se pokaže še, kako se Haskllova monada izpelje iz matematične, in dokaže njuno ekvivalenco MONADS IN FUNCTIONAL PROGRAMMING A monad is one of the most important structures in the Haskell programming language, due to its ability to manipulate impure computations, for example state, in a way which guarantees purity of other computations As shown in the article, its use is not limited to just this purpose The article guides the reader through some basic concepts of category theory such as category, functor, natural transformation, and monad A formal definition of mathematical and Haskell monad is also presented At the end it is shown how to derive Haskell monad from mathematical monad, and that they are equivalent 1 Uvod V zadnjem času je v Sloveniji in na sploh po svetu zaznati trend naraščanja zanimanja za funkcijsko programiranje Konkretno na fakultetah FRI in FMF UL je na magistrskem programu v zadnjem času zaznati naklonjenost funkcijskemu programiranju (v jezikih SML, Racket, OCaml, Haskell) K temu pripomore dejstvo, da je tako programiranje ponavadi zelo jasno in so napake v njem, za razliko od imperativnega načina, redkejše Taka lastnost je zaželena predvsem na zelo občutljivih področjih, kjer si nikakor ne moremo dovoliti napak in vdorov kot primer navedimo borzo Zaradi tega se v zadnjem času tudi veliko imperativnih jezikov (Python, C++, Java) odloča za vpeljavo konceptov, ki so klasični v funkcijskem programiranju V članku bomo pozornost namenili Haskellu, ki je čisti funkcijski jezik (pure functional language) To pomeni, da sprememba stanja ne vpliva na izračun rezultatov, kar je podobno kot pri matematiki, pomembni so le parametri, ki jih funkcija dobi Izkaže se, da je za delo v takem jeziku zelo uporabna določena struktura, ki se vseskozi pojavlja na različnih mestih Ustvarjalci so se te strukture zavedali že od vsega začetka, zato so jo vključili med njegove osnovne elemente Strukturi, ki jo Haskell zelo pogosto uporablja, a mnogim novincem predstavlja veliko težavo pri učenju jezika, rečemo monada V članku jo formalno matematično definiramo in pokažemo, da je ekvivalentna Haskllovi različici, ki je implementirana v smislu Kleislijeve trojice Cilj članka je osvetliti nejasnosti na tem področju in predvsem matematični publiki omogočiti lažji prehod v funkcijsko programiranje s Haskellom 2 Teorija kategorij Teorija kategorij je matematično področje, na katerem imajo, za razliko od klasičnega pogleda teorije množic, glavno vlogo morfizmi, ki so ponavadi preslikave Namesto proučevanja množic tako proučujemo morfizme, kar nam ponavadi da bolj abstrakten pogled na matematične pojave Teorija kategorij je v svojih pojmih zelo splošna in zajema mnogo matematičnih področij Opremi nas s skupnim pogledom in jezikom, s katerim lahko opisujemo značilnosti objektov, ki so si podobni le na zelo abstraktnem nivoju Matrika 4 (2017) 2 1

2 Mitja Rozman 21 Kategorija Definicija 1 Kategorija C je struktura, ki zadošča naslednjim trem pogojem: 1 Imamo razred objektov označen z ob(c) Objekte tega razreda označimo z A, B, ob(c) 2 Za poljubna objekta A, B ob(c) obstaja množica, ki jo označimo s hom(a, B) Elemente te množice označimo z f, g, hom(a, B) Tem elementom pravimo morfizmi in v splošnem niso preslikave, vseeno pišemo f : A B 3 Za poljubne tri objekte A, B, C ob(c) obstaja operacija kompozitum, ki morfizmoma f : A B in g : B C priredi morfizem g f : A C in ima naslednji lastnosti: (a) Asociativnost: Za poljubne tri morfizme f : A B, g : B C in h : C D velja h (g f) = (h g) f (b) Enota: Za vsak B ob(c) obstaja natanko določen morfizem id B z lastnostma: Za vsak f hom(a, B) je id B f = f Za vsak g hom(b, C) je g id B = g Kot primer naštejmo tri kategorije z njihovimi standardnimi oznakami: Kategorija Set, objekti so množice, morfizmi preslikave med množicami Kategorija Mon, objekti so monoidi, morfizmi so homomorfizmi med monoidi Kategorija Top, objekti so topološki prostori, morfizmi so zvezne preslikave Pri vseh naštetih primerih je operacija kategorije kar kompozitum preslikav Asociativnost povsod velja, enota pa je kar identiteta Sedaj si oglejmo še tri kategorije, pri katerih morfizmi niso preslikave, oziroma operacija ni kompozitum preslikav: 1 Kategorija M, kjer je M ob(mon) neki poljuben monoid Njegovi objekti so a, b, ob(m) Za te objekte imamo množico morfizmov hom(a, b), za katere velja x hom(a, b) a x = b Operacija kompozitum je v tem primeru operacija monoida Pogoja za asociativnost in enoto sledita iz definicije monoida Za vsak b ob(m) je enota id b = e, kjer je e enota monoida 2 Kategorija C, katere edini objekt je R Morfizmi naj bodo raztegi, torej funkcije, ki pomnožijo realno število z danim realnim številom Za morfizme f, g, definiramo kompozitum kategorije kot g f = g ( 1 3f), kjer je klasičen kompozitum funkcij Zanimivo je, da enota v tem primeru ni klasična identiteta, ampak je enaka id R (x) = 3x Asociativnost v kategoriji sledi iz asociativnosti množenja 3 Delno urejena množica naravnih števil Razred objektov je množica naravnih števil N 0 Za objekta n, m N 0 je množica morfizmov hom(n, m) = { }, če n m, sicer prazna Za poljubne tri objekte n, m, k definiramo operacijo, ki morfizmoma n m in m k priredi morfizem n k Zadoščeno je tudi pogoju za asociativnost in enoto Podobne kategorije bi lahko skonstruirali tudi za ostale refleksivne in tranzitivne relacije Ti zgledi pokažejo, da je pojem kategorije zelo širok in zajema mnogo zanimivih matematičnih objektov 22 Funktor Definicija 2 Naj bosta C 1 in C 2 kategoriji Tedaj je T : C 1 C 2 funktor, če velja: 1 Funktor priredi vsakemu objektu A ob(c 1 ) natančno določen objekt T (A) ob(c 2 ) 2 Matrika 4 (2017) 2

3 Monade v funkcijskem programiranju 2 Funktor priredi vsakemu morfizmu f : A B natančno določen morfizem T (f) : T (A) T (B) Drugače povedano, iz f hom(a, B) sledi T (f) hom(t (A), T (B)) 3 Delovanje funktorja je usklajeno z operacijo na C 1 in C 2 : Za vse morfizme f, g velja T (g f) = T (g) T (f) Za vsako enoto id A velja T (id A ) = id T (A) Zaradi lepšega zapisa običajno pišemo delovanje funktorja na objektih kar namesto T (A), podobno lahko storimo tudi za morfizme Oglejmo si nekaj primerov funktorjev: 1 Naj bo C 1 kategorija, ki za objekte vsebuje naravna števila, med objektoma a, b imamo morfizem a b, če a deli b, sicer nobenega Naj bo C 2 kategorija, katere razred objektov je potenčna množica P(N) Njeni objekti so podmnožice naravnih števil A, B, C, N, med objektoma A in B imamo morfizem A B, če je A vsebovana v B, sicer nobenega Primer funktorja med tema kategorijama je funktor F : C 1 C 2 Funktor priredi vsakemu objektu a ob(c 1 ) množico vseh deliteljev števila a, ki jo označimo z del(a) ob(c 2 ) Funktor priredi vsakemu morfizmu a b morfizem del(a) del(b) Res velja, da iz a b sledi del(a) del(b) Delovanje funktorja je usklajeno z operacijo na C 1 in C 2, saj je med objekti kategorije C 1 edini možni morfizem x y, ki se vedno preslika v del(x) del(y) 2 Naj bosta M 1, M 2 ob(mon) Naj bo f homomorfizem med monoidoma M 1, M 2 Tedaj je f tudi funktor med kategorijama M 1, M 2 ; f vsak element a ob(m 1 ) preslika v f(a) ob(m 2 ) Prav tako vsak morfizem x hom M1 (a, b), za katerega velja a x = b, slika v morfizem f(x) hom M2 (f(a), f(b)), za katerega velja f(a) f(x) = f(b), saj za homomorfizem velja f(b) = f(a x) = f(a) f(x) Delovanje funktorja pa je tudi usklajeno z operacijo, saj za morfizma x, y velja f(x y) = f(x) f(y) ter za enoto e prvega monoida f(e M1 ) = e M2 Na tem mestu smo spet obakrat upoštevali, da je f homomorfizem 3 Naj bo C 1 kategorija, ki za objekte vsebuje množice Z, R, C, Z 2, in C 2 kategorija z objekti Z 2, R 2, C 2, Z 2 2, v obeh primerih pa so morfizmi poljubne preslikave oblike f : A B, kjer sta A in B poljubni množici iz teh kategorij Definiramo lahko funktor F : C 1 C 2, ki slika objekt A v A 2 in morfizem f v morfizem F f = λ : (x, y) (f(x), f(y)) Na tem mestu je F f zapisan z anonimno funkcijo, ki pokaže, kako se F f uporabi na nekem elementu Velja namreč F f(x, y) = (f(x), f(y)) Anonimna funkcija je podobna klasičnim funkcijam, le da je ne poimenujemo in je definirana na mestu uporabe Delovanje funktorja je usklajeno z operacijo na C 1 in C 2, saj je F (f g) = λ : (x, y) ((f g)(x), (f g)(y)) = λ : (x, y) (f(g(x)), f(g(y))) = (λ : (x, y) (f(x), f(y))) (λ : (x, y) (g(x), g(y))) = F (f) F (g), podobno pa je izpolnjen tudi pogoj za enoto 4 Za vsak komutativen kolobar K lahko definiramo množico obrnljivih matrik velikosti n n nad tem kolobarjem Ta množica tvori grupo za množenje, označimo jo z GL n (K) Tako lahko definiramo funktor F : CRng Grp, ki vsakemu kolobarju K priredi grupo GL n (K) in vsakemu homomorfizmu kolobarjev f : K 1 K 2 homomorfizem grup F f : GL n (K 1 ) GL n (K 2 ) Tu je F f homomorfizem, ki uporabi homomorfizem f na vseh elementih matrike Iz Matrika 4 (2017) 2 3

4 Mitja Rozman tega, da je f homomorfizem kolobarjev, sledi, da je F f homomorfizem grup Enakost F f(ab) = F f(a)f f(b) preverimo za poljuben element matrike F f(ab) ij = f( n A ik B kj ) = k=1 n f(a ik )f(b kj ) = k=1 n F f(a) ik F f(b) kj = (F f(a)f f(b)) ij Usklajenost operacije pokažemo na enak način kot pri prejšnjem zgledu Trditev 1 Naj bo F : C C funktor, potem je funktor tudi F 2 : C C k=1 Dokaz Naj bo A ob(c) Ker je F funktor, je F A ob(c) in zato F (F A) ob(c) Podoben sklep velja tudi za morfizme Sedaj si oglejmo še usklajenost operacije kompozitum F (F (f g)) = F (F (f) F (g)) = F 2 (f) F 2 (g), F (F (id A )) = F (id F A ) = id F 2 A Ta trditev velja tudi v splošnejši obliki, kompozitum dveh funktorjev je funktor Zato obstaja kategorija Cat, katere objekti so nekatere kategorije, morfizmi pa funktorji 23 Naravna transformacija Definicija 3 Imejmo funktorja F, G : C 1 C 2 Naravna transformacija α : F G je družina morfizmov α A : F A GA kategorije C 2, ki jim rečemo komponente, za katere za vsak morfizem f : A B kategorije C 1 velja Gf α A = α B F f, kar lahko ponazorimo tudi s komutativnim diagramom F A α A GA F f Gf F B α B GB Oglejmo si primer naravne transformacije za funktor F : CRng Grp, ki smo ga definirali v prejšnjem podpoglvju in funktor G : CRng Grp, ki vsak kolobar K preslika v grupo njegovih obrnljivih elementov G(K) = K = {x K yxy = yx = 1}, vsak homomorfizem kolobarjev f : K 1 K 2 pa zoži na homomorfizem grup G(f) = f : G(K 1 ) G(K 2 ) Za tako definirana funktorja je determinanta det : F G naravna transformacija Res je dobro definirana, saj vsako obrnljivo matriko slika v obrnljiv element kolobarja Poleg tega je determinanta polinomska funkcija elementov in ker je f homomorfizem kolobarjev, je končni rezultat enak ne glede na smer računanja GL n (K 1 ) det K1 K1 F f f GL n (K 2 ) det K2 K2 4 Matrika 4 (2017) 2

5 Monade v funkcijskem programiranju 231 Funktor potenčne množice P Oglejmo si funktor P : Set Set Ta funktor slika objekte po predpisu P : A P(A), vsaki množici A tako priredi njeno potenčno množico, to je množica vseh podmnožic množice A Funktor priredi vsaki funkciji f : A B funkcijo P(f) : PA PB Funkcija P(f) pa množico U P(A) preslika po predpisu Pf(U) = f[u] = {f(x) x U} Preverimo še usklajenost s kompozitumom Najprej preverimo P(g f) = Pg Pf P(g f)(u) = {g(f(x)) x U} = {g(y) y f[u]} = {z z g[f[u]]} = g[f[u]] = Pg(Pf(U)) Za boljše razumevanje pokomentirajmo zadnji izračun Za vsak a iz A vemo, da velja (g f)(a) = g(f(a)); ker je U podmnožica A, to velja tudi za vse elemente U Ker je slika množice enaka množici slik vseh njenih elementov, je jasno, da zgornje velja Na tem mestu bi opozorili samo na to, da je včasih dosti lažje izračunati h(a), kjer je h = (g f), kot g(f(a)) Primer je na primer, ko je g inverz f in je torej h identiteta, tu je izračun h(a) trivialen Pri g(f(a)) pa moramo najprej izračunati y = f(a), nato pa še g(y), da dobimo rezultat Tako nam lahko poznavanje funkcij in kompozituma močno olajša delo Preverimo še pogoj za enoto P(id A )(U) = id A [U] = {id A (x) x U} = {x x U} = U Zadnja ugotovitev je trivialna Če na elementih množice uporabimo identiteto, se ne spremenijo in imamo še vedno isto množico Tako smo preverili, da je P res funktor 232 Naravne transformacije funktorjev Id, P, P P : Set Set Poiščimo nekaj naravnih transformacij med funktorji Id, P, P P Najprej si oglejmo naravne transformacije oblike α : Id P Taka je recimo η : Id P, definirana na komponentah kot η A : A PA, η A : x {x} Preverimo, da je η naravna transformacija, torej da je izpolnjen pogoj Pf η A = η B f, oziroma da pripadajoči diagram komutira Vzamemo poljuben x A in pokažemo, da po obeh poteh dobimo isto x {x} A η A PA f Pf f(x) B η B PB {f(x)} {f(x)} Naravna transformacija med tema funktorjema je tudi α, definirana na komponentah kot α A : A PA, s predpisom α A : x {} na elementih A Tudi to je naravna transformacija, ko preverjamo komutativnost ustreznega diagrama, dobimo po obeh poteh na koncu prazno množico Sedaj si oglejmo še primer, ki ni naravna transformacija, vsaj v splošnem ne Vzemimo β : Id P, definiran na komponentah kot β A : A PA, s predpisom β A : x A \ {x} To je naravna transformacija v podkategoriji Set, kjer za morfizme vzamemo samo bijektivne funkcije, Matrika 4 (2017) 2 5

6 Mitja Rozman v kategoriji Set pa ni, saj najdemo protiprimer Vzemimo A = { 2, 2, 3}, B = {0, 4, 9} ter f(x) = x 2 Narišimo diagram in preverimo komutativnost kar za ta konkreten primer 2 { 2, 3} A β A PA f Pf B β B PB 4 {0, 9} {4, 9} Ugotovimo, da diagram ne komutira, saj {0, 9} {4, 9} Torej β ni naravna transformacija Oglejmo si še naravne transformacije oblike α : P P P Vzemimo na primer µ : P P P, definirano na komponentah kot : P(PA) PA, : U U Preveriti je treba, da je µ naravna transformacija To bomo naredili s pomočjo diagrama Preveriti moramo, da diagram, ki ustreza pogoju Pf = µ B PPf, komutira Izberimo neki U P(PA) in dokažimo, da po obeh poteh dobimo isto U P 2 A P 2 f PA Pf U P 2 B (Pf)[U] µ B PB f[ U]? (Pf)[U] Po spodnji poti smo dobili Pf[U], po zgornji pa f[ U] Za komutativnost diagrama želimo dokazati, da je to dvoje enako Za dokaz enakosti množic moramo preveriti, da vsebujeta iste elemente [ ] b f U a Uf(a) = b U U a Uf(a) = b, b (Pf)[U] V (Pf)[U]b V V {Pf(U) U U}b V V {f[u] U U}b V V U UV = f[u] b V U Ub f[u] U U a Uf(a) = b Množici vsebujeta iste elemente, s tem smo dokazali, da je µ res naravna transformacija 6 Matrika 4 (2017) 2

7 Monade v funkcijskem programiranju 24 Monada Definicija 4 Monada na kategoriji C je trojica (T, η, µ), kjer je (1) T : C C funktor (2) η : Id T naravna transformacija (3) µ : T T T naravna transformacija Pri tem za vsak objekt A velja (a) enotski zakon: T η A = id = η (b) zakon asociativnosti: T = µ Razpišimo pogoja, ki veljata za naravni transformaciji za vsak morfizem f : A B T f η A = η B f T f = µ B T (T f), kar lahko ponazorimo tudi s komutativnima diagramoma A η A T () f T f T (T f) T f B η B T B, T (T B) µ B T B Ponazorimo sedaj še enotski zakon in zakon asociativnosti η T η A T 2 A T 3 A T T 2 A id id µ, T 2 A Primer 1 Za primer uporabimo funktor P ter naravni transformaciji, ki smo ju definirali v prejšnjem razdelku Monada je trojica (P, η, µ), kjer je (1) P : Set Set funktor, (2) η : Id P naravna transformacija, pri kateri je η A (x) = {x}, (3) µ : P P P naravna transformacija, pri kateri je (U) = U Da je P funktor in η, µ naravni transformaciji, smo že preverili pogoja, torej veljavnost Preveriti moramo še dodatna (a) Pη A = id PA = η PA, (b) P = µ PA Za preverjanje pogojev si bomo pomagali z diagrami Najprej preverimo komutativnost diagrama, ki ustreza pogoju Pη A = id PA = η PA Na levem diagramu smo tako preverili pogoj η PA = id PA, na desnem pa pogoj Pη A = id PA Matrika 4 (2017) 2 7

8 Mitja Rozman U PA η PA P 2 A {U} {{a} a U} P 2 A Pη A PA U id PA id PA PA U U, U PA U {U} = {U} = U {{a} a U} = {{a} a U} = U Ker za vsako množico U na koncu po obeh poteh dobimo isti rezultat U, diagram res komutira S tem smo preverili, da je pogoju Pη A = id PA = η PA zadoščeno Preveriti moramo še pogoj P = µ PA Spet si pomagamo z diagramom V P 3 A µ PA P 2 A V P P 2 A { U U V} PA ( V)? { U U V} Tokrat na koncu dobimo množici { U U V} ter ( V), preverimo, če sta enaki a ( V ) U Va U a { U U V } W U V U Ua U, { U U V } a W U Va U U V U Ua U Ugotovimo, da sta enaki, zato velja P = µ PA S tem je zadoščeno obema dodatnima pogojema Zato je (P, η, µ) monada 31 Motivacija 3 Haskllova monada Proučevali bomo monade v funkcijskem programiranju To je naraven koncept, ki se pojavi pri programiranju Pri razvoju programiranja, predvsem funkcijskega, so že zgodaj odkrili, da se pri nekaterih operacijah v programskih jezikih vedno znova pojavljajo podobni koncepti Ko odmislimo konkretnost nekaterih rešitev, se izkaže, da smo v ozadju programa uporabili koncept monade Pri programskem jeziku Haskell je struktura monade pri problemih vidna, saj je jezik zgrajen s tem namenom, da se lahko čim več konceptov posploši Oglejmo si nekaj primerov operacij v Haskellu, kjer je v ozadju ideja monade; kje točno, bomo ugotovili kasneje Na tem mestu naštejmo le nekaj osnovnih elementov Haskllove sintakse, kot so 8 Matrika 4 (2017) 2

9 Monade v funkcijskem programiranju komentarji --, navajanje tipov z ::, seznami [a,b,c,], komponiranje funkcij s piko in uporaba funkcij na elementih brez pisanja oklepajev f x Ostalo sintakso si lahko bralec ogleda na spletu [7] Pri primerih pišemo dvojni enačaj za enake izraze Vsa koda je delujoča in jo je možno prepisati v Haskell Najprej si oglejmo delovanje funkcije map ( preslikaj ) map ( 3) [2,3,5] == [6,9,15] Funkcija map v zgornjem primeru poskrbi, da se funkcija (*3) izvede znotraj oklepaja na vsakem elementu posebej Na mestu funkcije (*3) imamo lahko poljubno funkcijo f, funkcija map pa vedno poskrbi, da se uporabi znotraj seznama na elementih Sedaj si oglejmo delovanje funkcije concat concat [[1,2],[5]] == [1,2,5] Funkcija concat deluje na seznamu seznamov Kot rezultat vrne seznam, katerega elementi so elementi podseznamov prvotnega seznama v nespremenjenem vrstnem redu Oglejmo si še sintakso anonimne funkcije, abstrakcije lambda v Haskellu (λx 3 x^2) 7 == 147, (( 3)(λx x^2)) 7 == 147 V prvi vrstici anonimna funkcija, uporabljena na 7, vrne = 147 V drugem primeru najprej komponiramo dve funkciji, množenje s 3 in kvadriranje Funkcijo, ki jo dobimo, nato uporabimo na 7 Seveda dobimo isti rezultat, saj je množenje s 3, komponirano s kvadriranjem, ravno prvotna anonimna funkcija Oglejmo si še nekaj primerov uporabe funkcije map map (λx x^2) [2,3,5] == [4,9,25], map ( 3) (map (λx x^2) [2,3,5]) == [12,27,75], map (( 3)(λx x^2)) [2,3,5] == [12,27,75] Zadnji dve vrstici sugerirata, da je enako, če preslikamo dve funkciji vsako posebej ali pa najprej komponiramo funkciji in jih nato preslikamo Sledi še prikaz delovanja funkcij concat in map skupaj map (map ( 3)) [[1,2],[5]] == [[3,6],[15]], concat (map (map ( 3)) [[1,2],[5]]) == [3,6,15], map ( 3) (concat [[1,2],[5]]) == [3,6,15] Druga in tretja vrstica napeljujeta, da je enako, če najprej uporabimo funkcijo na elementih podseznamov seznama in nato uporabimo concat, ali pa najprej uporabimo concat ter nato preslikamo funkcijo čez dobljeni seznam Sedaj si oglejmo še primer funkcije, ki jo lahko sprogramiramo sami kompleksnikoren : Int (Double,Double) [(Double,Double)] kompleksnikoren m (absvrednost,kot) = resitev where n = (fromintegral m) : Double --pretvori v Double r = absvrednost (1/n) --izracun n-tega realnega korena resitev = map (λx (r,(kot+2 x pi)/n)) [0n-1] f = kompleksnikoren 2 g = kompleksnikoren 3 To je delujoča koda za funkcijo, ki za kompleksno število, zapisano v polarnem zapisu, vrne seznam želenih korenov V prvi vrstici je podan tip funkcije Funkcija kot argument najprej sprejme naravno število m, to je stopnja korena, ki ga želimo izračunati Nato kot argument sprejme dvojico, kjer je prva komponenta absulutna vrednost r, druga pa kot ϕ kompleksnega števila, zapisanega v polarnem zapisu Funkcija kot rezultat vrne seznam kompleksnih števil, zapisanih v polarnem zapisu Definirani sta tudi funkciji f in g Funkcija f izračuna oba kvadratna korena kompleksnega števila, funkcija g pa izračuna tretje korene kompleksnega števila Obe podata rezultate v obliki seznama Oglejmo si izračun tretjih korenov števila 8 g (8,0) == [(20,00),(20, ),(20, )] Matrika 4 (2017) 2 9

10 Mitja Rozman Zadnji rezultat v seznamu predstavlja polarni zapis r = 2, ϕ = 4π 3 za kompleksno število 2 (cos( 4π 3 )+ i sin( 4π 3 )) Oglejmo si sedaj naslednji problem Če imamo realni funkciji f(x) = 2 x in g(x) = 3 x, potem zlahka izračunamo šesti koren nenegativnega realnega števila x kot ( f g)(x) = 6 x Kako pa lahko to naredimo za naši kompleksni funkciji f in g, ki vrneta seznam več rezultatov? Ne moremo ju kar komponirati, saj se kodomena ene ne ujema z domeno druge Lahko pa na rezultat prve preslikamo drugo funkcijo Tako dobimo map f (g (8,0)) == [[( ,00),( , )], [( , ),( , )], [( , ),( , )]] Nismo dobili tega, kar smo želeli, saj smo namesto seznama šestih korenov dobili seznam podseznamov šestih korenov Rezultat spravimo v želeno obliko, če na njem uporabimo funkcijo concat Tako kot rezultat dobimo seznam šestih korenov kompleksnega števila 8 Do enakega rezultata bi prišli tudi z uporabo operacije >>= (bind), ki se za te namene v Haskellu pogosteje uporablja Razlog je v tem, da je zapis krajši in še miselni tok za operacijo >>= je od leve proti desni (g (8,0)) >>= f == concat (map f (g (8,0))) 32 Haskllova kategorija Za formalno definicijo Haskllove monade moramo seveda vedeti, nad katero kategorijo jo bomo definirali Na žalost je definicija Haskllove kategorije Hask dokaj ohlapna in je definirana kot kategorija, ki za objekte vsebuje vse Haskllove tipe in za morfizme Haskllove funkcije, pri katerih bo še zadoščeno pogojem za kategorijo Izkaže se namreč, da ne moremo vzeti kar vseh funkcij in tipov, saj v tem primeru struktura ne zadošča pogojem za kategorijo Več o tem si lahko preberete na spetu [8] 33 Definicija Haskllove monade Ogledali si bomo le poenostavljeno definicijo Haskllove monade, kot je podana tudi na spletu [6] Celotna definicija vsebuje nekaj dodatnih operacij Ena od takih je recimo fail, ki ponuja obravnavo izjem Celotno definicijo Haskllove monade si lahko ogledate na spletu [7] Zreducirana in poenostavljena definicija Haskllove monade je še vedno povsem uporabna in bolj pregledna class Monad m where ( >>= ) : m a (a m b) m b return : a m a V definiciji predstavlja a oznako za osnovni tip oblike A, oznaka m a pa ponazarja tip, nad katerim je bil uporabljen funktor, torej tip oblike Pri tem so zakoni, ki jim morata ustrezati return in >>= (bind), naslednji w >>= return = w return x >>= f = f x (w >>= f) >>= g = w >>= (λx (f x >>= g)) Malo razčlenimo definicijo monade Najprej povejmo, da je >>= dvočlena operacija, rečemo ji bind, ki na levi sprejme objekt, na desni pa morfizem Funkcija return pa deluje le na objektih, kar lahko razberemo tudi iz zapisa tipa, ki je za return enak a m a To v resnici pomeni naslednje: return: A, kjer je T funktor V Haskellu predstavljata a in m a tip Torej funktor T slika tip objektov a v tip m a Na konkretnem elementu pa je return komponenta naravne transformacije To bomo dokazali kasneje iz Haskllovih zakonov za monado Najlažje je, če na tem mestu kar 10 Matrika 4 (2017) 2

11 Monade v funkcijskem programiranju definiramo return in >>= z matematičnim zapisom, v naslednjem poglavju pa bomo dokazali, da je to zares ustrezno return := η Kar se tiče tipov, je definicija sprejemljiva, saj sta tako return kot η tipa A Operacijo >>= lahko definiramo tudi kot funkcijo >>=: (A T B) T B To pove tudi tip v Haskellu m a (a m b) m b, ki pravi, da je (>>=) funkcija, ki sprejme kot prvi argument element tipa m a, kot drugi argument funkcijo tipa a m b in kot rezultat vrne element tipa m b Vidimo, da je tipom res zadoščeno, ko definiramo >>= kot w >>= f := µ(tf(w)) Za f : A T B ponazorimo to še z diagramom A f >>= f T f T B µ B T T B Tu je s krogcem označeno mesto, kjer >>= f sprejme svoj argument Velja torej >>= f = (λ : x x >>= f) Oglejmo si še, kaj dobimo, če za f vzamemo kar id To smemo, saj je id res tipa a m b, za a namreč vzamemo, za b pa vzamemo A in res je m b enak Prikažimo to še z diagramom T id T id = id T >>= id T Na ta način ugotovimo, da je = >>= id Poglejmo še, kaj dobimo, če za B vzamemo A, za f pa η A A η A T η A >>= η A T Iz zakona monade T η A = id sledi, da je >>= η A = id Haskllove monade w >>= return = w To pa je ravno prvi zakon S pomočjo diagramov lahko poiščemo še ostale relacije, ki veljajo za >>= Dokaze, ki jih bomo naredili v naslednjem poglavju, bi lahko prikazali tudi s pomočjo diagramov Mi tega ne bomo storili, ker bi jih bilo preveč, so pa dobra pomoč, če bi pri preverjanju dokazov zašli v težave Matrika 4 (2017) 2 11

12 Mitja Rozman Primer 2 Oglejmo si primer monade List v Haskellu, ki smo jo že srečali v motivaciji na strani 8 instance Monad [] where return : a [a] return x = [x] ( >>= ) : [a] (a [b]) [b] xs >>= f = concat (map f xs) Na tem mestu pokomentirajmo le delovanje funkcije return seznam Na številu 8 deluje na primer takole: return 8 = [8] Funkcija return vloži element v 4 Ekvivalentnost definicij 41 Definicija Haskllove monade preko matematične monade Trditev 2 Iz matematične monade (T, η, µ) lahko definiramo Haskllovo monado s predpisom za return in bind return := η w >>= f := µ(tf(w)) Dokaz Trditev bomo dokazali za vsak Haskllov zakon posebej Na desni strani se sklicujemo na matematične zakone monade, s čimer utemeljimo, zakaj v dani vrstici enakost velja Najprej dokažimo prvi zakon w >>= return = w Izberimo objekt A dane kategorije ter element w tipa Zapišimo levo stran izraza v matematičnem jeziku in ga izračunajmo (Tη A (w)) = ( Tη A )(w) = id (w) (# enotski zakon) = w Ker je rezultat enak desni strani, smo s tem prvi zakon dokazali Sedaj dokažimo še drugi zakon (return x) >>= f = f x Imamo f : A T B To pomeni, da za naravno transformacijo η velja η T B f = T f η A, kar bomo tudi uporabili pri dokazu Izračunamo levo stran µ B (Tf(η A (x))) = µ B ((Tf η A )(x)) = µ B ((η T B f)(x)) (# η naravna transformacija) = ((µ B η T B ) f)(x) = (id T B f)(x) (# enotski zakon) = f(x) Ker je leva stran enaka desni, smo dokazali tudi drugi zakon Dokažimo še veljavnost tretjega zakona (w >>= f) >>= g = w >>= (λx (f x >>= g)) 12 Matrika 4 (2017) 2

13 Monade v funkcijskem programiranju Naj bo f : A T B ter g : B T C Izračunamo levo stran [L] = µ C (Tg(µ B (Tf(w)))) Poračunamo še desno stran = (µ C (Tg µ B ) Tf)(w) = (µ C (µ T C T (Tg)) Tf)(w) (# µ naravna transformacija) = ((µ C µ T C ) T (Tg) Tf)(w) [D] = µ C ((T (λ : x µ C (Tg(f(x)))))(w)) = µ C ((T (µ C (λ : x Tg(f(x)))))(w)) = µ C (((Tµ C ) T (λ : x Tg(f(x))))(w)) (# lastnost funktorja) = ((µ C Tµ C ) T (λ : x Tg(f(x))))(w) = (µ C µ T C ) T (λ : x Tg(f(x))))(w) (# zakon asociativnosti) = ((µ C µ T C ) T (Tg (λ : x f(x))))(w) = ((µ C µ T C ) T (Tg f))(w) = ((µ C µ T C ) T (Tg) Tf)(w) (# lastnost funktorja) Leva in desna stran sta enaki, zato velja tudi tretji zakon S tem smo zadostili vsem zakonom za Haskllovo monado in trditev drži 42 Izražanje T, η, µ s pomočjo return in bind ter obratno S funkcijami iz Haskella izrazimo matematične objekte Naravna transformacija η je kar return Naravno transformacijo µ in funktor T pa izrazimo iz enakosti w >>= f = µ(tf(w)) Najprej izrazimo µ Naj bo w T, potem w >>= id_ta = (T (id )(w)) = (id T (w)) = µ(w) Naj bo g : A B in w Izrazimo še funktor T w >>= returng = µ B (T (η B g)(w)) = µ B ((Tη B Tg)(w)) = (µ B Tη B )(Tg(w)) = id T B Tg(w) = Tg(w) Tu smo na predzadnjem koraku uporabili enotski zakon Tako smo s pomočjo matematičnih zakonov izrazili matematične objekte Sedaj pa s pomočjo Haskllovih zakonov za monado izrazimo Haskllov predpis za return in bind Pokazati moramo, da se iz definicij η A := return (w) := join w := w >>= id_ta Tf(w) := fmap f w := w >>= returnf in Haskllovih zakonov 1) w >>= return = w 2) return x >>= f = f x 3) (w >>= f) >>= g = w >>= (λx (f x >>= g)) lahko izrazi Haskllove objekte Za return je enostavno, le vzamemo η Operacijo >>= pa si želimo na koncu dobiti izraženo kot w >>= f = µ(t f(w)) Izračunajmo, če to res dobimo Izraz µ(t f(w)) bomo zapisali v Haskllovem zapisu ter ga s pomočjo Haskllovih zakonov zapisali v čim krajši obliki Matrika 4 (2017) 2 13

14 Mitja Rozman join (map f w) = (map f w) >>= id = (w >>= returnf) >>= id = (# tretji zakon) w >>= (λx ((returnf x) >>= id)) = w >>= (λx ((return (f x)) >>= id)) = (# drugi zakon) w >>= (λx (id (f x))) = w >>= (λx (f x)) = w >>= f Res se tudi >>= izrazi na ustrezen način Tako moramo za ekvivalentnost definicij Haskllove monade in matematične monade preveriti le še, da lahko iz Haskllovih zakonov za monado izpeljemo vse matematične zakone 43 Definicija matematične monade preko Haskllove monade Trditev 3 Iz Haskllove monade s predpisom za return in bind in pripadajočimi zakoni lahko definiramo matematično monado (T, η, µ) z naslednjo definicijo komponent η A := return (w) := join w := w >>= id_ta Tf(w) := fmap f w := w >>= returnf Za dokaz potrebujemo še pomožno lemo, katere dokaz je na voljo v diplomskem delu [5], na tem mestu pa jo navedimo brez dokaza Lema 4 Iz Haskllovih zakonov sledi da je T funktor, da je η naravna transformacija, da je µ naravna transformacija Dokaz Po zadnji lemi je T funktor in η, µ naravni transformaciji Preverimo še dodatna pogoja 1 Tη A = η = id, 2 T = µ Vzemimo poljuben objekt A Najprej preverimo prvi pogoj: Tη A = id = η Dokazujemo join(fmap return) w = w = joinreturn w Najprej dokažimo levo stran join (fmap return w) = join (w >>= returnreturn) = (w >>= returnreturn) >>= id = (# tretji zakon) w >>= (λx (returnreturn x >>= id)) = w >>= (λx (return (return x) >>= id)) = (# drugi zakon) w >>= (λx id (return x)) = w >>= (λx return x) = w >>= return = (# prvi zakon) w Sedaj dokažimo še desno 14 Matrika 4 (2017) 2

15 Monade v funkcijskem programiranju join (return w) = (return w) >>= id = id w = w (# drugi zakon) Dokažimo še drugi pogoj T = µ V Haskllovi sintaksi torej dokazujemo join(fmap join) n = joinjoin n Izračunajmo levo stran join (fmap join n) = join (n >>= returnjoin) = (n >>= returnjoin) >>= id = (# tretji zakon) n >>= (λw (returnjoin w >>= id)) = n >>= (λw (return (join w) >>= id)) = (# drugi zakon) n >>= (λw (id (join w))) = n >>= (λw join w) = n >>= (λw (w >>= id)) Izračunajmo še desno stran join (join n) = (join n) >>= id = (n >>= id) >>= id = (# tretji zakon) n >>= (λw (id w >>= id)) = n >>= (λw (w >>= id)) Ker v obeh primerih dobimo enako, pogoj res drži S tem smo dokazali, da je (T, η, µ) monada 44 Izrek o ekvivalentnosti Iz dokazov trditev zadnjih treh podpoglavij sledi naslednji izrek o ekvivalentnosti monad: Izrek 5 (Izrek o ekvivalentnosti) Ekvivalentno je, ali podamo monado na matematičen način kot (T, η, µ), ali kot Haskllovo monado s predpisom za return in bind Monadi, ki ju pri tem dobimo, sta enaki Dokaz izreka prepuščam bralcu Za dokaz enakosti je treba pokazati, da lahko z matematično monado definiramo Haskllovo monado in nato s to monado prvotno matematično monado Tako pokažemo, da gre res vedno za isto monado LITERATURA [1] S Awodey, Category Theory, 2nd ed, Oxford logic guides 52, Oxford University Press, Oxford, 2010 [2] D Elkins, Calculating monads with category theory, The MonadReader 13, (2009) [3] D Lešnik, Monade in Beckov izrek, diplomsko delo, Fakulteta za matematiko in fiziko, Univerza v Ljubljani, 2005 [4] E Moggi, Notions of computation and monads, Inform and Comput 93 (1991) [5] M Rozman, Monade v funkcijskem programiranju, delo diplomskega seminarja, Fakulteta za matematiko in fiziko, Univerza v Ljubljani, 2015 [6] Category theory, v: Wikibooks: Open books for open world, [ogled ], dostopno na enwikibooksorg/ wiki/haskell/category_theory [7] Haskell, [ogled ], dostopno na wwwhaskellorg [8] Wiki Haskell, [ogled ], dostopno na wikihaskellorg/hask Matrika 4 (2017) 2 15

Osnove matematicne analize 2018/19

Osnove matematicne analize  2018/19 Osnove matematične analize 2018/19 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D f R priredi natanko

Prikaži več

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij Kazalo 1 DVOMESTNE RELACIJE 1 1.1 Operacije z dvomestnimi relacijami...................... 2 1.2 Predstavitev relacij............................... 3 1.3 Lastnosti relacij na dani množici (R X X)................

Prikaži več

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x Vaje: Matrike 1 Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N n 1 1 0 1 ; n N 0 2 Pokaži, da je množica x 0 y 0 x y x + z ; x, y, z R y x z x vektorski podprostor v prostoru matrik

Prikaži več

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn 5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisni. Če so krajevni vektorji do točk a 0,..., a k v R

Prikaži več

Vrste

Vrste Matematika 1 17. - 24. november 2009 Funkcija, ki ni algebraična, se imenuje transcendentna funkcija. Podrobneje si bomo ogledali naslednje transcendentne funkcije: eksponentno, logaritemsko, kotne, ciklometrične,

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5 februar 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Nalog je

Prikaži več

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Miklavič 30. okt. 2003 Math. Subj. Class. (2000): 05E{20,

Prikaži več

DN5(Kor).dvi

DN5(Kor).dvi Koreni Število x, ki reši enačbo x n = a, imenujemo n-ti koren števila a in to označimo z n a. Pri tem je n naravno število, a pa poljubno realno število. x = n a x n = a. ( n a ) n = a. ( n a ) m = n

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be Ime in priimek: Vpisna št: FAKULEA ZA MAEMAIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6 julij 2018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven rezultat

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi Vpisna številka Priimek, ime Smer: K KT WA Izpit pri predmetu MATEMATIKA I Računski del Ugasni in odstrani mobilni telefon. Uporaba knjig in zapiskov ni dovoljena. Dovoljeni pripomočki so: kemični svinčnik,

Prikaži več

Slide 1

Slide 1 Vsak vektor na premici skozi izhodišče lahko zapišemo kot kjer je v smerni vektor premice in a poljubno število. r a v Vsak vektor na ravnini skozi izhodišče lahko zapišemo kot kjer sta v, v vektorja na

Prikaži več

Namesto (x,y)R uporabljamo xRy

Namesto (x,y)R uporabljamo xRy RELACIJE Namesto (x,y) R uporabljamo xry Def.: Naj bo R AxA D R = { x; y A: xry } je domena ali definicijsko obmocje relacije R Z R = { y; x A: xry } je zaloga vrednosti relacije R Za zgled od zadnjič:

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika 2. kolokvij. december 2 Ime in priimek: Vpisna st: Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer

Prikaži več

Brownova kovariancna razdalja

Brownova kovariancna razdalja Brownova kovariančna razdalja Nace Čebulj Fakulteta za matematiko in fiziko 8. januar 2015 Nova mera odvisnosti Motivacija in definicija S primerno izbiro funkcije uteži w(t, s) lahko definiramo mero odvisnosti

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika Pisni izpit. junij 22 Ime in priimek Vpisna st Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer so

Prikaži več

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru 6.1 Uvod 6 Igra Chomp Marko Repše, 30.03.2009 Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru in na končni ali neskončni čokoladi. Igralca si izmenjujeta

Prikaži več

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov 4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenovalec, ter iz ulomkove črte. Racionalna števila so števila,

Prikaži več

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter 2. izbirni test za MMO 2017 Ljubljana, 17. februar 2017 1. Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter naj bo A eno od njunih presečišč. Ena od njunih skupnih

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31 avgust 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven

Prikaži več

FGG13

FGG13 10.8 Metoda zveznega nadaljevanja To je metoda za reševanje nelinearne enačbe f(x) = 0. Če je težko poiskati začetni približek (še posebno pri nelinearnih sistemih), si lahko pomagamo z uvedbo dodatnega

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi Kemijska tehnologija, Kemija Bolonjski univerzitetni program Smer: KT K WolframA: DA NE Računski del izpita pri predmetu MATEMATIKA I 6. 2. 2014 Čas reševanja je 75 minut. Navodila: Pripravi osebni dokument.

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y 2 ). Rešitev: Diferencialna enačba ima ločljive spremenljivke,

Prikaži več

ZveznostFunkcij11.dvi

ZveznostFunkcij11.dvi II. LIMITA IN ZVEZNOST FUNKCIJ. Preslikave med množicami Funkcija ali preslikava med dvema množicama A in B je predpis f, ki vsakemu elementu x množice A priredi natanko določen element y množice B. Važno

Prikaži več

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese FAKULTETA ZA STROJNIŠTVO Matematika Pisni izpit 9. junij 005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Veljale bodo

Prikaži več

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

predstavitev fakultete za matematiko 2017 A

predstavitev fakultete za matematiko 2017 A ZAKAJ ŠTUDIJ MATEMATIKE? Ker vam je všeč in vam gre dobro od rok! lepa, eksaktna veda, ki ne zastara matematičnoanalitično sklepanje je uporabno povsod matematiki so zaposljivi ZAKAJ V LJUBLJANI? najdaljša

Prikaži več

Matematika 2

Matematika 2 Matematika 2 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 23. april 2014 Soda in liha Fourierjeva vrsta Opomba Pri razvoju sode periodične funkcije f v Fourierjevo vrsto v razvoju nastopajo

Prikaži več

glava.dvi

glava.dvi Lastnosti verjetnosti 1. Za dogodka A in B velja: P(A B) = P(A) + P(B) P(A B) 2. Za dogodke A, B in C velja: P(A B C) = P(A) + P(B) + P(C) P(A B) P(A C) P(B C) + P(A B C) Kako lahko to pravilo posplošimo

Prikaži več

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf uporaba for zanke i iz korak > 0 oblika zanke: for i iz : korak : ik NE i ik DA stavek1 stavek2 stavekn stavek1 stavek2 stavekn end i i + korak I&: P-XI/1/17 uporaba for zanke i iz korak < 0 oblika zanke:

Prikaži več

Teorija kodiranja in kriptografija 2013/ AES

Teorija kodiranja in kriptografija 2013/ AES Teorija kodiranja in kriptografija 23/24 AES Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 8. 3. 24 AES - zgodovina Septembra 997 je NIST objavil natečaj za izbor nove

Prikaži več

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se velikokrat zmoti. Na srečo piše v programu Microsoft

Prikaži več

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A Matematika II (UN) 1 kolokvij (13 april 01) RE ITVE Naloga 1 (5 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je 0 1 1 A = 1, 1 A 1 pa je inverzna matrika matrike A a) Poi² ite

Prikaži več

CpE & ME 519

CpE & ME 519 2D Transformacije Zakaj potrebujemo transformacije? Animacija Več instanc istega predmeta, variacije istega objekta na sceni Tvorba kompliciranih predmetov iz bolj preprostih Transformacije gledanja Kaj

Prikaži več

Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 4.10 Izpitni režim: Kolokviji in pisni izpiti so vsi s

Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 4.10 Izpitni režim: Kolokviji in pisni izpiti so vsi s Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 410 petersemrl@fmfuni-ljsi Izpitni režim: Kolokviji in pisni izpiti so vsi sestavljeni iz dveh delov: v prvem delu se rešujejo naloge,

Prikaži več

Osnove verjetnosti in statistika

Osnove verjetnosti in statistika Osnove verjetnosti in statistika Gašper Fijavž Fakulteta za računalništvo in informatiko Univerza v Ljubljani Ljubljana, 26. februar 2010 Poskus in dogodek Kaj je poskus? Vržemo kovanec. Petkrat vržemo

Prikaži več

RAČUNALNIŠKA ORODJA V MATEMATIKI

RAČUNALNIŠKA ORODJA V MATEMATIKI DEFINICIJA V PARAVOKOTNEM TRIKOTNIKU DEFINICIJA NA ENOTSKI KROŢNICI GRAFI IN LASTNOSTI SINUSA IN KOSINUSA POMEMBNEJŠE FORMULE Oznake: sinus kota x označujemo z oznako sin x, kosinus kota x označujemo z

Prikaži več

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC MATEMATIKA 1.razred OSNOVE PREDMETA POKAZATELJI ZNANJA SPRETNOSTI KOMPETENCE Naravna števila -pozna štiri osnovne računske operacije in njihove lastnosti, -izračuna številske izraze z uporabo štirih računskih

Prikaži več

Poslovilno predavanje

Poslovilno predavanje Poslovilno predavanje Matematične teme z didaktiko Marko Razpet, Pedagoška fakulteta Ljubljana, 20. november 2014 1 / 32 Naše skupne ure Matematične tehnologije 2011/12 Funkcije več spremenljivk 2011/12

Prikaži več

Podatkovni model ER

Podatkovni model ER Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke

Prikaži več

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo Turingov stroj in programiranje Barbara Strniša 12. 4. 2010 1 Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolov (običajno Σ 2) Σ n = {s 1 s 2... s n ; s i Σ, i =

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 3. februar Ime in priimek: Vpisna št: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Veljale bodo samo rešitve na papirju, kjer

Prikaži več

GeomInterp.dvi

GeomInterp.dvi Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminar za Numerično analizo Geometrijska interpolacija z ravninskimi parametričnimi polinomskimi krivuljami Gašper Jaklič, Jernej Kozak, Marjeta

Prikaži več

Rešene naloge iz Linearne Algebre

Rešene naloge iz Linearne Algebre UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO LABORATORIJ ZA MATEMATIČNE METODE V RAČUNALNIŠTVU IN INFORMATIKI Aleksandra Franc REŠENE NALOGE IZ LINEARNE ALGEBRE Študijsko gradivo Ljubljana

Prikaži več

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Peter Škofič Maribor, 2014

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Peter Škofič Maribor, 2014 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Peter Škofič Maribor, 2014 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v financah Ljubljana, 2010 1. Klasični pristop k analizi

Prikaži več

POPOLNI KVADER

POPOLNI KVADER List za mlade matematike, fizike, astronome in računalnikarje ISSN 031-662 Letnik 18 (1990/1991) Številka 3 Strani 134 139 Edvard Kramar: POPOLNI KVADER Ključne besede: matematika, geometrija, kvader,

Prikaži več

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri tem je lahko nelinearna funkcija f podana eksplicitno,

Prikaži več

FGG02

FGG02 6.6 Simetrični problem lastnih vrednosti Če je A = A T, potem so lastne vrednosti realne, matrika pa se da diagonalizirati. Schurova forma za simetrično matriko je diagonalna matrika. Lastne vrednosti

Prikaži več

'Kombinatoricna optimizacija / Lokalna optimizacija'

'Kombinatoricna optimizacija / Lokalna optimizacija' Kombinatorična optimizacija 3. Lokalna optimizacija Vladimir Batagelj FMF, matematika na vrhu različica: 15. november 2006 / 23 : 17 V. Batagelj: Kombinatorična optimizacija / 3. Lokalna optimizacija 1

Prikaži več

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO Petra Žigert Pleteršek MATEMATIKA III Maribor, september 2017

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO Petra Žigert Pleteršek MATEMATIKA III Maribor, september 2017 UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO Petra Žigert Pleteršek MATEMATIKA III Maribor, september 217 ii Kazalo Diferencialni račun vektorskih funkcij 1 1.1 Skalarne funkcije...........................

Prikaži več

Microsoft PowerPoint - Java_spremenljivke

Microsoft PowerPoint - Java_spremenljivke Java Spremenljivke, prireditveni stavek Spremenljivke Prostor, kjer hranimo vrednosti Ime Znak, števka, _ Presledkov v imenu ne sme biti! Tip spremenljivke int (cela števila) Vse spremenljivke napovemo

Prikaži več

FGG14

FGG14 Iterativne metode podprostorov Iterativne metode podprostorov uporabljamo za numerično reševanje linearnih sistemov ali računanje lastnih vrednosti problemov z velikimi razpršenimi matrikami, ki so prevelike,

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi Vpisna številka Priimek, ime Smer: K KT WA Izpit pri predmetu MATEMATIKA I Računski del Ugasni in odstrani mobilni telefon. Uporaba knjig in zapiskov ni dovoljena. Dovoljeni pripomočki so: kemični svinčnik,

Prikaži več

ANALITIČNA GEOMETRIJA V RAVNINI

ANALITIČNA GEOMETRIJA V RAVNINI 3. Analitična geometrija v ravnini Osnovna ideja analitične geometrije je v tem, da vaskemu geometrijskemu objektu (točki, premici,...) pridružimo števila oz koordinate, ki ta objekt popolnoma popisujejo.

Prikaži več

Naloge iz kolokvijev Analize 1 (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za

Naloge iz kolokvijev Analize 1 (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za Naloge iz kolokvijev Analize (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za predmet Analiza na smereh E-UNI, GING in TK-UNI na Fakulteti

Prikaži več

MAGIČNI KVADRATI DIMENZIJE 4n+2

MAGIČNI KVADRATI DIMENZIJE 4n+2 List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 18 (1990/1991) Številka 6 Strani 322 327 Borut Zalar: MAGIČNI KVADRATI DIMENZIJE 4n + 2 Ključne besede: matematika, aritmetika,

Prikaži več

Domače vaje iz LINEARNE ALGEBRE Marjeta Kramar Fijavž Fakulteta za gradbeništvo in geodezijo Univerze v Ljubljani 2007/08 Kazalo 1 Vektorji 2 2 Analit

Domače vaje iz LINEARNE ALGEBRE Marjeta Kramar Fijavž Fakulteta za gradbeništvo in geodezijo Univerze v Ljubljani 2007/08 Kazalo 1 Vektorji 2 2 Analit Domače vaje iz LINEARNE ALGEBRE Marjeta Kramar Fijavž Fakulteta za gradbeništvo in geodezijo Univerze v Ljubljani 007/08 Kazalo Vektorji Analitična geometrija 7 Linearni prostori 0 4 Evklidski prostori

Prikaži več

M

M Š i f r a k a n d i d a t a : Državni izpitni center *M16140111* Osnovna raven MATEMATIKA Izpitna pola 1 SPOMLADANSKI IZPITNI ROK Sobota, 4. junij 016 / 10 minut Dovoljeno gradivo in pripomočki: Kandidat

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev U K 20 P K U P M 2 0 1 2 12 M OBLIKOVANJE POJMA ŠTEVILO PRI OTROKU V 1. RAZREDU Sonja Flere, Mladen Kopasid Konferenca o učenju in poučevanju matematike, M a r i b o r, 2 3. i n 2 4. avgusta 2 0 1 2 Oblikovanje

Prikaži več

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano

Prikaži več

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu Program za računanje Maturitetna seminarska naloga iz informatike Kandidat:

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu Program za računanje Maturitetna seminarska naloga iz informatike Kandidat: Zavod sv. Stanislava Škofijska klasična gimnazija Program za računanje Maturitetna seminarska naloga iz informatike Kandidat: Tinkara Čadež Mentor: Helena Starc Grlj Ljubljana Šentvid, april 2019 POVZETEK

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M15245112* JESENSKI IZPITNI ROK Izpitna pola 2 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali kemični svinčnik in računalo.

Prikaži več

STAVKI _5_

STAVKI _5_ 5. Stavki (Teoremi) Vsebina: Stavek superpozicije, stavek Thévenina in Nortona, maksimalna moč na bremenu (drugič), stavek Tellegena. 1. Stavek superpozicije Ta stavek določa, da lahko poljubno vezje sestavljeno

Prikaži več

DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z in z Kompleksno stevilo je definirano kot : z = a + b, a p

DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z in z Kompleksno stevilo je definirano kot : z = a + b, a p DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z 1 5 2 3 in z 2 3 8 5. Kompleksno stevilo je definirano kot : z = a + b, a predstavlja realno, b pa imaginarno komponento. z 1

Prikaži več

Univerza na Primorskem FAMNIT, MFI Vrednotenje zavarovalnih produktov Seminarska naloga Naloge so sestavni del preverjanja znanja pri predmetu Vrednot

Univerza na Primorskem FAMNIT, MFI Vrednotenje zavarovalnih produktov Seminarska naloga Naloge so sestavni del preverjanja znanja pri predmetu Vrednot Univerza na Primorskem FAMNIT, MFI Vrednotenje zavarovalnih produktov Seminarska naloga Naloge so sestavni del preverjanja znanja pri predmetu Vrednotenje zavarovalnih produktov. Vsaka naloga je vredna

Prikaži več

C:/Users/Matevz/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-januar-februar-15.dvi

C:/Users/Matevz/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-januar-februar-15.dvi Kemijska tehnologija, Kemija Bolonjski univerzitetni program Smer: KT K WolframA: DA NE Čas reševanja je 75 minut. Navodila: Računski del izpita pri predmetu MATEMATIKA I Ugasni in odstrani mobilni telefon.

Prikaži več

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1 REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1 Nekateri pripomočki in naprave za računanje: 1a) Digitalni

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

Del 1 Limite

Del 1 Limite Del 1 Limite POGLAVJE 1 Zaporedja realnih števil 1. Osnovne lastnosti realnih števil Naravna števila označujemo z N, cela z Z, racionalna z Q in realna z R. Naravna števila so nastala iz potrebe po preštevanju.

Prikaži več

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja 3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k.

Prikaži več

Microsoft PowerPoint - Objekti_gradnja.ppt

Microsoft PowerPoint - Objekti_gradnja.ppt Naredimo razred Katera so stanja/lastnosti Kaj hočemo o objektih te vrste vedeti Kakšne lastnosti imajo Katere so metode Kakšno je znanje objektov Na katere ukaze se odzovejo Način predstavitve lastnosti

Prikaži več

2.1 Osnovni pojmi 2 Nim Ga²per Ko²mrlj, Denicija 2.1 P-poloºaj je poloºaj, ki je izgubljen za igralca na potezi. N- poloºaj je poloºaj, ki

2.1 Osnovni pojmi 2 Nim Ga²per Ko²mrlj, Denicija 2.1 P-poloºaj je poloºaj, ki je izgubljen za igralca na potezi. N- poloºaj je poloºaj, ki 2.1 Osnovni pojmi 2 Nim Ga²per Ko²mrlj, 2. 3. 2009 Denicija 2.1 P-poloºaj je poloºaj, ki je izgubljen za igralca na potezi. N- poloºaj je poloºaj, ki je dobljen za igralca na potezi. Poloºaj je kon en,

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

SESTAVA VSEBINE MATEMATIKE V 6

SESTAVA VSEBINE MATEMATIKE V 6 SESTAVA VSEBINE MATEMATIKE V 6. RAZREDU DEVETLETKE 1. KONFERENCA Št. ure Učne enote CILJI UVOD (1 ura) 1 Uvodna ura spoznati vsebine učnega načrta, način dela, učne pripomočke za pouk matematike v 6. razredu

Prikaži več

7. VAJA A. ENAČBA ZBIRALNE LEČE

7. VAJA A. ENAČBA ZBIRALNE LEČE 7. VAJA A. ENAČBA ZBIRALNE LEČE 1. UVOD Enačbo leče dobimo navadno s pomočjo geometrijskih konstrukcij. V našem primeru bomo do te enačbe prišli eksperimentalno, z merjenjem razdalj a in b. 2. NALOGA Izračunaj

Prikaži več

MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140

MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140 MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140 Pravila ocenjevanja pri predmetu matematika na Gimnaziji Krško

Prikaži več

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam 1. izbirni test za MMO 018 Ljubljana, 16. december 017 1. Naj bo n naravno število. Na mizi imamo n okraskov n različnih barv in ni nujno, da imamo enako število okraskov vsake barve. Dokaži, da se okraske

Prikaži več

rm.dvi

rm.dvi 1 2 3 4 5 6 7 Ime, priimek Razred 14. DRŽAVNO TEKMOVANJE V RAZVEDRILNI MATEMATIKI NALOGE ZA PETI IN ŠESTI RAZRED OSNOVNE ŠOLE Čas reševanja nalog: 90 minut Točkovanje 1., 2., in 7. naloge je opisano v

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Matematika II (UNI) Izpit (23. avgust 2011) RE ITVE Naloga 1 (20 to k) Vektorja a = (0, 1, 1) in b = (1, 0, 1) oklepata trikotnik v prostoru. Izra una

Matematika II (UNI) Izpit (23. avgust 2011) RE ITVE Naloga 1 (20 to k) Vektorja a = (0, 1, 1) in b = (1, 0, 1) oklepata trikotnik v prostoru. Izra una Matematika II (UNI) Izpit (. avgust 11) RE ITVE Naloga 1 ( to k) Vektorja a = (, 1, 1) in b = (1,, 1) oklepata trikotnik v prostoru. Izra unajte: kot med vektorjema a in b, pravokotno projekcijo vektorja

Prikaži več

APS1

APS1 Algoritmi in podatkovne strukture 1 Visokošolski strokovni študij Računalništvo in informatika Abstraktni podatkovni tipi Jurij Mihelič, UniLj, FRI Podatkovni tipi Razvil Pascal, Oberon itd. Software is

Prikaži več

Microsoft Word - 10-Selekcijski intervju _4.del_.docx

Microsoft Word - 10-Selekcijski intervju _4.del_.docx številka 10,27.avg. 2004, ISSN 1581-6451, urednik:radovan Kragelj Pozdravljeni! V prejšnji številki mesečnika smo si ogledali, katera področja moramo vsebinsko obdelati v sklopu delovne zgodovine. V današnji

Prikaži več

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo 11. Navadne diferencialne enačbe 11.1. Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogoju y(x 0 ) = y 0, kjer je f dana dovolj gladka funkcija

Prikaži več

Univerza v Ljubljani Fakulteta za elektrotehniko Fakulteta za računalništvo in informatiko MATEMATIKA I Gabrijel Tomšič Bojan Orel Neža Mramor Kosta L

Univerza v Ljubljani Fakulteta za elektrotehniko Fakulteta za računalništvo in informatiko MATEMATIKA I Gabrijel Tomšič Bojan Orel Neža Mramor Kosta L Univerza v Ljubljani Fakulteta za elektrotehniko Fakulteta za računalništvo in informatiko MATEMATIKA I Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Ljubljana, 2004 Poglavje 3 Funkcije 3.1 Osnovni pojmi

Prikaži več

OSNOVE LOGIKE 1. Kaj je izjava? Kaj je negacija izjave? Kaj je konjunkcija in kaj disjunkcija izjav? Povejte, kako je s pravilnostjo negacije, konjunk

OSNOVE LOGIKE 1. Kaj je izjava? Kaj je negacija izjave? Kaj je konjunkcija in kaj disjunkcija izjav? Povejte, kako je s pravilnostjo negacije, konjunk OSNOVE LOGIKE 1. Kaj je izjava? Kaj je negacija izjave? Kaj je konjunkcija in kaj disjunkcija izjav? Povejte, kako je s pravilnostjo negacije, konjunkcije in disjunkcije. Izjava je vsaka poved, za katero

Prikaži več

Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako

Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako ugotoviti, ali je nek graf ravninski. 1 Osnovni pojmi

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNIŠTVO Matematika 4 Pini izpit 2. januar 22 Ime in priimek: Vpina št: Navodila Pazljivo preberite beedilo naloge, preden e lotite reševanja. Veljale bodo amo rešitve na papirju, kjer

Prikaži več

ELEKTRIČNI NIHAJNI KROG TEORIJA Električni nihajni krog je električno vezje, ki služi za generacijo visokofrekvenče izmenične napetosti. V osnovi je "

ELEKTRIČNI NIHAJNI KROG TEORIJA Električni nihajni krog je električno vezje, ki služi za generacijo visokofrekvenče izmenične napetosti. V osnovi je ELEKTRIČNI NIHAJNI KROG TEORIJA Električni nihajni krog je električno vezje, ki služi za generacijo visokofrekvenče izmenične napetosti. V osnovi je "električno" nihalo, sestavljeno iz vzporedne vezave

Prikaži več

BiokemInfo - Pregled funkcij

BiokemInfo - Pregled funkcij Navodila veljajo tako za Microsoft Excel (v slednjem so pripravljeni tudi prikazani primeri) kot tudi za OpenOffice Calc. Med obema programoma obstajajo malenkostne, a ne bistvene razlike. Celice naslavljamo

Prikaži več

Microsoft Word - Seštevamo stotice.doc

Microsoft Word - Seštevamo stotice.doc UČNA PRIPRAVA: MATEMATIKA UČNI SKLOP: Računske operacije UČNA TEMA: Seštevamo in odštevamo stotice Seštevamo stotice UČNE METODE: razlaga, prikazovanje, demonstracija, grafično in pisno delo UČNE OBLIKE:

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Zapisovanje učnih izidov Bled, 21.1.2016 Darko Mali ECVET ekspert, CPI Pojmi: Kvalifikacija Kompetenca Učni cilji Učni izidi Enote učnih izidov Kreditne točke Programi usposabljanja NE! 2 Učni cilji kompetence

Prikaži več

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx Analiza dosežkov pri predmetu matematika za NPZ 28 6. razred NPZ matematika 28 Dosežek šole Povprečno število točk v % Državno povprečje Povprečno število točk v % Odstopanje v % 49,55 52,52 2,97 Povprečni

Prikaži več

Lehmerjev algoritem za racunanje najvecjega skupnega delitelja

Lehmerjev algoritem za racunanje najvecjega skupnega delitelja Univerza v Ljubljani Fakulteta za računalništvo in informatiko ter Fakulteta za Matematiko in Fiziko Mirjam Kolar Lehmerjev algoritem za računanje največjega skupnega delitelja DIPLOMSKO DELO NA INTERDISCIPLINARNEM

Prikaži več

KOMISIJA ZA LOGIKO 32. TEKMOVANJE IZ ZNANJA LOGIKE DRŽAVNO TEKMOVANJE, in 2. letnik Šifra: NALOGA MOŽNE TOČKE DOSEŽENE TOČKE

KOMISIJA ZA LOGIKO 32. TEKMOVANJE IZ ZNANJA LOGIKE DRŽAVNO TEKMOVANJE, in 2. letnik Šifra: NALOGA MOŽNE TOČKE DOSEŽENE TOČKE KOMISIJA ZA LOGIKO 32. TEKMOVANJE IZ ZNANJA LOGIKE DRŽAVNO TEKMOVANJE, 11. 11. 2017 1. in 2. letnik Šifra: NALOGA MOŽNE TOČKE DOSEŽENE TOČKE 1. 20 2. 17 3. 20 4. 20 Skupaj 77 Opombe: pri 1. nalogi se tabela

Prikaži več

Matematika II (UN) 2. kolokvij (7. junij 2013) RE ITVE Naloga 1 (25 to k) ƒasovna funkcija f je denirana za t [0, 2] in podana s spodnjim grafom. f t

Matematika II (UN) 2. kolokvij (7. junij 2013) RE ITVE Naloga 1 (25 to k) ƒasovna funkcija f je denirana za t [0, 2] in podana s spodnjim grafom. f t Matematika II (UN) 2. kolokvij (7. junij 2013) RE ITVE Naloga 1 (25 to k) ƒasovna funkcija f je denirana za t [0, 2] in podana s spodnjim grafom. f t 0.5 1.5 2.0 t a.) Nari²ite tri grafe: graf (klasi ne)

Prikaži več