Sestavljanje in re\unhbox \bgroup \let \unhbox \setbox \hbox {s\global \mathchardef \spacefactor }\ac

Velikost: px
Začni prikazovanje s strani:

Download "Sestavljanje in re\unhbox \bgroup \let \unhbox \setbox \hbox {s\global \mathchardef \spacefactor }\ac"

Transkripcija

1 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Bukovec Sestavljanje in reševanje igre sudoku DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA Mentor: dr. Andrej Brodnik Ljubljana, 2018

2

3 Fakulteta za računalništvo in informatiko podpira javno dostopnost znanstvenih, strokovnih in razvojnih rezultatov. Zato priporoča objavo dela pod katero od licenc, ki omogočajo prosto razširjanje diplomskega dela in/ali možnost nadaljnje proste uporabe dela. Ena izmed možnosti je izdaja diplomskega dela pod katero od Creative Commons licenc Morebitno pripadajočo programsko kodo praviloma objavite pod, denimo, licenco GNU General Public License, različica 3. Podrobnosti licence so dostopne na spletni strani Besedilo je oblikovano z urejevalnikom besedil L A TEX.

4

5 Fakulteta za računalništvo in informatiko izdaja naslednjo nalogo: Tematika naloge: Sudoku je priljubljena miselna igra, ki pa je iz družine NP-polnih problemov. Poleg preproste n n mreže, imamo lahko tudi sestavljene oblike likov. Naredite program, ki bo uporabniku omogočal sestavljanje igre v zapletenejših, sestavljenih oblikah. Preučite možne algoritme za reševanje igre in implementirajte enega od njih ter ga ovrednotite.

6

7 Izjava o avtorstvu diplomskega dela Spodaj podpisani Tadej Bukovec sem avtor diplomskega dela z naslovom: Sestavljanje in reševanje igre sudoku S svojim podpisom zagotavljam, da: sem diplomsko delo izdelal samostojno pod mentorstvom dr. Andreja Brodnika, so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter ključne besede (slov., angl.) identični s tiskano obliko diplomskega dela, soglašam z javno objavo elektronske oblike diplomskega dela na svetovnem spletu preko univerzitetnega spletnega arhiva. V Ljubljani, 13. januarja 2018 Podpis avtorja:

8

9 Kazalo Povzetek Abstract 1 Uvod Kaj je sudoku? Izrazoslovje in pravila sudokuja Problem natančnega pokritja množice Sudoku kot problem natančnega pokritja P in NP NP-polnost in sudoku Reševalnik Algoritem X Metoda plesočih povezav Časovna in prostorska analiza Omejitve implementacije Sudoku uganke poljubnih oblik Reševanje sudoku ugank poljubnih oblik Težave pri sestavljanju poljubne sudoku uganke Vmesnik za sestavljanje sudoku ugank Sklepne ugotovitve 41

10 KAZALO Literatura 43

11 Seznam uporabljenih kratic kratica angleško slovensko DL Dancing links plesoče povezave DTM Deterministic Turing machine deterministični Turingov stroj NPC set of NP complete problems množica NP polnih problemov NTM Nondeterministic Turing machine nedeterministični Turingov stroj

12

13 Povzetek Naslov: Sestavljanje in reševanje igre sudoku V diplomski nalogi bomo predstavili reševanje in ustvarjanje uganke sudoku. Spoznali bomo osnovne gradnike vsake sudoku uganke. Obravnavali bomo problem natančnega pokritja množice in kako se sudoku uganka preslika na problem natančnega pokritja. Razložili bomo prevedbo zapisa sudoku uganke v računalniški zapis (matriko pokritja), nad katero se izvaja naš program. Pri reševanju sudokuja smo uporabili algoritem X, ki je implementiran v jeziku Java. Spoznali bomo drugi način implementacije algoritma X, metodo plesočih povezav, ki je žal nismo implementirali. Primerjali bomo oba načina reševanja sudoku mrež s pomočjo časovne in prostorske analize ter si podrobneje ogledali omejitve naše implementacije. Sledi predstavitev postopka sestavljanja poljubne sudoku mreže iz več sudokujev ter težave, s katerimi se srečamo, ko sestavljamo poljuben sudoku. Na koncu si bomo ogledali še primer vmesnika, ki nam omogoča sestavljanje poljubnih sudokujev. Za vmesnik smo uporabili tehnologiji HTML in javascript. Ključne besede: algoritem, Java, NP-polnost, problem natančnega pokritja.

14

15 Abstract Title: Creating and solving a Sudoku puzzle The goal of the thesis is to study how to create and solve a sudoku puzzle. We will look into the individual components which every sudoku puzzle contains. Furthermore, we will take a closer look into the exact set cover problem and how sudoku puzzle can be represented as one. We will present how to represent a sudoku puzzle so that our program can use it for solving. Sudoku solver was created using Algorithm X, using Java programming language. We will get better acquainted with an alternative way to implement Algorithm X, the Dancing Links method which unfortunately was not implemented. With the help of time and space complexity analysis we will compare both implementations and also have a closer look at the limitations of our implementation. After that, we will have a look at how to create a custom sudoku grid which consists of multiple other sudoku grids. We also mention problems which we can encounter during the creation. Lastly, a simple user interface proposal will be introduced, using HTML and javascript, which enables users to create any kind of sudoku they wish. Keywords: algorithm, Java, NP-completeness, complete coverage problem.

16

17 Poglavje 1 Uvod Sudoku je zabavna miselna igra, s katero smo se srečali skoraj vsi. Igra človeka hitro pritegne, saj so pravila precej preprosta, hkrati pa lahko uganko zastavimo tako, da se z reševanjem posameznega sudokuja ukvarjamo tudi več tednov. Od svojega nastanka, ki sega v 1979, do danes se je igra razširila z dodatnimi oblikami in pravili reševanja (na primer: killer sudoku, mini sudoku, hyper sudoku itd.). Poleg reševanja sudokujev na klasični način s pisalom in svinčnikom se tega problema lahko lotimo tudi na programski način. Tu imamo na voljo preproste reševalnike, ki delujejo po principu surove sile (ang. Brute Force), kot je na primer Algoritem X[1] Donalda Knutha. 1.1 Kaj je sudoku? Sudoku je kombinatorična logična igra, ki je bila prvič objavljena leta 1979[7] z imenom Number Place. Igra močno spominja na reševanje Eulerjevih latinskih kvadratov. 1 Sudoku je v resnici tudi latinski kvadrat 2. Naloga reševalcev sudoku ugank je, da s pomočjo podanih števil vstavijo ostala manjkajoča 1 Mreža dimenzij n n, napolnjena z n različnimi simboli, pri čemer se vsak simbol pojavi v vsaki vrstici in stolpcu natanko enkrat. 2 Razlika med sudokujem in latinskim kvadratom je število gradnikov. Sudoku ima poleg vrstic in stolpcev (ki jih ima latinski kvadrat) tudi manjše podmreže škatle. 1

18 2 POGLAVJE 1. UVOD števila tako, da se v vsaki vrstici, stolpcu in posamezni škatli vsaka izmed števk od 1 do 9 pojavi natanko enkrat. Slika 1.1: Gradniki uganke sudoku. 1.2 Izrazoslovje in pravila sudokuja Za lažje nadaljnje razumevanje velja našteti pomembnejše elemente vsake sudoku uganke s pomočjo slike 1.1. Pogledali si bomo tudi pravila sudoku uganke Osnovni gradniki 1. Sudoku uganka - problem, ki ga naš program rešuje kot celoto (lahko samo iz ene mreže, lahko iz več prekrivajočih se mrež).

19 1.2. IZRAZOSLOVJE IN PRAVILA SUDOKUJA 3 2. Sudoku mreža - mreža dimenzij n n. V njej se nahajajo celice, stolpci, vrstice in škatle. Je samostojna uganka sudoku. S prekrivanjem večih mrež lahko ustvarimo sudoku uganko poljubne oblike. Več o tem v poglavju Podana vrednost - število, ki se v mreži sudoku nahaja že pred reševanjem in je del rešitve uganke. 4. Celica/polje (rjava) - osnovno mesto/enota v sudoku mreži, kjer se prekrivata poljubna vrstica in stolpec. Sudoku je rešen, ko je v vsaki celici napisana natanko ena številka, hkrati pa ni kršeno nobeno od pravil (razdelek 1.2.2). 5. Vrstica (modra) - vrstica je skupina celic, ki so v isti vodoravni črti. 6. Stolpec (rumena) - stolpec je skupina celic, ki so v isti navpični črti. 7. Škatla (zelena) - če je sudoku mreža dimenzij n n, potem je škatla njena podmreža dimenzij h w. V posamezni škatli sudokuja se nahaja n celic. Videli bomo, da dimenziji škatle h in w narekujeta velikost sudokuja. 8. Dimenziji w (rdeča) in h (oranžna) - širina (width) ter višina (height) posamezne škatle sudokuja. Ti dimenziji določata dimenzijo n, n = h w ki predstavlja dolžino stranice pravokotne sudoku mreže, kot vidimo na sliki 1.2. Ti dimenziji določata tudi razpon vrednosti v sudoku uganki.

20 4 POGLAVJE 1. UVOD Slika 1.2: Primeri oblik sudokujev pri različnih vrednostih parametrov h in w: A (h = 3, w = 3), B(h = 4, w = 2), C(h = 2, w = 3), D(h = 2, w = 4) Pravila uganke sudoku 1. Vsaka izmed n 2 celic mora biti izpolnjena. 2. V vsaki vrstici, stolpcu in škatli sudokuja se mora vsaka izmed n vrednosti pojaviti natanko enkrat. V diplomski nalogi je predstavljeno reševanje sudokujev z uporabo algoritma X. Opisano je delovanje algoritma za preprosto sudoku uganko, ki se kasneje razširi na reševanje več medsebojno prekrivajočih se sudokujev, katerih dimenzije so poljubne. V nadaljevanju si bomo ogledali problem natančnega pokritja in kakšna je njegova povezava s sudoku uganko. V tretjem poglavju sledi podrobnejša predstavitev reševalnika, vključno s prostorsko in časovno analizo. Prav tako si bomo ogledali omejitve naše implementacije reševalnika. V četrtem poglavju bomo videli, kako naš reševalnik uporabiti za reševanje in sestavljanje sudoku ugank, ki so iz poljubnega števila sudoku mrež (te so prav tako poljubnih dimenzij). Predstavljen je enostaven uporabniški vmesnik, ki nam

21 1.2. IZRAZOSLOVJE IN PRAVILA SUDOKUJA 5 omogoča sestavljanje poljubnih ugank. Spoznali bomo tudi težave, s katerimi se srečujemo, ko sestavljamo uganko poljubne oblike. Na koncu sledi še predstavitev sklepnih ugotovitev.

22 6 POGLAVJE 1. UVOD

23 Poglavje 2 Problem natančnega pokritja množice Formalno natančno pokritje množice definiramo na sledeč način: Definicija 1. Če imamo množico elementov X in zbirko njenih podmnožic S={S 1, S 2,...,S n }, S i X[5], potem je natančno pokritje množice X tista podmnožica podmnožic T, T S, za katero velja: 1. Presek poljubnih podmnožic znotraj T je vedno prazna množica S i S j =, če S i, S j T - torej velja, da so množice znotraj T paroma disjunktne. Posledično to pomeni, da je vsak element iz X vsebovan v največ eni izmed množic znotraj T. 2. Unija vseh množic znotraj T tvori X = T S i torej podzbirka T pokrije X. To pomeni, da je vsak element iz X vsebovan v vsaj eni izmed množic znotraj T. Prav tako drži, da znotraj T ni praznih množic - vsaka izmed množic vsebuje vsaj en element. Enostavneje lahko ta problem opišemo tako: Če imamo matriko ničel in enic M ali obstaja neka množica vrstic, kjer se nam bo v vsakem stolpcu pojavila natanko ena enica? Če imamo matriko ničel in enic M (množico S), jo lahko na problem natančnega pokritja prevedemo tako, da stolpce obravnavamo kot univerzalno množico, množico X, ki jo je potrebno pokriti, 7

24 8 POGLAVJE 2. PROBLEM NATANČNEGA POKRITJA MNOŽICE vrstice pa kot podmnožice te množice, S i, med katerimi moramo poiskati tiste vrstice, ki bodo skupaj tvorile množico T. 2.1 Sudoku kot problem natančnega pokritja Kot smo že omenili, je tudi sudoku primer problema natančnega pokritja. Videli bomo, da dejansko lahko poljuben problem sudokuja predstavimo kot problem natančnega pokritja, če je možno ta problem nekako predstaviti z matriko ničel in enic M (matriko pokritja) na tak način, da se vsak podatek in omejitev predstavi z enoličnim vnosom. Če si za ta primer ogledamo n n sudoku, lahko vidimo, da je to mreža, ki ima n 2 celic. Pri prevedbi sudoku mreže v računalniški zapis se je potrebno ozirati na štiri pravila: 1. V vsaki celici mora biti natanko eno število. 2. Vsaka vrstica mora vsebovati vsako število od 1-n natanko enkrat. 3. Vsak stolpec mora vsebovati vsako število od 1-n natanko enkrat. 4. Vsaka škatla mora vsebovati vsako število od 1-n natanko enkrat Množica X Če želimo uganko rešiti pravilno, moramo vsako izmed štirih pravil sudokuja vključiti kot pogoj, ki mu je potrebno zadostiti (ga pokriti). Sudoku uganka predstavlja množico X, katere pokritje se nahaja znotraj množice S i (matrike M) Množica S i Množica S i (matrika pokritja) predstavlja vse možne postavitve števil v mrežo. Ker imamo v primeru n n sudokuja n števil in n 2 celic, to pomeni, da je skupno število vseh možnih kombnacij n 3, kar nas privede do največ n 3 vrstic matrike.

25 2.1. SUDOKU KOT PROBLEM NATANČNEGA POKRITJA 9 Ker imajo vsi štirje gradniki sudokuja enako število celic (ter enak razpon števil), to za vsak gradnik pomeni n 2 pogojev, ki jih je potrebno izpolniti, torej 4n 2. To število predstavlja število stolpcev matrike pokritja. Velikost matrike pokritja, n 3 4n 2 = 4n 5, predstavlja množico S i, ki jo lahko zapišemo kot S i ={S 1, S 2,...,S 4n 5} Prevedba množic v matrični zapis Če želimo sudoku obravnavati kot problem natančnega pokritja množic, je potrebno strukturirano podati podatke o množicah X in S ter omejitve sudoku uganke. Tako dobimo matriko pokritja. Sestava te matrike na sliki 2.1 prikazuje vse štiri omejitve sudokuja (ločene z navpično črto). Vredno je še omeniti, da je tu zaradi preglednosti predstavljen le del matrike za manjši, 4 4 sudoku. 1 Slika 2.1: Primer matrike pokritja za prvo celico v sudokuju dimenzij 4 4. Kot primer obravnavajmo prvo vrstico matrike na sliki 2.1. Enica v prvem stolpcu (celice) pomeni, da je zasedena prva celica v mreži. Drugi stolpec ima enico prav tako na prvem mestu. To namreč določa prvo vrstico v mreži ter vrednost števila v tej vrstici. Podoben podatek je zapisan v tretjem stolpcu, enica na prvem mestu namreč pomeni, da je v prvem stolpcu shranjeno število, ki ima vrednost ena. Zadnji stolpec pa pomeni, da je v prvi škatli sudoku mreže enica. Črte so tu le zaradi lažje berljivosti, v našem programu so na teh mestih ničle. 1 To so vse možne vrednosti za prvo celico, v resnici je celotna matrika sestavljena iz 64 vrstic (predlogov).

26 10 POGLAVJE 2. PROBLEM NATANČNEGA POKRITJA MNOŽICE Računalniški algoritem nato najde takšno kombinacijo vrstic, kjer bo v vsakem izmed stolpcev le ena enica. 2.2 P in NP Za oceno zahtevnosti igre sudoku se najprej seznanimo z dvema razredoma časovnih zahtevnosti, P ter NP. Razred časovne zahtevnosti P (deterministični polinomski čas) vsebuje vse odločitvene probleme, ki jih DTM lahko reši v polinomskem času torej čas, ki je potreben, da se problem reši, lahko opišemo s polinomsko funkcijo glede na velikost vhodnih podatkov. Razred NP (nedeterministični polinomski čas) vsebuje probleme, ki jih NTM reši v polinomskem času. Lastnost vseh rešenih NP-problemov je, da je njihovo pravilnost mogoče preveriti z DTM v polinomskem času. V kontekstu sudokuja je potrebno omeniti še razreda NP-polnih (ang. NPC, NP-complete) problemov in NP-težkih problemov. NPC je razred problemov, ki so hkrati NP ter NP-težki. Če se izkaže, da katerikoli problem iz NPC lahko rešimo v polinomskem času, potem lahko rešimo vsak problem iz NP v polinomskem času. V tem primeru bi torej obveljalo NP=P. Definicija 2. Problem P je NP -poln problem, če: - je P vsebovan znotraj NP, - se da vsak problem iz NP prevesti na P v polinomskem času P je NP-težak. Pogoj, ki zahteva, da je P vsebovan znotraj NP -skupine, je pomemben, saj ne drži, da so vsi NP -težki problemi vsebovani znotraj NP - to je skupina problemov, ki so vsaj toliko zahtevni kot N P -problemi. Če se želimo lotiti reševanja NPC-problemov, si pri tem lahko pomagamo s prevedbo. To je postopek, kjer nek problem Y, ki ga rešujemo, s pomočjo nekega algoritma f pretvorimo v drug, že znan NPC-problem Y. Če nam nato uspe rešiti Y, bomo posledično našli tudi rešitev za Y.

27 2.3. NP-POLNOST IN SUDOKU P=NP? Ali je P = NP, je eno izmed velikih nerešenih vprašanj na področju računalniške znanosti. Zelo posplošeno, je to vprašanje Ali je vsak problem, katerega rešitev lahko preverimo v polinomskem času, tudi rešljiv v polinomskem času? To bi pomenilo, da lahko čas reševanja, ki raste z velikostjo problema, opišemo s polinomsko funkcijo. Če bi se izkazalo, da je P = NP, bi to povzročilo velike spremembe v znanosti in svetu. To bi pomenilo, da bi imeli eno strategijo za reševanje vseh N P -problemov. Pozitiven učinek NP = P bi bil višja učinkovitost na vseh področjih (na primer logistiki, načrtovanju projektov, iskanju zdravil za bolezni, kot je na primer rak), ker danes za reševanje teh problemov uporabljamo rešitve, ki predpostavljajo N P P. Po drugi strani pa bi to ogrozilo računalniško varnost, saj je trenutna kriptografija prav tako osnovana na preračunavanju velikih števil, pri čemer se prav tako privzame NP P, to pa bi tedaj predstavljalo enostavno operacijo (lažja dostopnost gesel in podatkov). Če pa se izkaže, da P NP, pomeni, da obstajajo problemi v NP, ki jih je težje rešiti kot preveriti njihovo pravilnost, kar bi znanstvenikom omogočilo, da se lahko posvetijo delnemu reševanju tovrstnih problemov ali pa reševanju drugih. 2.3 NP-polnost in sudoku Izrek 1. Problem sudoku je NP -poln problem. Da bi to dokazali, si moramo pomagati z drugim, že znanim NP-polnim problemom. Najlažje je, če v tem primeru vzamemo problem latinskega kvadrata, za katerega je že znano, da je NP poln problem [3]. S pomočjo prevedbe lahko latinski kvadrat pretvorimo v uganko sudoku, potrebno je namreč dodati le še eno omejitev. Dokaz: Da je sudoku v NP, lahko preprosto vidimo tako, da nedeterministično uganemo rešitev in jo nato v polinomskem času preverimo. Za dokaz N P polnosti bomo sudoku prevedli na problem latinskega kvadrata:

28 12 POGLAVJE 2. PROBLEM NATANČNEGA POKRITJA MNOŽICE 1. Izberemo si poljubni delno izpolnjen latinski kvadrat L dimenzij n n (v našem primeru je n = 4). Slika 2.2: Delno izpolnjen latinski kvadrat. 2. Z algoritmom f 1 naš latinski kvadrat pretvorimo v sudoku. To storimo tako, da vsak stolpec latinskega kvadrata postavimo kot prvi stolpec zgornjih škatel sudokuja, vsa ostala mesta pa na pravilen način (z upoštevanjem pravil sudokuja) izpolnimo tako, da bodo ostala prosta le tista mesta, ki so že bila prosta v latinskem kvadratu (slika 2.3). S tem dobimo n 2 n 2 instanco sudokuja, v katerega smo vključili L. Pretvorba je pravilna, saj smo na ta način zagotovili, da so vse omejitve, ki jih ima latinski kvadrat (razdelek 1.1) ohranjene vsaka celica namreč ohrani svoje navpične in vodoravne sosede od katerih se mora razlikovati.

29 2.3. NP-POLNOST IN SUDOKU 13 Slika 2.3: Uganka sudoku, ki vključuje delno izpolnjen latinski kvadrat. 3. Recimo, da obstaja algoritem f sudo, ki reši sudoku v polinomskem času. Kot vhodni podatek mu podamo naš novi sudoku, ki je posledično tudi rešen v polinomskem času (slika 2.4).

30 14 POGLAVJE 2. PROBLEM NATANČNEGA POKRITJA MNOŽICE Slika 2.4: Rešena sudoku uganka. 4. Sedaj je potrebno le še pretvoriti rešitev sudokuja nazaj v rešitev latinskega kvadrata s pomočjo algoritma f 2. Tako dobimo rešen latinski kvadrat (slika 2.5). Slika 2.5: Izpolnjen latinski kvadrat. Če si podrobneje ogledamo časovne zahtevnosti operacij, lahko ugotovimo

31 2.3. NP-POLNOST IN SUDOKU 15 sledeče: 1. Algoritem f 1 ima časovno zahtevnost O(n 2 ), saj pretvori n n, torej n 2 podatkov v n 2 n 2 = n 4 (v našem primeru 16 podatkov v 256). 2. Algoritem f sudo ima časovno zahtevnost O(p(n)) - to smo predpostavili v namen dokaza, saj smo želeli pokazati, da je sudoku rešljiv v polinomskem času. 3. Algoritem f 2 je reda časovne zahtevnosti O(n), saj je potrebno le prepisati vsa rešena polja v manjšo strukturo, iz katere lahko razberemo rešitev kvadrata. 4. Skupni čas izvajanja vseh naštetih operacij je reda časovne zahtevnosti O(n 2 + p(n) + n), kar lahko skrajšamo v O(p(n)). Iz tega lahko vidimo, da nam je sudoku uspelo rešiti v polinomskem času. Ker je latinski kvadrat dokazano problem v NPC [3], je tudi algoritem f sudo v NPC. Posledično je tudi reševanje sudoku uganke NPC-operacija.

32 16 POGLAVJE 2. PROBLEM NATANČNEGA POKRITJA MNOŽICE

33 Poglavje 3 Reševalnik V tem poglavju predstavljamo reševalnik uganke sudoku. Implementacija je bila izvedena s pomočjo algoritma X. Predstavili bomo tudi način implementacije algoritma X z uporabo metode plesočih povezav ter primerjali oba načina na podlagi časovne in prostorske zahtevnosti izvajanja. Na koncu sledi še analiza omejitev, ki jih ima naš sudoku reševalnik. 3.1 Algoritem X Algoritem X je naključen in rekurziven algoritem. Predpostavimo, da imamo neko poljubno matriko pokritja ničel in enic, M. Algoritem X je definiran na sledeči način: 17

34 18 POGLAVJE 3. REŠEVALNIK 1: procedure Solve(M) 2: if M.isEmpty() then 3: return true 4: else 5: C = selectrandomcolumnc() 6: while cancovercolumn(c) do 7: reduce(m,c) 8: if Solve(M) then 9: return true 10: rebuild(m,c) 11: return f alse Algoritem 1: Algoritem X. Vhodni podatek algoritma je matrika pokritja M. Prvi korak (vrstica 2) je preverjanje, ali je ta matrika morda že prazna. To bi pomenilo, da so bili vsi pogoji pokriti (našli smo rešitev uganke). Če temu ni tako, algoritem izbere naključni stolpec (vrstica 5), katerega bo poskušal z izbiro vrstic pokriti. Dokler obstajajo vrstice, ki ta stolpec pokrivajo (vrstica 6), program izbere eno kot kandidatko za rešitev (še vedno v vrstici 6). Algoritem jo skupaj z ostalimi vrsticami, ki pokrivajo enake pogoje, odstrani iz matrike (vrstica 7). S tem se izognemo morebitnim podvojenim vrednostim za posamezno celico. Program rekurzivno nadaljuje (vrstica 8). Če bi se tekom izvajanja rekurzije zgodilo, da rešitev ni več možna (ne najdemo vrstic za pokritje stolpcev zaradi napačnega odstranjevanja iz matrike), bi program povrnil stanje matrike (vrstica 10), kot je bilo pred klicem reduce(m,c) v vrstici 7. Algoritem bo vedno našel vse možne rešitve problema (če obstajajo) ne glede na izbiro stolpca C. Knuth na tem mestu predlaga, da vedno izberemo tisti stolpec, ki ga pokriva najmanj vrstic v matriki, saj ta zagotovo vsebuje pravilno vrstico (v primeru rešljivosti) - hkrati pa to zmanjša čas izvajanja, saj je večja verjetnost, da bo program že v začetku izbral pravilno pot.

35 3.2. METODA PLESOČIH POVEZAV 19 Naša implementacija algoritma X se od zgoraj opisane razlikuje v tem, da iz matrike ne odstranjujemo stolpcev, temveč namesto tega hranimo podatke o stolpcih, ki so bili z odstranjevanjem določenih vrstic pokriti (odstranjevanje vrstic je še vedno prisotno). 3.2 Metoda plesočih povezav Predstavljajmo si, da imamo nek element x v dvojno povezanem seznamu, ki hrani kazalca L[x] (levi prejšnji element od x) in R[x] (desni naslednji element od x). Donald Knuth je implementacijo plesočih povezav Dancing Links [1] osnoval na podlagi dveh preprostih operacij: 1. L[R[x]]= L[x], R[L[x]]= R[x] in 2. L[R[x]]= x, R[L[x]]= x Prva operacija bo element x odstranila iz seznama, druga element x vrne nazaj v seznam. Obe operaciji (zaradi lažjega sklicevanja ju poimenujmo kar korak 1 in korak 2) sta uporabni pri algoritmih z vračanjem (ang. backtracking), kjer se pogosto zgodi, da moramo po neuspešnem rekurzivnem klicu obnoviti stanje podatkovne strukture. Ta problem bi lahko rešili s skladom, ki bi hranil stanja podatkov med izvajanjen, a je hramba le-teh še posebej pri večji količini podatkov lahko zelo prostorsko potratna. Praktičnost koraka 2 je, da lahko stanje, ki ga ustvari korak 1, povrnemo v prejšnje stanje že s poznavanjem vrednosti x, ta pa je pogosto znana že kot stranski rezultat delovanja algoritmov z vračanjem. Ko se algoritem sprehaja po elementih in jih sproti odstranjuje iz seznamov (algoritem 1, vrstica 7), lahko v primeru napačno izbrane poti, zahvaljujoč koraku 2, vedno povrne podatkovno strukturo nazaj v prejšnje stanje (algoritem 1, vrstica 10). Pri plesočih členih to pomeni operacije nad kazalci med podatki namesto nad podatki samimi. Celoten proces povzroči, da se kazalci elementov znotraj povezanih seznamov vedno spreminjajo, kar

36 20 POGLAVJE 3. REŠEVALNIK spominja na plesne korake - od tod tudi ime Dancing Links oz. plesoče povezave. Ker smo že v začetku želeli ustvariti preprost reševalnik poljubnih sudoku ugank, smo se odločili, da naš algoritem ne bo uporabljal metode plesočih povezav Plesoče povezave in sudoku Implementacija Dancing Links je zelo primeren kandidat za reševanje problemov, kot je popolno pokritje v našem primeru sudoku. To še posebej pride do izraza, ko imamo na voljo poljubne velikosti in število sudokujev, kjer se velikost matrik, nad katerimi izvajamo operacije, hitro poveča. Slika 3.1: Poenostavljena predstavitev enakih podatkov v naši implementaciji (levo) ter implementaciji plesočih povezav (desno). Matriko pokritja v primeru plesočih povezav lahko predstavimo s pomočjo štirikratno povezanega krožnega seznama vozlišč (slika 3.1). Vsako izmed vozlišč v tem seznamu ima povezavo z vozlišči, ki so desno, levo, pod in nad njim. Prav tako ima vsako vozlišče povezavo na posebna vozlišča, ki so na vrhu (glave stolpcev A, B, C in D, ni predstavljeno na sliki). Glavna prednost plesočih povezav je prostorska varčnost, saj podatkov nikoli ni potrebno posebej shranjevati in brati za primere, ko mora algoritem

37 3.3. ČASOVNA IN PROSTORSKA ANALIZA 21 matriko popravljati zanimajo nas le povezave med njimi. Zaradi tega so plesoče povezave učinkovit način implementacije algoritma X. Slika 3.2: Potek izvajanja plesočih povezav. Na sliki 3.2 vidimo potek pokrivanja pogojev dvojno povezanega seznama (korak 1). Na levi strani so najprej označene vse vrstice in povezave, na katere bo vplival poskus pokritja pogoja/stolpca A (rjava). Algoritem si kot kandidata za pokritje naključno izbere vrstico 1. Poleg nje bo iz seznama odstranil tudi vse vrstice, ki pokrijejo katerikoli pogoj, ki ga tudi vrstica 1 (na primer vrstica 3). Zaradi boljše vidljivosti so te povezave pobarvane rdeče. Stolpec A je bil s tem ločen od matrike pokritja (desni del slike). Povezave vozlišč (zelena), ki še niso bila del pokritija, sedaj obidejo vozlišča, ki jih je korak 1 odstranil iz seznama. Slika 3.2 nazorno prikaže prednost metode plesočih členov (hitrost izvajanja), saj ni bil izbrisan nobeden izmed elementov, spremenile so se le povezave, ki jih lahko po potrebi s pomočjo koraka 2 vedno povrnemo. 3.3 Časovna in prostorska analiza Ugotovitve iz testnih primerov Naša implementacija algoritma X se je na začetku izkazala za hiter način reševanja sudoku ugank. Toda z naraščanjem velikosti problema (dimenzij sudoku mrež) se je zaradi večje količine podatkov program začel izva-

38 22 POGLAVJE 3. REŠEVALNIK jati počasneje. Vzrok tega je bilo večje število operacij odstranjevanja in vračanja. Plesoče povezave bi bile tu zaradi operacij, ki ne potekajo nad elementi podatkovne strukture, temveč nad njihovimi kazalci, veliko hitrejše. Za boljši povprečen rezultat smo štiridesetkrat pognali reševanje dveh prekrivajočih se sudoku mrež (slika 4.1). To smo lahko storili le za parametra h in w, ki sta bila manjša od 4 (predvsem zaradi počasnosti izvajanja, kot je razvidno iz tabele 3.1). Prav tako velja omeniti, da v primeru teh mrež velja enakost h = w. h,w Povprečni čas reševanja (s) Tabela 3.1: Rezultati meritev časovnega izvajanja programa za dve sekajoči se mreži. Med preverjanjem pravilnosti rezultatov je bila odkrita pomanjkljivost v implementaciji (več o tem v razdelku 3.4), zato smo za bolj primerljive rezultate pri večjih h in w (4 in 5) celoten program pognali le za posamezno sudoku mrežo, ki nima prekrivanj (slika 3.3).

39 3.3. ČASOVNA IN PROSTORSKA ANALIZA čas izvajanja (s) h,w Slika 3.3: Povprečni čas izvajanja za dve prekrivajoči se mreži. Vidimo, da z naraščanjem količine vhodnih podatkov hitro raste tudi porabljen čas. Za boljšo predstavo, zakaj je temu tako, si v tabeli 3.2 oglejmo, kako se matrika pokritja, nad katero se naš program izvede, poveča z rastjo parametrov h in w (podpoglavje 2.1.2). h,w Število stolpcev Število vrstic Tabela 3.2: Velikost matrike pokritja glede na parametra h in w. Povečevanje števila vrstic pomeni, da bo naš program moral opraviti več operacij odstranjevanja in dodajanja vrstic (podatkov), saj vsaka predstavlja potencialno kandidatko za rešitev. Iz tega je razvidno, da naš program

40 24 POGLAVJE 3. REŠEVALNIK ni primeren za reševanje večjih sudoku ugank. Prav tu bi bilo bolje uporabiti implementacijo plesočih povezav, saj tedaj število podatkov ne bi imelo znatnega vpliva na hitrost (razdelek 3.2.1) Prostorska zahtevnost našega reševalnika Program kot argument sprejme sudoku mrežo dimenzij n n, pri čemer velja n = h w. Kot smo že razdelali v podpoglavju 2.1.3, je potrebno to pretvoriti v matriko pogojev (ki jim bo potrebno zadostiti) ter kandidatov (ki jih bomo poskusili kombinirati v rešitev). Matrika M ima največ 4n 2 stolpcev ter n 3 vrstic. Za lažjo berljivost poimenujmo število stolpcev C in število vrstic R. Zmnožek teh dveh števil predstavlja količino podatkov matrike, D. Velikost te matrike se skozi izvajanje ne spreminja preveč. Program namreč ne dela varnostnih kopij odstranjenih vrstic matrike, temveč jih pri odstranjevanju shranjuje v globalno spremenljivko, nato pa jih v primeru napake ponovno vstavi v prvotno matriko. Ker se količina podatkov skozi izvajanje ne spreminja, je prostorska zahtevnost našega programa O(D) Časovna zahtevnost reševalnika Algoritem X kot vhodni podatek prejme matriko pokritja za sudoku mrežo, ki je sestavljena iz C stolpcev in R vrstic. Pomemben parameter je tudi n, ki predstavlja razpon števil v sudoku mreži. Za določitev časovne zahtevnosti naše implementacije algoritma X je najbolje, če najprej določimo časovno zahtevnost funkcij (korakov), ki ga sestavljajo. Preverjanje, ali je matrika pokritja M prazna, je operacija s časovno zahtevnostjo O(1) (algoritem 1 vrstica 2). Če se izkaže, da matrika še ni prazna, v vrstici 5 algoritem najprej naključno izbere stolpec C, katerega pogoj želi pokriti (s pomočjo funkcije selectrandomcolumnc()), ki ima prav tako časovno zahtevnost O(1). Nato se program začne izvajati v while zanki, kjer funkcija cancoverco-

41 3.4. OMEJITVE IMPLEMENTACIJE 25 lumn(c) pregleda vse vrstice in ugotovi, ali je rešitev še vedno možna. Ker se je pri tem potrebno sprehoditi skozi vsako izmed R vrstic matrike M, je časovna zahtevnost tega koraka O(R). Časovna zahtevnost izbire naključne vrstice je O(1) (nima opaznega vpliva na časovno zahtevnost). Sledi brisanje elementov iz matrike. Ker vsaka vrstica pokrije 4 pogoje, pomeni, da bo potrebno za vsakega izmed pogojev pregledati, katere vrstice v matriki ga tudi pokrivajo, in jih odstraniti. To zahteva štirikraten sprehod skozi vseh R vrstic matrike. Časovna zahtevnost funkcije reduce(m,c) je O(4R) = O(R). Operacija rebuild(m,c) je manj požrešna od reduce(m,c), saj mora le vstaviti odstranjene vrstice nazaj v matriko. Teh bo največ n 1, zato je ta funkcija reda časovne zahtevnosti O(n). Ker se ta operacija ne izvede vsakič, je pri končnem izračunu časovne zahtevnosti ne bomo upoštevali. Časovna zahtevnost našega programa je vsota časovnih zahtevnosti operacij, ki ga sestavljajo. V našem primeru se večina operacij izvede v konstantnem času, razen iskanja vrstic za pokritje ter brisanje vrstic iz matrike. While zanka (algoritem 1, vrstica 6) vsebuje preverjanje, ali stolpec lahko pokrijemo, kar ima časovno zahtevnost O(R). Znotraj te zanke se vsakič izvede brisanje stolpcev iz matrike, kar je prav tako O(R). Skupaj to pomeni časovno zahtevnost O(R 2 ). To je časovna zahtevnost enega izvajanja brez rekurzije. Čas izvajanja nad D elementi matrike zapišemo kot T (D) = T (O(R 2 )) + T (D 1). Toda obstaja možnost napake, saj ima sudoku n-vrednosti, pri čemer se lahko zgodi, da moramo poskusiti vsako, preden najdemo rešitev (s pomočjo vračanja). Čas izvajanja T našega programa za D-podatkov lahko tako opišemo kot T (D) = (T (O(R 2 )) + T (D 1)) n. 3.4 Omejitve implementacije Pri preverjanju pravilnosti rešitev in meritvi časa izvajanja smo odkrili pomanjkljivosti v implementaciji algoritma. Zaradi popravka bi bilo potrebno prirediti celotno strukturo reševalnika, toda posledično bi uporabnik pridobil

42 26 POGLAVJE 3. REŠEVALNIK večjo svobodo pri uporabi programa. Ko program sprejme vhodne podatke (sudoku uganka g) preko uporabniškega vmesnika, ki ga bomo obravnavali v razdelku 4.8, so ti zapisani v obliki črkovnega niza (slika 3.4). Iz tega niza na podlagi vsakega mesta v g, kjer je že število in kjer ga še ni, program sestavi matriko pokritja. Ta zapis je vedno pravilen in lahko predstavlja katerokoli število (slika 2.1). Po rešitvi vsake sudoku mreže je ta rešitev predstavljena kot črkovni niz števil, ki so v sudoku mreži, podobno kot na sliki 3.4, le da nima več pik, saj so vsa mesta zapolnjena z rešitvijo mreže. V primeru, ko naš program rešuje sudoku uganko, ki je sestavljena iz več prekrivajočih se mrež (slika 4.1), bo program po vsaki rešeni mreži vrednosti le-te uporabil kot podatke za reševanje naslednje mreže (če se mreži prekrivata tako, da si delita vrednosti). Ker pa je naš zapis v obliki črkovnega niza števil, se pri večjih sudoku mrežah (h, w 4) zgodi, da je zapis dvomestnih števil nemogoče zanesljivo prebrati. Program bo na primer število 16 (zapisano med podatki, kot na sliki 3.4) interpretiral kot števili 1 in 6. Slika 3.4: Primer črkovnega niza sudoku uganke med izvedbo algoritma. Za lažjo predstavo lahko postopek reševanja več prekrivajočih se sudoku mrež (slika 4.2) povzamemo v štirih korakih: 1. Program najprej na podlagi vhodnih podatkov prepozna število sudoku mrež, njihove dimenzije in mesta, kjer se mreže prekrivajo med seboj. 2. Reševanje se vedno začne pri tisti mreži, ki ima največ prekrivanj (to zmanjša število napak). Podatki o mreži so podani v obliki črkovnega niza, program pa jih pretvori v matriko, nad katero izvaja operacije. 3. Ko je sudoku mreža rešena, program matriko pretvori nazaj v črkovni

43 3.4. OMEJITVE IMPLEMENTACIJE 27 niz ter vrednosti rešene mreže vpiše na ustrezna mesta prekrivajočih se mrež Program nato nadaljuje z reševanjem naslednje mreže z največ prekrivanji. Tu se ponovno zgodi pretvorba črkovnega zapisa v matriko, hkrati pa tudi napake, če so števila dvomestna (kot smo omenili prej). 1 To je nujno, saj želimo, da se vrednosti števil na prekrivajočih se mestih ujemajo.

44 28 POGLAVJE 3. RES EVALNIK

45 Poglavje 4 Sudoku uganke poljubnih oblik Ker je uganka sudoku že sama po sebi problem popolnega pokritja, je sudoku uganka poljubne oblike rešljiva na enak način, le da je treba bolje razmisliti o obliki matrike pokritja, ki jo bomo za ta sudoku sestavili. Za lažje razumevanje poimenujmo ključne gradnike uganke sudoku poljubne oblike. Kot primer si lahko ogledamo sudoku uganko na sliki 4.1. Slika 4.1: Sudoku, sestavljen iz dveh 4 4 sudokujev. Ta uganka je sestavljena iz dveh 4 4 sudoku mrež g 1 (modra) in g 2 29

46 30 POGLAVJE 4. SUDOKU UGANKE POLJUBNIH OBLIK (rdeča), ki se prekrivata. Pri reševanju takega problema je potrebno posebej hraniti vrednosti celic, ki si jih dva sudokuja s prekrivanjem delita. V tem primeru so to štiri celice (zelena polja) oziroma škatla (slika 4.2). Ko naš algoritem zaženemo na mreži g 1, se ob pravilni rešitvi le te vse vrednosti, ki jih ima skupne z g 2, prenesejo kot podane vrednosti g 2, preden se reševanje g 2 začne. Na podlagi teh bomo nato zgradili rešitev sudoku mreže g Reševanje sudoku ugank poljubnih oblik Recimo, da najdemo za g 1 možni dve rešitvi, R 1 in R 2, kjer bi se odločili za R 1. Če bi se zaradi tega izkazalo, da je mrežo g 2 nemogoče pravilno izpolniti, bi se naš program vrnil na mrežo g 1, jo ponastavil ter ponovno rešil, tokrat z drugačno rešitvijo kot R 1 (kar postopno pripelje do rešitve g 2 ). Program pri vsaki sudoku mreži pred reševanjem naslednje mreže preveri, če je rešitev, ki jo je trenutno uporabil, že bila uporabljena v tej mreži. Slika 4.2: Postopek reševanja sudoku uganke z dvema prekrivajočima sudoku mrežama. Postopek lahko dalje razširimo še na več sudoku mrež. Pri večjem številu je potrebno bolje načrtovati pristop k reševanju, saj to lahko vpliva na hitrost delovanja, ker zmanjša število napačnih predlogov in posledično obnavljanj podatkovne strukture.

47 4.1. REŠEVANJE SUDOKU UGANK POLJUBNIH OBLIK 31 Slika 4.3: Sestavljanje sudoku uganke iz petih sudoku mrež. Na sliki 4.4 lahko vidimo primer zapleta pri reševanju petih sudoku mrež. Program je najprej rešil mrežo levo zgoraj, nato pa je (naključno) v nasprotni smeri urinega kazalca nadaljeval z reševanjem. Pri tem lahko že pred koncem izvajanja vidimo, da srednji (rdeči) sudoku nima veljavnih vrednosti (kršitev pravil), zaradi česar bo posledično prišlo do popravkov. Slika 4.4: Napačno predlagane številke za srednjo mrežo. V izogib temu je bolje, če se najprej lotimo reševanja tistih mrež, ki imajo največ prekrivanj z ostalimi. Slika 4.5 prikazuje boljši pristop k reševanju. Najprej (1) poiščemo mrežo, ki ima največ prekrivanj. Ko je mreža izpolnjena, nadaljujemo z naslednjo, ki ima največ prekrivanj (2). Ker imajo v tem primeru vse mreže razen srednje samo eno prekrivanje, program na-

48 32 POGLAVJE 4. SUDOKU UGANKE POLJUBNIH OBLIK ključno nadaljuje v smeri urinega kazalca (3,4,5,6), kot na sliki 4.2. Na ta način smo že v prvem poskusu hitreje pravilno izpolnili vse mreže. Slika 4.5: Postopek reševanja uganke sudoku iz petih 4 4 sudoku mrež. 4.2 Težave pri sestavljanju poljubne sudoku uganke Sestavljanje poljubne sudoku uganke je omejeno zaradi načina implementacije algoritma (razdelek 3.4). Program namreč zna reševati le prekrivajoče sudokuje, ki imajo enake dimenzije ter vsebujejo le enomestna števila (razen 0). Če poskusimo združiti dve mreži, ki nista enakih dimenzij (slika 4.6), program ne bo znal ustvariti enotne matrike pokritja za oba sudokuja. Problem bi lahko odpravili z ločenima podatkovnima strukturama, pri čemer bi

49 4.2. TEŽAVE PRI SESTAVLJANJU POLJUBNE SUDOKU UGANKE 33 najprej rešili mrežo, ki ima manjši razpon vrednosti, saj bodo te zagotovo tudi v večji mreži. Nato te vrednosti program uporabi kot podane vrednosti druge mreže. Pred tem je potrebno poskrbeti, da se mreži prekrivata tako, da se škatle znotraj njiju prekrivajo medsebojno (škatla s škatlo) največ enkrat (če se na primer dve manjši škatli znajdeta znotraj večje, lahko pride do podvajanja vrednosti in posledično nerešljivega primera). Slika 4.6: Neprimerna kombinacija dveh mrež. Neupoštevanje prekrivanja največ ene škatle s škatlo je lahko problem tudi pri sudoku mrežah enakih oblik (slika 4.7).

50 34 POGLAVJE 4. SUDOKU UGANKE POLJUBNIH OBLIK Slika 4.7: Neprimerna postavitev mreže. Zaradi načina postavitve zelene mreže na črno naš program najprej reši eno izmed mrež (v tem primeru črno), nato pa pri reševanju zelene naleti na neveljavno postavitev števil (slika 4.7, rdeča škatla). Prav tako v nobeno izmed zeleno označenih polj ni mogoče vstaviti števila 2, saj se v vsaki izmed tistih vrstic že pojavlja. Kljub ponovnim poskusom reševanja črne mreže (podpoglavje 4.1) v večini primerov ne bo možno najti rešitve, ki bi bila ustrezna za obe mreži (odvisno od načina postavitve in števila sudokujev, ki se tako prekrivajo). Za zagotovitev pravilne razporeditve števil v mreži je zato bolje sudoku uganko sestaviti tako, da se sudoku mreže med seboj prekrivajo le v škatlah (slika 4.2). Pri sestavljanju in reševanju sudoku ugank ni potrebno upoštevati nobene izmed zgornjih strategij reševanja, toda posledično se lahko zgodi, da bo naš program imel veliko preglavic že pri reševanju manjšega števila mrež. Namen

51 4.3. VMESNIK ZA SESTAVLJANJE SUDOKU UGANK 35 predlaganih načinov zastavitve in reševanja ugank je zmanjšanje časovne zahtevnosti algoritma, saj z upoštevanjem le-teh močno zmanjšamo število morebitnih napak pri reševanju oziroma nerešljivih postavitev mrež. 4.3 Vmesnik za sestavljanje sudoku ugank Zasnovali smo preprost vmesnik (slika 4.8), v katerega uporabnik vnese vrednosti w in h, na podlagi tega se ob vsakem pritisku na gumb na zaslonu izriše nova sudoku mreža. Z upoštevanjem vseh omejitev v poglavju 4.2 lahko ustvarimo poljubne postavitve sudoku mrež, tudi ciklične. Ko so mreže razporejene tako, kot si želimo, se ob pritisku na gumb generiraj ustvari sudoku uganka, ki jo uporabnik nato rešuje. Po želji lahko tudi sam vpiše števila (kot podane vrednosti), na podlagi katerih program nato išče rešitev. Slika 4.8: mrež. Preprost uporabniški vmesnik za sestavljanje sudoku ugank iz

52 36 POGLAVJE 4. SUDOKU UGANKE POLJUBNIH OBLIK Ustvarjanje uganke sudoku Ustvarjanje sudoku uganke se od reševanja le-te ne razlikuje skoraj v ničemer to je namreč le postopek, kjer se najprej reši prazna sudoku uganka, nato pa iz matrike pokritja (rešitve) te uganke odstranimo nekaj vrstic, kar posledično vrne delno rešen sudoku, ki ga uporabnik poskusi izpolniti. Zagotavljanje enoličnosti rešitve Če želimo ohraniti enoličnost uganke, je pomembno, da ne odstranimo preveč vrstic iz rešitve. V nasprotnem primeru lahko pride do izgube enoličnosti rešitve uganke (to bi lahko na enostaven način preverili tako, da bi iskali rešitve ugank, ki se med seboj razlikujejo, a imajo iste podane vrednosti). Za enoličnost rešitve je zato potrebno določiti največje število odstranjenih števil iz mreže. Če podrobneje pogledamo poljubno celico C sudokuja dimenzij 9 9, n = 9, vidimo, da je povezana z dvajsetimi izmed ostalih zelenih celic v mreži (slika 4.9). Poimenujmo relacijo med izbrano celico C ter vsakim izmed ostalih zelenih polj ne sme biti enaka kot. Ker ima klasični 9 9 sudoku 81 celic, to pomeni 810 relacij (ker sta relaciji med dvema celicama simetrični, lahko polovico relacij zanemarimo).

53 4.3. VMESNIK ZA SESTAVLJANJE SUDOKU UGANK 37 Slika 4.9: Vse relacije izbrane celice C z ostalimi celicami v klasični sudoku uganki. V resnici ni potrebno upoštevati vsake izmed dvajsetih relacij, ker je v klasičnem sudokuju samo devet različnih števil ta pa se pojavijo znotraj zeleno obarvanih celic. V tem primeru bo tako imela ena izbrana celica natanko osem relacij (ker je samo še osem ostalih števil različnih). Ker imamo samo osem različnih relacij 81 celic ter upoštevamo, da sta povezavi med celico C in poljubnim zelenim poljem x ter med x in C simetrični, pridemo do zaključka, da bo imela rešena 9 9 sudoku uganka = 324 povezav med celicami. To je spodnja meja ne sme biti enaka kot relacij med celicami. Če je število teh relacij manjše od 324, to pomeni, da bodo nekatere izmed celic imele manj relacij in posledično manj omejitev. Zaradi tega bo v tistih celicah mogoče vpisati različne vrednosti, kar na koncu lahko privede do različnih, a hkrati veljavnih rešitev iste sudoku uganke. Ker vsaka izmed celic ustvari največ 20 relacij, bi pri klasičnem sudokuju s 16 podanimi vrednostmi imeli relacij, kar je natanko 320. To pa, kot lahko vidimo iz prejšnjega računa, ni dovolj za enolično rešitev uganke. Če namesto tega podamo 17 števil, se rezultat s 320 povzpne na 340, kar je v primeru klasičnega sudokuja že dovolj za enolično rešitev in hkrati minimalno število prej podanih vrednosti. Iz zgornjih izračunov lahko tako izpeljemo formulo za določitev potreb-

54 38 POGLAVJE 4. SUDOKU UGANKE POLJUBNIH OBLIK nega števila podanih vrednosti L, ki nam še vedno omogoča enoličnost rešitve. n 2 (n 1) 2 L = 2 (n 1) + ( n 1) 2 (4.1) V števcu ulomka (4.1) imamo število vseh relacij (pri klasičnem sudokuju je to 810). Da bi dobili minimalno število podanih vrednosti za enolično rešitev, moramo v imenovalec postaviti število vseh relacij, ki jih ima posamezna celica (slika 4.9) [1]. Med ustvarjanjem ugank smo ugotovili, da je poleg minimalnega števila podanih vrednosti pri ustvarjanju uganke sudoku pomembna tudi raznolikost podanih vrednosti. Če imamo neko poljubno sudoku uganko g dimenzij n n, potem je potrebno za podane vrednosti te uganke vključiti vsaj n 1 različnih števil. Če bi za podane vrednosti uganke g uporabili samo n 2 različnih števil, potem bi lahko pri reševanju tisti dve števili, ki še nista podani, zamenjali med seboj. Končna rešitev bi bila kljub temu pravilna, toda ne enolična (slika 4.10). Slika 4.10: Dve možni rešitvi uganke zaradi premajhnega razpona podanih vrednosti. Enolično rešljivost sudoku uganke bi lahko preprosto in zanesljivo zagotovili tudi na sledeči način: 1. Rešimo prazno sudoku uganko. 2. Iz rešitve odstranimo naključno vrednost.

55 4.3. VMESNIK ZA SESTAVLJANJE SUDOKU UGANK S pomočjo reševalnika ugotovimo število možnih rešitev. 4. Dokler je število rešitev 1, ponavljamo koraka 2 in 3, v nasprotnem primeru vstavimo nazadnje odstranjeno število ter ponavljamo koraka 2 in 3. Postopek lahko ustavimo, ko v uganki ostane le želeno število podanih vrednosti.

56 40 POGLAVJE 4. SUDOKU UGANKE POLJUBNIH OBLIK

57 Poglavje 5 Sklepne ugotovitve Ustvarili smo preprost reševalnik sudoku ugank poljubnih oblik. Ideja je bila sestaviti reševalnik, ki je sposoben rešiti poljubno obliko sudoku uganke s poljubnim številom mrež (z upoštevanjem napotkov pri sestavljanju ugank iz razdelka 4.2). V začetku smo izhajali iz ideje reševalnika klasičnih sudoku ugank z eno mrežo, ki smo ga nato razširili na reševanje ugank poljubne oblike s poljubnim številom mrež. Zaradi nerodne implementacije hranjenja podatkov (črkovni niz, slika 3.4), je pri mrežah večjih dimenzij, ki lahko sprejmejo tudi števila, večja od 10, prišlo do napak v delovanju programa. Zato imamo na voljo reševanje le tistih mrež, katerih števila ne presegajo dveh mest. Prav tako bi bilo v namen reševanja večjega števila mrež hkrati bolje uporabiti plesoče povezave. Kot se je izkazalo pri meritvah, je naš program popolnoma zadovoljivo hitro rešil uganke, ki so imele le enomestna števila (h, w < 3). Toda z naraščanjem parametrov h in w je pri h = w = 5 bil čas izvajanja več kot tridesektrat daljši kot za h = w = 3 (tabela 3.2). Plesoče povezave bi matrike pokritja rešile nekaj hitreje, saj tam ni prisotnega brisanja/pisanja v pomnilnik (spreminjajo se le povezave). Za lažjo uporabo programa smo zasnovali preprost uporabniški vmesnik, preko katerega uporabnik lahko s sudoku mrežami sestavlja poljubne uganke. Zaradi svoje enostavnosti ta ne daje povratne informacije glede postavitve 41

58 42 POGLAVJE 5. SKLEPNE UGOTOVITVE mrež (ali bo rešitev možna ali ne). V ponovnem primeru reševanja tega problema bi raje uporabili implementacijo plesočih členov, ki zna bolje obravnavati večje količine podatkov, saj se rast velikosti problema pozna na časovni zahtevnosti. Poleg tega bi za tvorjenje ugank trenutno logiko lahko dodelali tako, da bi lahko skupaj zlagali tudi sudoku mreže različnih dimenzij. Naš program bi lahko spremenili tako, da najprej reši tiste mreže, ki so manjše, saj so njihove vrednosti zagotovo vsebovane tudi v večjih mrežah. K temu bi bilo potrebno dodati še varovalo, ki bi uporabnika opozarjalo na napačno postavitev mrež, saj lahko pri postavitvi hitro pride do napake (podpoglavje 4.2), uporabnik pa ne ve natanko, zakaj se je to zgodilo. Možnost izboljšave vidim tudi v tem, da bi uporabniški vmesnik uporabniku lahko ocenil pravilnost njegove rešitve in izpostavil napačne vrednosti (če bi v uganko uporabnik vse vrednosti vnesel sam).

59 Literatura [1] D. E. Knuth. Dancing Links, Millenial Perspectives in Computer Science, Dosegljivo: [Dostopano ] [2] T. H. Cormen, C. E. Leiserson, L. R. Rivest. Introduction to Algorithms 3rd Edition, The MIT Press, [3] C. J. Colbourn, The complexity of completing partial Latin squares, Discrete Applied Mathematics, št. 1, zv. 8, str , [4] J. Chu. A Sudoku Solver in Java implementing Knuth s Dancing Links Algorithm, Harker Research Symposium, Dosegljivo: jchu/publicportal/sudoku/sudoku.paper.html. [Dostopano ]. [5] R. M. Carp, The complexity of completing partial latin squares, Complexity of Computer Computations: Proceedings of a symposium on the Complexity of Computer Computations, str , [6] B. Hanson. Exact Cover Matrix, St. Olaf College, Dosegljivo: [Dostopano ]. [7] Sudoku. Sudoku Dragon, [Online]. Dosegljivo: [Dostopano ]. 43

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č

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č

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č

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č

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č

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č

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č

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č

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č

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č

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č

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

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č

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č

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č

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

Microsoft Word - M doc

Microsoft Word - M doc Državni izpitni center *M11145113* INFORMATIKA SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Petek, 10. junij 2011 SPLOŠNA MATURA RIC 2011 2 M111-451-1-3 IZPITNA POLA 1 1. b 2. a 3. Pojem se povezuje

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č

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č

Diapozitiv 1

Diapozitiv 1 Pogojni stavek Pogojni (if) stavek Tip bool Primerjanje Uranič Srečo If stavek Vsi dosedanji programi so se izvajali zaporedoma, ni bilo nobenih vejitev Program razvejimo na osnovi odločitev pogojnega

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č

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č

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č

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č

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvantnih celičnih avtomatov SEMINARSKA NALOGA Univerzitetna

Prikaži več

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č

VST: 1. kviz

VST: 1. kviz jsmath Učilnica / VST / Kvizi / 1. kviz / Pregled poskusa 1 1. kviz Pregled poskusa 1 Končaj pregled Začeto dne nedelja, 25. oktober 2009, 14:17 Dokončano dne nedelja, 25. oktober 2009, 21:39 Porabljeni

Prikaži več

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / 24. 5. 2019 Uradni list Republike Slovenije PRILOGA 1 PRAVILA ZA OBLIKOVANJE

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č

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č

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č

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

Povzporejanje metahevristik za NP-polne probleme

Povzporejanje metahevristik za NP-polne probleme UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Povzporejanje metahevristik za NP-polne probleme Rok Cvahte Delo je pripravljeno v skladu s Pravilnikom o podeljevanju Prešernovih nagrad

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č

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č

Diapozitiv 1

Diapozitiv 1 Računalništvo in informatika Program: Mehatronika dr. Hubert Fröhlich, univ. dipl. el. Podatkovne baze 2 Podatkovne baze Podatki osnova za odločanje in izvajanje akcij tiskana oblika elektronska oblika

Prikaži več

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površe, pri tem pa zbrati čim več točk. Podobno igro najdemo tudi v knjigi Scratch (Lajovic, 2011), vendar

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č

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015 Mladi za napredek Maribora 015 3. srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 015 Kazalo 1. Povzetek...3. Uvod...4 3. Spirala 1...5 4. Spirala...6 5. Spirala 3...8 6. Pitagorejsko drevo...10

Prikaži več

NAVODILA ZA IZPOLNJEVANJE OBRAZCA

NAVODILA ZA IZPOLNJEVANJE OBRAZCA NAVODILO ZA UPORABO PRIPOMOČKA ZA PRIPRAVO STROŠKOVNEGA NAČRTA PROJEKTA»Piano finanziario Stroskovni nacrt«dokument»piano finanziario Stroskovni nacrt«v Microsoft Excel obliki lahko uporabite kot pripomoček

Prikaži več

Microsoft Word - N _moderacija.docx

Microsoft Word - N _moderacija.docx 2 N151-401-2-2 SPLOŠNA NAVODILA Prosimo, da moderirano različico navodil za vrednotenje dosledno upoštevate. Če učenec pravilno reši nalogo na svoj način (ki je matematično korekten) in je to razvidno

Prikaži več

N

N Državni izpitni center *N15164132* 9. razred TEHNIKA IN TEHNOLOGIJA Ponedeljek, 11. maj 2015 NAVODILA ZA VREDNOTENJE NACIONALNO PREVERJANJE ZNANJA 9. razred RIC 2015 2 N151-641-3-2 SPLOŠNA NAVODILA Prosimo,

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nejc Ramovš Problem izomorfnega podgrafa DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mento

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nejc Ramovš Problem izomorfnega podgrafa DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mento Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nejc Ramovš Problem izomorfnega podgrafa DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Borut Robič Ljubljana, 2013 Rezultati

Prikaži več

Osnove statistike v fizični geografiji 2

Osnove statistike v fizični geografiji 2 Osnove statistike v geografiji - Metodologija geografskega raziskovanja - dr. Gregor Kovačič, doc. Bivariantna analiza Lastnosti so med sabo odvisne (vzročnoposledično povezane), kadar ena lastnost (spremenljivka

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č

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, 12.11.2018 Verzija 1.0 KAZALO 1 REGISTRACIJA... 3 1.1 Katere podatke potrebujem za registracijo/kreiranje

Prikaži več

COBISS3/Medknjižnična izposoja

COBISS3/Medknjižnična izposoja 3/Medknjižnična izposoja 2.2 KATALOG Katalog nam omogoča: iskanje gradiva prikaz izbranih bibliografskih zapisov ali pripadajočih podatkov o zalogi iz lokalne baze podatkov v formatu COMARC vpogled v stanje

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č

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu Na podlagi 64. člena Pravil o organizaciji in delovanju Fakultete za humanistične študije, št. 011-01/13 z dne 27. 6. 2013, je Senat Univerze na Primorskem Fakultete za humanistične študije na svoji 4.

Prikaži več

Microsoft PowerPoint - IPPU-V2.ppt

Microsoft PowerPoint - IPPU-V2.ppt Informatizacija poslovnih procesov v upravi VAJA 2 Procesni pogled Diagram aktivnosti IPPU vaja 2; stran: 1 Fakulteta za upravo, 2006/07 Procesni pogled Je osnova za razvoj programov Prikazuje algoritme

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č

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite vzorčne strani iz DELOVNIH LISTOV 1 v štirih delih

Prikaži več

Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah

Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah (uteº si predstavljamo npr. kot dolºino, ceno, teºo

Prikaži več

Microsoft Word - P101-A doc

Microsoft Word - P101-A doc Š i f r a k a n d i d a t a : Državni izpitni center *P101A22112* SPOMLADANSKI IZPITNI ROK ANGLEŠČINA Izpitna pola 2 Pisno sporočanje A) Krajši pisni sestavek B) Vodeni spis Sobota, 29. maj 2010 / 60 minut

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

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č

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č

Microsoft PowerPoint - Lapajne&Randl2015.pptx

Microsoft PowerPoint - Lapajne&Randl2015.pptx RAZISKAVA OB PREDVIDENI SELITVI KNJIŽNIC OHK Raziskava je potekala v okviru predmetov Raziskovalne metode in Uporabniki informacijskih virov in storitev pod mentorstvom treh profesorjev (dr. Pisanski,

Prikaži več

APS1

APS1 Algoritmi in podatkovne strukture 1 Visokošolski strokovni študij Računalništvo in informatika Algoritmi in problemi Jurij Mihelič, UniLj, FRI Algoritmi Izvor izraza al-khwārizmī algoritmi Sem Muhammad

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Word - avd_vaje_ars1_1.doc ARS I Avditorne vaje Pri nekem programu je potrebno izvršiti N=1620 ukazov. Pogostost in trajanje posameznih vrst ukazov računalnika sta naslednja: Vrsta ukaza Štev. urinih period Pogostost Prenosi podatkov

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č

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č

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č

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č

Zadeva: Ponudba

Zadeva: Ponudba Navodila za urejanje Spletne strani CTEK.si 1. Dodajanje novega polnilnika Za dodajanje novega polnilnika nikoli ne prepisujte že objavljenih vsebin, ampak sledite tem navodilom. Ta so zagotovilo, da bodo

Prikaži več

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?

Prikaži več

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik CNR-BTU3 Bluetooth vmesnik A. Vsebina pakiranja Bluetooth USB Adapter Bluetooth programska oprema in CD z gonilniki Navodila za uporabo in CD 1. Namestitev Bluetooth programske opreme za Windowse 1. Vstavite

Prikaži več

DEDOVANJE BARVNE SLEPOTE

DEDOVANJE BARVNE SLEPOTE DEDOVANJE BARVNE SLEPOTE 1. UVOD: Vsak človek ima 23 parov kromosomov, od tega 22 parov avtosomih kromosomov in en par spolnih kromosomov. Ta ne določata samo spola, temveč vsebujeta tudi gene za nekatere

Prikaži več

Navodila Trgovina iCenter

Navodila Trgovina iCenter Napredovanja v plačne razrede javnih uslužbencev 2019 S pomočjo SAOP programa Kadrovska evidenca lahko ob dokupljeni kodi vodimo napredovanja javnih uslužbencev. Za napredovanja v letu 2019 je potrebno

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č

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

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č

NAVODILA AVTORJEM PRISPEVKOV

NAVODILA AVTORJEM PRISPEVKOV Predmetna komisija za nižji izobrazbeni standard matematika Opisi dosežkov učencev 6. razreda na nacionalnem preverjanju znanja Slika: Porazdelitev točk pri matematiki (NIS), 6. razred 1 ZELENO OBMOČJE

Prikaži več

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavčič Matjaž Jerman 8. februar 2006 Kazalo 1 Uvod 2 2

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č

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č

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č

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č

Microsoft PowerPoint - OAPS1- Uvod.ppt

Microsoft PowerPoint - OAPS1- Uvod.ppt Univerza v Ljubljani Fakulteta za računalništvo in informatiko Igor Rožanc Osnove algoritmov in podatkovnih struktur I ( OAPS I ) 2. letnik VSP Računalništvo in informatika, vse smeri Študijsko leto 2006/07

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

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č

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 - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Excel 2016

Excel 2016 PRIDOBIVANJE TEMELJN IH IN POKLICNIH KOMPETENC OD 2019 DO 2022 HIPERPOVEZAVA Gradivo za interno uporabo AVTOR: Belinda Lovrenčič Gradivo ni lektorirano V Maj 2019 Operacijo sofinancira Evropska unija,

Prikaži več

DNEVNIK

DNEVNIK POROČILO PRAKTIČNEGA USPOSABLJANJA Z DELOM PRI DELODAJALCU DIJAKA / DIJAKINJE. ( IME IN PRIIMEK) Izobraževalni program FRIZER.. Letnik:.. oddelek:. PRI DELODAJALCU. (NASLOV DELODAJALCA) Šolsko leto:..

Prikaži več

2. Model multiple regresije

2. Model multiple regresije 2. Model multiple regresije doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 2.1 Populacijski regresijski model in regresijski model vzorčnih podatkov

Prikaži več

EVROPSKA KOMISIJA Bruselj, C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne o vzpostavitvi začasnega neposrednega stati

EVROPSKA KOMISIJA Bruselj, C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne o vzpostavitvi začasnega neposrednega stati EVROPSKA KOMISIJA Bruselj, 21.11.2018 C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne 21.11.2018 o vzpostavitvi začasnega neposrednega statističnega ukrepa za izkazovanje izbranih vsebin popisa

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č

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č

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č

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva osebnih podatkov posameznikom omogoča uveljavljanje

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č

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č

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in ra unalni²tvo Izobraºevalna matematika Pisni izpit pri predmetu K

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in ra unalni²tvo Izobraºevalna matematika Pisni izpit pri predmetu K 31. januar 2014 1. [25] V kino dvorano z 10 vrstami po 10 o²tevil enih sedeºev vstopi 100 ljudi. Od tega je 40 deklet in 60 fantov. Na koliko na inov se lahko posedejo, (a) e ni nobenih omejitev? (b) e

Prikaži več