Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT Peter Mačuga Generovanie diabolských sudoku

Veľkosť: px
Začať zobrazovať zo stránky:

Download "Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT Peter Mačuga Generovanie diabolských sudoku"

Prepis

1 Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT Peter Mačuga Generovanie diabolských sudoku Bakalárska práca Študijný program: Informatika Študijný odbor: Informatika Miesto vypracovania: Ústav aplikovanej informatiky, FIIT STU Bratislava Vedúci práce: prof. RNDr. Jiří Pospíchal, DrSc. máj 2011

2 Anotácia Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Študijný program: Informatika Autor: Peter Mačuga Bakalárska práca: Generovanie diabolských sudoku Vedúci bakalárskej práce: prof. RNDr. Jiří Pospíchal, DrSc. máj 2011 Hlavolam sudoku sa v poslednej dobe teší veľkej popularite. Kaţdý sa s ním stretol minimálne v novinách alebo v časopisoch. Na jeho riešenie je potrebné uplatňovať obmedzenú sadu logických pravidiel, v krajnom prípade treba tipovať. Hlavolamy sudoku majú isté kategórie náročnosti. Od najjednoduchších aţ po diabolské. Cieľom projektu je navrhnúť algoritmus na generovanie sudoku, aby bolo ťaţko riešiteľné pre človeka, t.j. aby sa logické pravidlá dali ťaţko prípadne aby sa vôbec nedali pouţiť, pričom hlavolam musí mať práve jedno riešenie. Ideálne by bolo, aby riešiteľ musel postupovať metódou pokusu a omylu, tam je najväčšia pravdepodobnosť chyby.

3 Annotation Slovak University of Technology Bratislava FACULTY OF INFORMATICS AND INFORMATION TECHNOLOGIES Degree Course: Informatics Author: Peter Mačuga Bachelor Theses: Generating Devil Sudoku Supervisor: prof. RNDr. Jiří Pospíchal, DrSc May Sudoku puzzle has recently been enjoying great popularity. Everyone met it at least in newspapers or magazines. For solving it is necessary to apply a limited set of logical rules, sometimes it is necessary to guess. From the simplest to the "evil", Sudoku puzzles have a lot of categories of difficulty. The project aims to propose an algorithm to generate Sudoku which would be difficult to solve for people, i.e. logical rules would be difficult or even impossible to use, and the puzzle has to have exactly the one solution. Ideally, the player has to proceed through Trial and Error, which is an easy way to make a mistake.

4 Obsah 1. Analýza problému Sudoku, všeobecné informácie Riešenie sudoku Ľudské techniky riešenia sudoku Techniky riešenia sudoku počítačom Generovanie sudoku Určenie obťaţnosti sudoku Samotné generovanie sudoku Analýza existujúcej aplikácie Opis riešenia problému Merania a výsledky Merania Minimalizovanie počtu zadaných polí Vytváranie diabolského sudoku Porovnanie rôznych prístupov riešenia Zhrnutie Zdroje Príloha A: Tabuľky B: Technická dokumentácia Opis aplikácie Pouţívateľská príručka... 43

5 1. Analýza problému 1.1. Sudoku, všeobecné informácie Sudoku je logická hra. Na jej začiatku bola idea pochádzajúca z 18. storočia od matematika Leonharda Eulera. Bol to však iba akýsi prapredok súčasných sudoku, jednalo sa o hru Magické štvorce. Neskôr francúzski riešitelia experimentovali s odoberaním vyplnených políčok v tejto hre a v novembri 1892 bola hra prvýkrát publikovaná v novinách. Na riešenie však boli vyţadované nie logické pravidlá ale aritmetické pravidlá a hlavolam obsahoval dvojciferné čísla. Sudoku do dnešnej podoby ako ho poznáme dostal v roku 1979 Američan Howard Garns. Rébus vychádzal pod menom Number Place v americkom časopise Dell Pencil Puzzles & Word Games. Sudoku je teda Americký vynález. Meno mu dali však Japonci [1]. Zadané sudoku má niektoré z políčok vyplnené číslicami od 1 po 9. Cieľom hry je vyplniť celú mrieţku, aby riadky, stĺpce, bloky obsahovali iba raz číslo z intervalu 1 aţ 9. Riešiteľ vypĺňa políčka pomocou logických pravidiel. Riešenie sudoku na hracom poli 9 x 9 rozdelenom na podoblasti 3 x 3 je z algoritmického hľadiska NP-úplným problémom. Všetkých moţných rôznych rozmiestnení vyhovujúcich pravidlám sudoku na hracom poli s rozmermi 9x9 je ! Slovník používaných pojmov: Bunka - jedno políčko z celkového počtu 81 buniek. Sudoku mrieţka má rozmery 9 x 9 buniek. Pojem bunka je pouţívaný viac v časti návrhu a implementácii. Pri opise a vysvetľovaní ľudských techník riešenia je často pouţitý výraz políčko. Je to navzájom ekvivalentné. Výraz bunka je pouţitý v programe ako názov dátovej štruktúry, preto v časti ktorá nehovorila o implementácii bol pouţívaný výraz políčko. Blok časť mrieţky o veľkosti 3 x 3 buniek, zvýraznená od celej mrieţky medzerou alebo dvojitou čiarou, obsahuje 9 buniek, kaţdá obsahuje práve jedno z čísiel 1 aţ 9 1

6 Segment súhrnný názov pre riadok, stĺpec a blok. V jednom segmente sa môţe nachádzať kaţdé číslo z intervalu 1 aţ 9 práve raz. Jedna bunka sa nachádza súčasne v troch segmentoch (riadok, stĺpec, blok). Tento pojem výrazne zjednoduší vyjadrovanie [2]. Napríklad bez neho by bolo nutné napísať: Ak dve bunky v rovnakom riadku, stĺpci alebo bloku majú dvoch rovnakých kandidátov.... S týmto pojmom však stačí: Ak dve bunky v rovnakom segmente majú dvoch rovnakých kandidátov... Kandidát hodnota ktorú môţe daná bunka nadobudnúť. O kandidátovi má zmysel hovoriť iba vtedy, keď má bunka viacero kandidátov. V opačnom prípade bunka nemá kandidáta, ale hodnotu. 2

7 1.2. Riešenie sudoku Ľudské techniky riešenia sudoku Ľudských spôsobov riešenia je veľa, v posledných rokoch pribúdajú nové. Ľudia riešia sudoku logickými pravidlami, niekedy príde na rad eliminovanie moţností hrubou silou, no to uţ v zúfalých prípadoch a v tomto prípade je veľká pravdepodobnosť výskytu chyby. Pouţívané techniky moţno zhrnúť do troch kategórií. Kaţdá ďalšia kategória je náročnejšia na uvaţovanie. Skenovanie (prechádzanie mrieţkou a hľadanie jednoduchých krokov) Značkovanie (zapisovanie si moţností do políčok) Analyzovanie ( what-if") Nasleduje prehľad známych ľudských techník pre riešenie sudoku. Názvy techník sú anglické termíny, pretoţe slovenčina nemá ekvivalenty pre všetky typy techník. Nasleduje zoznam techník [3]: S K E N O V A N I E Naked Single V najjednoduchšom prípade je moţné do určitej bunky zapísať hneď jej hodnotu, pretoţe všetky ostatné moţnosti sú vylúčené vzhľadom na obsah buniek nachádzajúcich sa v jednom z priľahlých segmentov. Bunky v segmente budú obsahovať osem hodnôt a pre skúmanú nevyplnenú bunku zostane jediná moţnosť na doplnenie. Na obrázku č.1 môţe ţlto zafarbená bunka nadobudnúť iba hodnotu 7. Všetky ostatné hodnoty sú obsadené bunkami v priľahlých segmentoch. 3

8 Obr Technika Naked Single Hidden Single Vo vybranej bunke ostane jediný kandidát na vyplnenie, pretoţe hodnoty políčok v priľahlých riadkoch alebo stĺpcoch vylúčili výskyt daného čísla v celom bloku. Na obrázku č. 2 je ţltou farbou označená bunka, ktorá môţe mať iba hodnotu 4. Obr Hidden Single technika Tieto 2 spomenuté techniky sú najzákladnejšie, nevyhnutné pre riešenie a pre človeka ktorý prvýkrát rieši sudoku sú určite intuitívne. Cieľom nasledujúcich postupov je minimalizovať mnoţinu kandidátov konkrétneho políčka, aby sa hlavolam dostal do takej podoby, kde by sa dalo pouţiť jedno z dvoch základných pravidiel. Jednoduché sudoku sa dá riešiť iba pomocou týchto pravidiel. 4

9 Z N A Č K O V A N I E Naked Subset ( "naked pair", "naked triplet", "naked quad") Všeobecne túto techniku moţno pouţiť, keď počet rôznych kandidátov v niektorých bunkách istého segmentu je rovnaký ako počet týchto buniek, tak je moţné tých kandidátov z ostatných buniek toho istého segmentu eliminovať. Túto techniku moţno aplikovať aj na viacero buniek, nielen na dve bunky naraz. Na obrázku č. 3 sú zelenou farbou vyznačené 2 bunky v jednom riadku s rovnakými kandidátmi (6, 7). Teda keď tieto čísla vylúčime zo zoznamu kandidátov v celom riadku, ţlto označená bunka ostane s jediným kandidátom: číslom 5. Obr Naked Subset technika, konkrétne jej variácia: naked pair Konkrétne pre naked pair platí: ak dve bunky v rovnakom segmente majú práve dvoch rovnakých kandidátov, tak potom títo kandidáti môţu byť eliminovaní z mnoţiny kandidátov ostatných buniek v danom konkrétnom segmente. Toto pravidlo moţno uplatňovať analogicky aj pre "naked triplet" a "naked quad". Hidden Subset ("hidden pair", " hidden triplet", " hidden quad") Technika je veľmi podobná Naked Subset, ale umoţňuje eliminovanie kandidátov v bunkách v ktorých bude identifikované isté pravidlo. T.j. toto pravidlo neovplyvňuje bunky v priľahlom segmente (ako Naked Subset ), ale iba konkrétne bunky. Všeobecne aj pre rôznu násobnosť tejto techniky platí ţe ak sa určití kandidáti nachádzajú iba v určitých bunkách jedného segmentu a počet týchto buniek je rovnaký ako počet tých kandidátov, moţno ostatných kandidátov z týchto zmienených buniek odstrániť. 5

10 Na obrázku č. 4 sú farebne označené bunky, ktoré obsahujú kandidátov 1, 3 a 7. Ostatní kandidáti týchto buniek môţu byť odstránení, čím v ţltej bunke ostane jediný kandidát, číslo 2. Obr Hidden Subset technika Block and Column / Row Interactions V niektorých prípadoch je vzhľadom na situáciu v bloku a jeho okolí jasné, ţe sa istí kandidáti nachádzajú v danom bloku iba v jednom stĺpci alebo v jednom riadku, aj keď sa nevie určiť kde presne. To však stačí na to, aby sa odstránili tieto čísla zo zoznamu kandidátov pre zvyšok stĺpca alebo riadku. Na obrázku č. 5 môţu hodnotu 9 nadobúdať iba bunky ţlté bunky v 2. stĺpci. To znamená, ţe moţno číslo 9 eliminovať z mnoţiny kandidátov pre kaţdú jednu bunku vyznačeného stĺpca (zelené políčka). Obr Block and Column / Row Interactions technika, konkrétne jej variácia Block and Column Interaction 6

11 Analogicky keby sa číslo 9 nachádzalo niekde v zelených políčkach (2. stĺpec), nemohlo by sa nachádzať v druhom riadku druhého a tretieho bloku. Takto pouţitá technika by sa nazývala Block and Row Interaction. Block / Block Interactions Ak v dvoch susedných blokoch sa nachádza v mnoţine kandidátov rovnaká číslica iba v dvoch riadkoch (stĺpcoch), moţno v treťom, susednom bloku v týchto dvoch riadkoch (stĺpcoch) vylúčiť túto číslicu z mnoţiny kandidátov pre tie bunky v treťom bloku. Na obrázku č. 6 číslo 7 blokuje 4 riadky v prostredných blokoch. Číslo 7 sa bude teda nachádzať niekde v ţltých poliach (jedno bude vo vrchnom bloku, druhé sa bude nachádzať v prostrednom bloku). Moţno tak odstrániť zo všetkých zelených buniek kandidáta číslo 7, pretoţe sa toto číslo bude nachádzať uţ niekde v ţltých poliach. Obr. 6. Príklad techniky Block / Block Interactions A N A L Y Z O V A N I E X-Wing Touto technikou moţno eliminovať kandidátov v niektorých bunkách, ak nastane zvláštne postavenie niektorých buniek s kandidátmi. Na obrázku č. 7 sú ţltou farbou označené 7

12 bunky ktoré majú jedného z kandidátov číslo 1. Číslo 1 sa bude nachádzať buď v pravom hornom rohu a v ľavom dolnom alebo v pravom dolnom a ľavom hornom. Od toho sa nazýva táto technika X-Wing, rovnaké hodnoty bunky budú voči sebe kríţom po diagonále. Tým pádom budú oba stĺpce uţ obsahovať bunku s hodnotou 1, preto teda moţno odstrániť čísla 1 z mnoţín kandidátov pre zelené bunky. Obr X-Wing technika Swordfish Ak sú kandidáti jednej číslice v troch stĺpcoch (troch riadkoch) rozmiestnení tak, ţe v kaţdom stĺpci (riadku) sú dvaja kandidáti a súčasne platí, ţe kandidáti z týchto stĺpcov (riadkov) sú vţdy dva v rovnakom riadku (stĺpci), potom je moţné z buniek daných riadkov (stĺpcov) odstrániť kandidátov daného čísla. 8

13 Obr SwordFish technika Napríklad (obrázok č. 8.): Zameriame sa na bunky s kandidátom číslo 1. Ostatní kandidáti zo ţltých buniek nie sú vypísaní, v tomto momente sú nezaujímaví. Ţlto vyznačené bunky sú jediné v označených riadkoch, ktoré môţu nadobudnúť hodnotu 1. Tak moţno odstrániť číslo 1 z mnoţiny kandidátov vo všetkých ostatných priľahlých riadkoch a stĺpcoch (zelené políčka). XY-Wing Táto metóda pomáha pri určitých podmienkach redukovať kandidátov v bunkách. Podľa obrázka č. 9. začína z bunky kde kandidátmi sú čísla 4 a 5. Ak v príslušnom riadku existuje bunka s dvoma kandidátmi, pričom jeden z nich je aj kandidátom v našej základnej bunke (číslo 5) a súčasne existuje ďalšia takáto bunka (na obrázku č. 9 je v rovnakom stĺpci), rovnaký je v tomto prípade kandidát číslo 4, tak moţno vylúčiť z mnoţiny kandidátov ţltej bunky číslo 8. Obr. 9. XY-Wing technika 9

14 Táto metóda má mnoho variácií, ide pomocou nej eliminovať výskyt jedného kandidáta aj zo skupiny buniek. Viď nasledujúci príklad na obrázku 10. Obr. 10. XY-Wing technika, zloţitejší príklad, efekt na viacero buniek Tu sa pracuje iba v dvoch blokoch. Kandidáta 4 moţno eliminovať zo všetkých ţltých buniek. T.j. väzba medzi vrcholmi tohto trojuholníka nemusí byť iba na priamo ako v obrázku č. 9. Bunky s kandidátmi 2, 3 a 2, 4 sú spojené nachádzaním sa v tom istom bloku. Všeobecne moţno povedať, ţe dvojice buniek ktoré interagujú medzi sebou, sa nachádzajú v jednom segmente. XYZ-Wing Táto metóda je veľmi podobná metóde XY-Wing Obr. 11. XYZ-Wing technika Nech čísla 1, 2 a 3 vyjadrujú ľubovoľných kandidátov X, Y a Z. Pri rozloţení ako na obrázku č. 11 naľavo moţno zo ţltých buniek eliminovať kandidáta 3. Pre akékoľvek kombinácie kandidátov 1, 2 a 3 vţdy platí, ţe v ţltých políčkach sa nebude nachádzať číslo 3. Podobne to platí aj pre pravú časť obrázka. Číslo 3 bude eliminované z mnoţiny kandidátov pre všetky ţlté bunky. Táto metóda je rozšírením, zovšeobecnením techniky XY-Wing. 10

15 Forcing Chains Tento postup vytvára z políčok reťaz. Podľa obrázka keď sa začne s políčkom A, moţno ho spojiť s políčkom B, pretoţe jeden z kandidátov oboch políčok je to isté číslo, v tomto prípade číslo 7. Ďalej políčko C má kandidáta 3, políčko D a C majú spoločného kandidáta číslo 1. Posledný prvok reťaze je políčko E s kandidátmi 1 a 2. Táto metóda vyţaduje aby prvky reťaze boli políčka s dvomi kandidátmi. Postupujem podľa príkladu na obrázku č. 12. Teraz keby sa začne od políčka A tipovať a vyberie sa ţe tam patrí číslo 2 (následne sa vyhodnotí bunka E), vyplnia sa všetky hodnoty kde je číslo 2 správne riešenie. V políčku D sa bude nachádzať nakoniec číslo 2. Ak by sa začalo v políčku A s číslom 7 (teraz je však druhá pouţitá bunka B), políčko D dá taký istý výsledok: 2. To je aj cieľom tejto metódy. Teda v stručnosti treba nájsť takú reťaz buniek, ţe keď v prvom prvku sa bude nachádzať hocičo, jeden ľubovoľný článok reťaze bude mať stále tú istú hodnotu. Obr. 12. Technika Forcing Chains XY Chains Tu sa opäť vytvára reťazec z dvojíc kandidátov, kde jeden článok obsahuje rovnakého kandidáta ako susedný článok. Reťazec začína a končí tým istým číslom. Príklad na obrázku 13 ukazuje reťazec: (1, 2) + (2, 3) + (3, 4) + (4, 5) + (5, 1). Keby v prvom článku bola v bunke hodnota 2, druhý článok by mal hodnotu 3, tretí 4, štvrtí 5 a posledný hodnotu 1. Tá jednotka by eliminovala výskyt kandidátov v ţltých bunkách. Ak by sa začalo vypĺňať od začiatku, no ako hodnota by bolo zvolené číslo 1, to okamţite vyradí jednotky z mnoţiny kandidátov ţltých buniek. 11

16 Obr. 13. Technika XY Chains Colouring Technika je podobná vyššie uvedenej technike Forcing Chains. A to v tom, ţe hľadá dvojice buniek. Coloring túto podmienku sprísňuje a zaoberá sa bunkami, v ktorých sa istý kandidát nachádza v dvoch bunkách jedného segmentu. Obr. 14. Colouring technika Zaujímame sa o kandidátov 1. Ostatní kandidáti z vyznačených buniek nie sú vypísaní, v tomto príklade sú nezaujímaví. Reťaz kandidátov ja naznačená tak, ţe vţdy je pár (nachádzajúci sa v tom istom segmente) zafarbený na zeleno a na modro. V danom segmente sa musí nachádzať buď zelená jednotka alebo modrá jednotka. Nech sa číslo 1 bude nachádzať hocikde v rôznych kombináciách zelených a modrých políčok, číslo 1 nemôţe patriť medzi kandidátov oranţovej bunky. Oranţová bunka sa totiţ nachádza v segmentoch, ktoré obsahujú aj zelenú jednotku, aj modrú. 12

17 Remote Pairs Táto technika zovšeobecňuje techniky Naked Subset a Colouring, vytvára ich kombináciu. Podobne ako u techniky Colouring sú tu zafarbené bunky obsahujúce rovnaké páry kandidátov. Jedna číslica môţe byť v zelenom, druhá v modrom poli. Z oranţovej bunky moţno eliminovať dvoch kandidátov tak, ţe tie dve eliminované číslice budú číslice, ktoré tvorili reťaz medzi zeleno-modrými bunkami. Podmienka: počet zafarbených členov reťaze musí byť párny. Teda vo výsledku na obrázku č. 15 zostane v oranţovej bunke hodnota 3. Obr. 15. Remote Pairs technika Poznámka: v pravom hornom rohu je nezafarbené pole. V ňom sa nedajú eliminovať kandidáti, pretoţe dĺţka reťazca je 3 (zelená modrá zelená), teda nepárna. Metóda Pokus a omyl Vyberie sa jeden z kandidátov v bunke, bunka nadobudne hodnotu a vďaka tejto novej vedomosti bude moţné vyriešiť hodnoty ďalších buniek. V momente ak by nastala chyba, jednoznačný rozpor s pravidlami umiestňovania hodnôt v bunkách, je treba sa vrátiť do stavu pred aplikovaním tejto metódy a tú neúspešnú hodnotu (ktorá bola testovaná) odstrániť z mnoţiny kandidátov na danú bunku. Táto metóda je fakticky prehľadávanie do hĺbky. V tomto projekte je vyhodnotená ako najťaţšia metóda, pretoţe riešiteľ nikdy nevie pred jej pouţitím, kedy skončí a ľahko sa môţe pomýliť. 13

18 Techniky riešenia sudoku počítačom Pri generovaní štýlom odoberania buniek je nevyhnutné po odobratí uistiť sa, či existuje ešte riešenie. Toto bude kontrolovať sudoku solver [5]. Daný solver pouţíva algoritmus Dancing Links (návrh algoritmu: Donald Knuth) adaptovaný na riešenie sudoku. Dokáţe nájsť všetky riešenia presne popísaného problému. Z hľadiska implementácie je to dvojitý zreťazený zoznam. Všeobecne sa na riešenie sudoku pouţíva nejaký typ spätného prehľadávania (angl. backtrack ). Funguje nasledovne: 1. Vybranie a dosadenie ako hodnotu náhodného kandidáta v istej bunke. Bunku vyberie na základe čo najniţšieho počtu kandidátov. 2. Je hlavolam riešiteľný? a. ÁNO - pokračuje krokom 1 b. NIE späť pred krok 1, vrátenie hlavolamu do stavu pred posledným vybratím. Eliminovanie vybraného a testovaného čísla z mnoţiny kandidátov danej bunky Backtracking testuje všetky alternatívy, preto sa nazýva aj prehľadávaním do hĺbky. Podľa potreby môţe skončiť pri nájdení prvého riešenia (angl. depth-first algorithm ) alebo dokončiť vyhľadávanie. Počas jeho vykonávania je nutné nejako zaznamenávať stavy ktoré prešiel, skontroloval. V tomto prípade pri riešení sudoku to moţno dosiahnuť tak, ţe po otestovaní neúspešného kandidáta vyradí tohto kandidáta z mnoţiny kandidátov danej bunky. T.j. algoritmus sa uţ nevráti k testovaniu toho čísla, vyberať bude iba z dostupných kandidátov. Takto moţno riešiť akékoľvek riešiteľné sudoku. Tento postup zaručuje nájdenie riešenia. Vyţaduje však oveľa viac porovnaní ako solvery zaloţené na inteligentnejších pravidlách. Medzi tieto partia aj solvery zaloţené na ľudských pravidlách. Rozdiel medzi nimi a prehľadávaním do hĺbky sa pohybuje medzi 3 a 6 násobkom porovnaní [7]! Vo svojej práci sa nezameriavam na riešenie sudoku počítačovým prístupom, preto som v tejto kapitole iba načrtol všeobecné princípy riešenia. Solver na takejto báze pouţívam na zistenie po kaţdom kroku generovania, či má zadanie riešenie. 14

19 1.3. Generovanie sudoku Predtým ako sa začne navrhovať generátor sudoku, treba určiť podľa čoho sa bude určovať stupeň zloţitosti. V mojej práci ide najmä o to, aby bolo zadanie sudoku čo najťaţšie, preto budem širšie rozoberať rôzne postupy a prístupy k určovaniu zloţitosti hlavolamu pre človeka a porovnám to so zloţitosťou pre počítač. Okrem určovanie obťaţnosti je treba poznať ľudské postupy riešenia. Tie boli podrobne rozobraté v kapitole Určenie obťaţnosti sudoku Na prvý pohľad by sa mohlo zdať ţe to závisí najmä od počtu nevyplnených políčok, čím viac ich je, tým je hlavolam ťaţší. Vo väčšine prípadov to platí. V nasledujúcom grafe je znázornená závislosť času výpočtu riešenia sudoku pomocou solvera [5] od počtu vyplnených polí na vstupe. Časy boli veľmi blízko seba, bolo treba viacero meraní toho istého vstupu (v grafe je aritmetický priemer cca 4 časov pre jednotlivé vstupy) aby som určil objektívnejšie čas výpočtu. Graf 1. Závislosť času nájdenia riešenia od vstupu Tým ţe testované boli extrémne, diabolské vstupy [6] sú v grafe časté výchylky, nie sú hodnoty úplne plynulé, no uţ z tohto je vidieť rastúca tendencia času výpočtu, čím menej 15

20 zadaných polí je. Toto rozhodnutie o zloţitosti som robil na základe algoritmu pre počítač, nemalo to s ľudským postupom riešenia nič spoločné, no výsledok hovorí, ţe náročnosť vstupu je závislá na počte vyplnených políčok. Minimálny počet zadaných políčok je 17. Ak je zadaných menej ako 17, zadanie bude mať viacero riešení. Skutočne náročnosť vstupu závisí iba od počtu vyplnených polí? Vo všeobecnosti to platí, no existuje veľa prípadov kedy to je naopak! Dokonca aj nech je na začiatku vyplnených 30 políčok, môţe to byť ťaţšie ako keď máme vyplnených iba 20. Na tejto dvojici obrázkov ukáţem rozdiel. Jedná sa takmer identické zadania: identické sú počtom zadaných vyplnených políčok a ich pozíciami. Obr.16 - Porovnanie zloţitosti riešenia v závislosti od počtu vyplnených políčok, obrázok prevzatý z Na tomto príklade je znázornené, ako z takmer identických vstupov dostaneme rôzne náročnosti. Zadaných je 28 čísel. Červeno zafarbené políčka znázorňujú polia, ktoré moţno okamţite identifikovať a vyplniť zo zadaného vstupu. Prvý vstup ich má 12. Naproti tomu druhý vstup má iba 3 takéto moţnosti. V ďalšom kole bude mať prvý hlavolam uţ oveľa viac vyplnených políčok ako hlavolam napravo, rozdiely sa budú iba zväčšovať. Idea tohto spôsobu určovania zloţitosti spočíva v tom, ţe sa bude počítať koľko takýchto červených políčok máme, vyplníme ich, nasleduje ďalšia iterácia, kolo rozhodovania, kde sa tieţ pozrieme koľko políčok určíme priamo z 2. kola, výsledky sčítame a pokračujem kým sa celá mrieţka nevyplní. Tento spôsob je iba teoretický, pretoţe nemoţno chcieť od riešiteľa, aby vypĺňal polia v takej postupnosti ako postupoval algoritmus na určovanie zloţitosti. 16

21 Ľahko sa stane, ţe nájde 3, 4 čísla v červených poliach a následne bude nachádzať iné, iné ktoré algoritmus našiel v 2., 3. kole určovania zloţitosti. Ukázal som, ţe prvým faktorom zloţitosti je počet prázdnych polí. Nie síce rozhodujúci, v ďalšej časti budem naň zaväzovať. V prílohe v Tabuľka 1 je to prehľadne znázornené. Ďalším faktorom je ohodnotenie vstupu podľa ťaţkosti kroku vedúceho k riešeniu [2]: Eliminácia v stĺpcoch, riadkoch a v malých štvorcoch (CRME Columm, Row and Minigrid Elimination) Nájdenie osamelých/ malých rozsahov v stĺpcoch, riadkoch a štvorcoch Nájdenie dvojíc vo štvorcoch, stĺpcoch a riadkoch Nájdenie trojíc vo štvorcoch, stĺpcoch a riadkoch Eliminačná metóda hrubou silou Tieto kroky korešpondujú s typmi ľudských postupov pri riešení (skenovanie, značkovanie a analyzovanie- kapitola ). V Tabuľke 2 sú uvedené body za jednotlivé techniky. Na ich základe sa priradia ku kaţdému kroku body, podľa ktorých sa na konci súčtom bodov určí zloţitosť. Väčšina sudoku ide riešiť pomocou prvých dvoch pravidiel. Tieto vymenované typy techník korešpondujú s ľudskými technikami riešenia (kapitola ) Na náročnosť pre riešiteľa vplýva aj rozmiestnenie zadaných políčok. Väčšinou sa človek stretáva v tlači na internete so symetrickými sudoku. Symetrické sú osovo alebo stredovo. Sú pre človeka príťaţlivejšie. Nesymetrické vstupy nemajú priamy vplyv na náročnosť riešenia, iba pre človeka a jeho subjektívny názor sú odpudivejšie, akoby bolo v sudoku menej políčok zadaných. Moje vstupy nebudú symetrické. V náročných vstupoch sa budem snaţiť okrem iného čo najviac minimalizovať vstupnú mrieţku, čím prirodzene ubudnú moţnosti na vytvorenie symetrie, teda pri extrémne nízkom počte zadných políčok (okolo 20) budú zadania nesymetrické. Náročnosť vygenerovaného hlavolamu budem ohodnocovať nasledovne. V priebehu odoberania buniek budem vyhodnocovať náročnosť kroku pre riešiteľa. Kvôli tomu boli v predchádzajúcej kapitole (kapitola ) popisoval ľudské techniky riešenia. Na ich 17

22 základe bude fungovať algoritmus odoberania buniek z vyplnenej mrieţky. Podľa toho ktorá technika odobratia bude pouţitá podľa toho sa pridelí danému kroku istý počet bodov Techniky odoberania budú skúšané v poradí od najjednoduchších po najkomplikovanejšie. Prvá pouţitá technika (tá najľahšia moţná pri danej bunke) bude zaznamenaná. Na záver podľa početnosti jednotlivých techník určím výslednú zloţitosť. Pouţitá ohodnocovacia tabuľka bude takmer totoţná s tabuľkou číslo 2. V danej tabuľke nie sú uvedené priamo kroky, ľudské techniky, ktoré boli popísané, no budú dodatočne priradené: CRME (doplnenie hodnoty do bunky) o Naked Single Osamelé hodnoty vo štvorci, stĺpci a riadku (doplnenie hodnoty do bunky) o Hidden Single Nájdenie dvojíc (trojíc) vo štvorcoch, stĺpcoch a riadkoch (eliminovanie kandidátov z buniek) o Naked Subset o Hidden Subset o Block and Column / Row Interactions o Block / Block Interactions o X-Wing, XY-Wing, o Swordfish o Forcing Chains Eliminácia hrubou silou o Technika Pokus a omyl 18

23 Samotné generovanie sudoku Ako vygenerovať zadanie hlavolamu, aké beţne vidíme v tlači, na webe? Jedná sa o symetrické sudoku. Je to veľmi jednoduché. Keď je v implementácii vstupná mrieţka ako dvojrozmerné pole, kaţdé políčko bude mať súradnicu pozostávajúcu z čísla riadku a stĺpca [4]. Obr. 17. Symetrické páry, obrázok podľa knihy Lee: Programming Sudoku [4] Na obrázku sú dva páry symetrických pozícií. Políčko [2, 1] je symetrické s políčkom [8, 9], políčko [1, 4] s [9, 6]. Súčet hodnôt v riadku a v stĺpci bude vţdy 10. Takto si moţno určiť dopredu ktoré políčka budú ohodnotené alebo prázdne. Všeobecne je dvojica vyjadrená [x, y] a [10 - x, 10 - y], kde x je celé číslo z intervalu <1; 9> Aby sme si boli istí ţe zadanie bude symetrické, treba si určiť pozície prázdnych (alebo vyplnených) políčok. Rozdelí sa sudoku mrieţku na 2 časti, viď obrázok č. 14., kde je mrieţka rozdelená na 2 časti podľa stredovej súmernosti, políčka s kríţikom v jednej aj druhej časti sú stredovo súmerné podľa stredu mrieţky. Obr. 18. Rozdelenie mrieţky na 2 časti, obrázok podľa knihy Lee: Programming Sudoku [4] 19

24 V tejto fáze ešte nie sú vybraté presné pozície na ktorých sa budú nachádzať čísla, ani prázdne políčka. Toto bol iba náčrt ako spraviť symetrický vstup. Samotný výber políčok bude popísaný o pár riadkov niţšie. No výber bude na základe týchto pravidiel. T.j. ak niţšie bude hovorené o náhodnom vybraní políčka, bude sa vyberať políčko z hornej časti mrieţky (obrázok číslo 14. naľavo) a hneď potom sa rovnaká operácia (výber, testovanie) vykoná aj spolu s jeho symetrickou pozíciou. Teda v jednom kroku sa spracujú a vyhodnotí stav pre obe odobrané (prípadne pridané, v závislosti od štýlu generovania) pozície. Uţ je známe podľa čoho určíme zloţitosť vygenerovaného hlavolamu, ako prispôsobiť logiku výberu prvkov aby hlavolam nejako vyzeral. Na to aby sa dala určiť zloţitosť je treba mať vygenerované zadanie. Pri generovaní je nutné aby bol k dispozícii solver, ktorý dokáţe rýchlo nájsť riešenie, dokáţe zistiť či zadanie nemá viacero riešení alebo prípadne nemá ţiadne riešenie. V zásade existujú 2 prístupy na generovanie zadania. Prvý spôsob vychádza z prázdnej mrieţky. Bude sa pridávať postupne po jednom políčku, následne treba kontrolovať čí má takto zadaný hlavolam práve jedno riešenie. Zo začiatku bude mať zadanie vţdy viacero riešení, postupným pridávaním sa mnoţina riešení bude zuţovať. Ak po pridávaní by nastala nejaká kolízia, najčastejšie keď sa pridáva náhodným generovaním, treba vrátiť generovanie zadania o krok späť (alebo o iný počet krokov, aj náhodných) a generovať znovu. Po čase nastane fáza, kedy zadanie bude mať uţ iba jedno riešenie. Skontroluje sa či počet prázdnych políčok korešponduje s predpokladanou hodnotou obťaţnosti (Tabuľka č. 1 v časti Tabuľky). Ak áno, moţno prestať pridávať políčka. Druhý postup vychádza z plne vyplnenej mrieţky. Postupne odoberáme políčka a kontrolujeme či daný vstup má jediné riešenie. Stavy generovania hlavolamu keď zadanie má jediné riešenie si treba pamätať, lebo ak sa dostaneme do bodu, kde solver ohodnotí vstup ako vstup s viacerými riešeniami, treba sa vrátiť o krok späť (alebo o viacero krokov), do stavu kde zadanie malo práve jedno riešenie. Vyskúšame ostatné hodnoty odstrániť, ak po odstránení zadanie bude mať jedno riešenie, stav generovania zaznamenáme. A generujeme dovtedy pokiaľ počet prázdny políčok korešponduje s predpokladanou hodnotou obťaţnosti (Tabuľka č. 1 v časti Tabuľky). V mojom prípade keď je treba vytvárať ťaţké sudoku budem odstraňovať bunky pokiaľ sa bude dať. V tomto druhom prípade sa však treba rozhodnúť, z akej počiatočnej mrieţky budem vychádzať. Má vplyv zadaná mrieţka na výslednú obťaţnosť vygenerovaného hlavolamu 20

25 alebo nie? Testoval som diabolské vstupy, kde bolo zadaných iba 17 políčok. Tie som pomocou solvera vyriešil (jednalo sa o jediné riešenie) a z toho riešenia som odoberal políčka. V prvej fáze som sa snaţil iba minimalizovať vstup. Dostal som sa na zostatok políčok (zostatok = políčka čo budú zadané, ostatné sú prázdne). Podľa Tabuľky 1 sa jedná o Veľmi náročné zadanie, čas výpočtu výsledku sa pohyboval okolo 10 ms. Pri testoch na ľahkých vstupoch (zostatok 36 a viac), po vyriešení a pokuse minimalizovať vstup testovanie udávalo zostatok políčok vyplnených. Teda vstupné pole nemá vplyv na zostatok vyplnených políčok. V tomto prípade sa jednalo o náhodné odoberanie políčok a vyhodnotenie času riešenia počítačom. Keby ich odoberám cielene, aby sa riešiteľovi ťaţko dali pouţiť logické pravidlá, pravdepodobne rozdiel nastane. Preto vţdy bola vytvorená nová, náhodná. Pri generovaní zadania budem postupovať druhým spôsobom. Generovanie bude tvoriť nasledujúca séria krokov: 1. Začiatok s prázdnou mrieţkou 2. Naplnenie všetkých buniek hodnotami 3. Odobratie hodnoty z jednej príslušnej bunky a. Je takéto zadanie riešiteľné logickými pravidlami? i. ÁNO pokračovanie krokom číslo 3. ii. NIE obnovenie stavu generovania na stav keď zadanie malo riešenie, pokračovanie krokom číslo 3. Ak sa vyčerpali zostávajúce moţnosti, uţ nie je čo odstrániť aby vstup mal riešenie, pokračujem krokom číslo 4. b. Hodí sa súčasný stav zadania do dopredu určenej kategórie náročnosti? i. ÁNO pokračovanie krokom číslo 3. ii. NIE obnovenie stavu generovania na stav keď zadanie spadalo do určenej náročnosti, pokračovanie krokom číslo Koniec generovania zadania, zadanie je vygenerované 21

26 1.4. Analýza existujúcej aplikácie Svoju aplikáciu porovnám s komerčnou aplikáciou od SadMan Software Sudoku. Je to veľmi kvalitná a komplexná aplikácia. Aplikácia stojí takmer 15 dolárov. Pre testovanie som pouţil 30 dňovú voľnú skúšobnú verziu, stiahnuteľnú priamo na internetovej stránke SadMan Software ( Aplikácia dokáţe vytvoriť sudoku podľa zadanej obtiaţnosti, vyriešiť zadaný vstup. Pouţívateľ pri riešení sudoku si tu môţe vpisovať poznámky (angl. pencil marks ) do políčok, nemôţe spraviť jednoduchú chybu, program ho na očividný rozpor s pravidlami umiestňovania čísel upozorní. Obr. 19. Vzorová aplikácia Aplikácia dokáţe: Vygenerovať sudoku podľa zadanej obtiaţnosti Napomáha pouţívateľovi v riešení (pre moje potreby nezaujímavé) 22

27 Ohodnotiť náročnosť zadaného vstupu Vyriešiť zadané sudoku (ľudským prístupom) Zvoliť pouţitie rôznych ľudských techník riešenia Obr. 20. Moţnosť výberu techník riešenia v aplikácii od SadMan Software Túto aplikáciu som si zvolil som si ju pretoţe je blízka môjmu zadaniu a je vhodná na testovanie. Svoj výstup vloţím ako vstup do tejto aplikácie a nechám ohodnotiť zloţitosť. Vzorová aplikácia pozná tieto kategórie obtiaţnosti (uvádzať budem ich originálne názvy ako sú v aplikácii, v angličtine): 1. Simple 2. Easy 3. Mild 4. Moderate 5. Hard 23

28 6. Very Hard 7. Fiendish 8. Diabolical 9. Not Solved Pozn.: Posledná kategória obtiaţnosti neznamená ţe by zadanie nebolo riešiteľné, je to expresívny výraz pre najťaţšiu kategóriu sudoku- neriešiteľné. Sudoku tejto najťaţšej kategórie je riešiteľné iba metódou Pokus a Omyl. Do istého bodu samozrejme ide sudoku riešiť pouţitím všetkých ostatných pravidiel, ale nastane bod, kde sa nedá aplikovať ţiadne z logických pravidiel. Takéto sudoku patrí do kategórie Not Solved. Túto terminológiu pre kategórie obtiaţnosti budem pouţívať v nasledujúcej kapitole Merania a výsledky. Vzhľadom na to, ţe týchto skupín je aţ 9 rozhodol som sa ich pospájať do dvojíc. Napríklad v grafoch budú kvôli prehľadnosti- menšiemu počtu kategórií pouţité nasledovné kategórie: 1. Simple + Easy 2. Mild + Moderate 3. Hard + Very Hard 4. Fiendish + Diabolical 5. Not Solved 2. Opis riešenia problému Rozhodol som sa generovať asymetrické sudoku. Symetrické zadania hlavolamu sťaţovali nájdenie čo najťaţšieho výstupu. V analýze som sa zaoberal touto moţnosťou, ale vo finálnej verzii som sa rozhodol ju nezabudovať. V kapitole 3.1 iba porovnám moţnosti vygenerovania ťaţkého symetrického a asymetrického hlavolamu a ukáţem ţe asymetrické sú náročnejšie. 24

29 Ohodnocovanie náročnosti je implementované ako bolo navrhnuté v časti analýza, konkrétne podľa tabuľky č. 2 (v časti Príloha). Na konci bude sudoku ohodnotené okrem predchádzajúceho spôsobu aj na základe myšlienky z kapitoly 1.3.1, ktorá pokladá za náročnejšie to sudoku, ktoré má čo najmenej moţností na doplnenie buniek v prvom kroku. Tomuto spôsobu bude priradené istá váha, aby boli oba tieto princípy v rovnováhe. Výsledné ohodnotenie bude teda kombináciou týchto dvoch princípov. Pre nájdenie čo najťaţšieho sudoku budem postupovať po istých skokoch. Odoberiem istý počet (označme ho X) buniek a potom sa pokúsim vyriešiť dané sudoku logickými pravidlami, bude zaznamenané aké kroky boli pouţité a na základe toho bude určená zloţitosť nájdenia riešenia v danom kroku. Ohodnotenie kroku a stav hlavolamu bude uloţený. Potom sa stav hlavolamu obnoví a algoritmus skúsi odstrániť ďalších X buniek. Následne sa porovná ktorý zo skokov vytvoril ťaţšie zadanie a to sa uloţí. Vyberať sa bude z Y rôznych kombinácií odstránenia X buniek. Algoritmus bude teda hľadať lokálne optimá. Pretoţe aby som sa vyhol tomu, ţe sa dostanem do istej vetvy riešenia kde aj dostanem pomerne kvalitné riešenie, no ľahko by sa dalo nájsť aj lepšie, preto algoritmus hľadá najlepšie, najťaţšie zadanie sudoku pre väčšie intervaly, algoritmus hľadá a postupuje po lokálnych optimách. Nasleduje náčrt kódu pre interval 10 a algoritmus hľadá maximum pre 10 rôznych kombinácií odstránenia buniek. vstup = vytvor_sudoku(); for (i = 0; i < 7; i++) { tmp = vstup; for (iter2 = 0; iter2 < 10; iter2++) { vstup = tmp; for (iter1 = 0; iter1 < 10; iter1++) { k = vyber_bunky_na_odstranenie(vstup.pole); vstup.pole[k] = '.'; } 25

30 ohodnotenie_skoku = ludske_riesenie(vstup.pole); if (ohodnotenie_kroku > max_ohodnotenie_kroku) lok_max = vstup; } vstup = lok_max; } sudoku_print(vstup.pole); Napríklad v prípade veľkosti kroku 10 nemôţe nastať situácia, ţe by sa algoritmus pokúšal vygenerovať sudoku o počte políčok ktoré je násobkom desiatich. Teda posledná desiatka odstraňovaní buniek sa nemusí vykonať nevyhnutne celá. Obdobne aj pre rôzne iné veľkosti kroku. Na základe vedomostí získaných pri testovaní (kapitola 3.1.1) stojí za vyskúšanie moţnosť generovať ťaţké zadania metódou náhodného výberu buniek z plne vyplnenej mrieţky (minimalizovaním počtu zadaných buniek) a následného vyhodnotenia zloţitosti vygenerovaného sudoku. Ak by zloţitosť bola nízka, výstup by bol zahodený a generovalo by sa znova, aţ kým sa nevytvorí zadanie o poţadovanej náročnosti. Keďţe jednoduchým minimalizovaním vstupu aţ na zadaných buniek sa 10% sudoku dostalo ohodnotením vzorovou aplikáciou aţ na najvyššiu zloţitosť- Not Solved. Zadanie by takto bolo vytvorené pravdepodobne rýchlejšie ako keby sa vytváralo rovno náročné. Tieţ by bolo v priemere menej buniek zadaných, čo môţe jemne napomôcť aby zadanie bolo ešte ťaţšie. Vyššie uvedený blok kódu predstavuje logiku výberu buniek na odstránenie. Za zmienku stojí ešte popis funkcie int ludske_riesenie(char *pole). V nej boli volané jednotlivé ľudské postupy riešenia v poradí od najjednoduchších po najzloţitejšie. Ak sa našlo riešenie pre bunku X istým algoritmom simulujúcim ľudské riešenie, ďalej uţ algoritmus neskúšal aplikovať ďalšie pokročilejšie funkcie na nájdenie hodnoty v bunke, resp. na eliminovanie kandidátov. Daný ľudský postup riešenia bol zaznamenaný (implementačne je to iba inkrementácia počítadla toho- ktorého postupu). Po vyriešení celej mrieţky bola zohľadnená váha (náročnosť) kaţdého postupu a pripočítaná do výslednej obtiaţnosti. Váha jednotlivých ľudských postupov riešenia, ktoré boli pouţité v programe: 26

31 Technika Váha Naked Single 1 Hidden Single 2 Block +... Interaction 2 Naked Subset (Naked Pair Naked Triplet Naked Quad) Hidden Subset 1 + (početnosť 1) (2 3 4) 2 + (početnosť 1), analogicky ako predch. X-Wing 4 Swordfish 6 XY-Wing 8 Forcing Chains XY-Chains Trial & Error 2 * (dĺţka reťaze ) 4 * (dĺţka reťaze ) 5 * (hĺbka stromu tipovania) Tabuľka 4 Váha jednotlivých ľudských techník riešenia sudoku Najväčšiu časť programu zaberala simulácia jednotlivých ľudských postupov riešenia. Implementoval som ľudské techniky riešenia uvedené v kapitole s výnimkou posledných dvoch uvedených ľudských techník Colouring a Remote Pairs. 3. Merania a výsledky V nasledujúcej časti prezentujem výsledky svojej práce. Na získanie výsledkov som pouţil mnou vytvorenú aplikáciu. Aplikácia je poňatá čisto na zbieranie výsledkov, aby sa uľahčilo štatistické vyhodnocovanie. 27

32 3.1. Merania Meranie a testovanie riešenia pribiehalo v dvoch fázach. Najprv sa vytvorilo sudoku mojím programom, následne ten výstup šiel na vstup (vstup zo súboru) do vzorovej aplikácie, ktorá ho ohodnotila. Postup bol testovaný na rôznych verziách a modifikáciách programu Minimalizovanie počtu zadaných polí Na začiatku ukáţem ţe rozloţenie čísel vo vyriešenom sudoku nemá významný vplyv na náročnosť hlavolamu, vytvoreného odstraňovaním čísel z buniek. A tieţ to ţe počet vyplnených buniek nie je hlavné kritérium náročnosti. Sudoku som generoval odoberaním buniek z plne vyplnenej mrieţky. Časť vstupov bola z konštantnej mrieţky (t.j. vznikli odoberaním zo stále tej istej mrieţky), časť bola generovaná z náhodne vyplnenej mrieţky. Rozloţenie čísel vo vyriešenom sudoku nemá významný vplyv na náročnosť hlavolamu, vytvoreného odstraňovaním čísel z buniek. Pouţitie konštantného vstupu mal význam iba pri pokuse dosiahnuť čo najmenej vyplnených polí. Minimalizovať vstup sa mi podarilo na 19 vyplnených buniek. Absolútne známe minimum tak aby hlavolam mal riešenie je 17. Nie je ale jasné, či dané minimum je dosiahnuteľné pre "vyplnené" sudoku pouţívané na generovanie odstraňovaním čísel. Minimalizovaním počtu zadaných políčok som sa venoval iba okrajovo a pomerne triviálne. Pri jednoduchom náhodnom odstraňovaní čísel z vyplneného sudoku aţ do situácie, kedy nejdú ďalšie bunky odstrániť bez porušenia jednoznačnosti riešenia vyplýva, ţe z počtu vyplnených políčok v takto vytvorenom zadaní sudoku sa nedá usudzovať na jeho náročnosť. Na grafe č. 2 je zobrazená početnosť hlavolamov zatriedených do rôznych kategórií obtiaţnosti. Hlavolamy boli generované iba odoberaním buniek, aby počet vyplnených polí bol čo najmenší. Vstupná mrieţka bola minimalizovaná čo najviac. Výstup môjho programu bol vstupom pre vzorovú aplikáciu (kapitola 1.3.3), ktorá ohodnotila vstup. Dostal som nasledovné výsledky: 28

33 Graf 2. Zaradenie hlavolamov do kategórií náročností pri minimalizovaní mrieţky Graf 3. Percentuálne rozdelenie hlavolamov do kategórií pri minimalizovaní mrieţky Z vyššie uvedených dvoch grafov vyplýva, ţe iba jednoduchým minimalizovaním vstupnej mrieţky nie je moţné stabilne dosiahnuť náročnejšie zadanie. Väčšinu sudoku by bolo moţné vyriešiť pouţitím jednoduchých pravidiel. Iba náhodou sa vygenerovali aj ťaţké zadania. To ţe minimalizovaním sa vytvárajú iba náhodné riešenia potvrdím ďalším grafom, na ktorom je zobrazený priemerný počet zadaných buniek v závislosti od kategórie náročnosti v ktorej sa nachádza, viď. graf č

34 Graf 4. Závislosť priemerného počtu zadaných buniek od kategórie náročnosti Je vidno, ţe pri značnom počte meraní (spolu meraní) sa rozsah minimalizácie dostal do intervalu 22,4 aţ 22,85, čo predstavuje minimálnu odchýlku. Konkrétne to znamená, ţe keď je zadaných napríklad 22 polí, nemoţno iba na základe toho prehlásiť ţe dané sudoku je ťaţké alebo jednoduché Vytváranie diabolského sudoku V druhej časti, ktorá bola hlavnou náplňou môjho zadania som generoval sudoku skutočne náročné pre ľudského riešiteľa. Náročnosť zadania nemala nič spoločné s počtom zadaných buniek. Sudoku som vytváral odoberaním buniek z plne vyplnenej mrieţky. Vyplnená bola vţdy inými, náhodnými hodnotami. Spôsob ohodnocovania náročnosti riešenia: Aby som sa dostal k čo najlepšiemu riešeniu, sudoku som neohodnocoval aţ na konci, po ukončení odoberania buniek, ale priebeţne. Pouţil som heuristiku, ktorá hľadá lokálne optimá. Veľkosť lokality je voliteľná, bude to jeden z meniacich sa parametrov pri vyhodnocovaní výsledku. Heuristika odstráni istý počet buniek (napríklad 10) a potom ohodnotí náročnosť takéhoto vstupu. Toto ohodnocovanie urobí daný počet krát (tieţ napríklad 10 krát) a hľadá maximálne ohodnotenie, vstup kde bolo sudoku najťaţšie. To si zapamätá a ďalej pokračuje uţ s odstránenými 30

35 bunkami. Nepredpokladal som, ţe by malo význam ohodnocovať náročnosť sudoku po kaţdej odobratej bunke a z tých hodnôt hľadať maximum. Rovnako by nebolo dobré ohodnocovať aţ finálny stav hlavolamu. Pretoţe odstraňovanie by sa vyvíjalo úplne náhodne, bez ţiadneho zásahu vyššieho pravidla. Môj postup je kombináciou týchto dvoch extrémov. Odstráni prvých 10 buniek aby zadanie bolo čo najťaţšie, potom druhých 10 buniek aby nové zadanie bolo čo najťaţšie a tak ďalej. Sudoku sa generuje po takýchto skokoch. Prvé skoky budú ohodnotené nízko, všetky bunky pôjdu doplniť základnými pravidlami, ale pri štvrtom, piatom a šiestom skoku sú dosahované rozhodujúce zlepšenia. Graf 5. Zaradenie diabolských hlavolamov do kategórií náročností Graf 6. Percentuálne rozdelenie diabolských hlavolamov do kategórií 31

36 Z uvedených grafov vyplýva, ţe sa mi podarilo vytvoriť program, ktorý vytvára náročné sudoku. 2/3 sudoku bolo vzorovým programom ohodnotených ako Not Solved. Je to značný rozdiel oproti náhodnému odoberaniu buniek v časti , kde Not Solved bolo iba 10% hlavolamov. Celkovo aj v ostatných kategóriách došlo k výraznému posunu k náročnejším zadaniam. Takmer 90% vygenerovaných sudoku bolo označených vzorovou aplikáciou za diabolské a ťaţšie. Z tejto časti riešenia stojí za zmienku aj nasledujúci graf. Ukazuje ako nevplýva počet zadaných polí na náročnosť hlavolamu. Jedná sa o potvrdenie grafu č. 4 v kapitole Graf 7. závislosť priemerného počtu zadaných buniek od kategórie náročnosti Porovnanie rôznych prístupov riešenia Na nasledujúcom grafe (graf č. 8) sú zobrazené výsledky oboch prístupov k riešeniu. Minimalizácia počtu zadaných buniek je náhodné odoberanie, bez akejkoľvek vyššej logiky. Preto aj väčšina takých zadaní bola ohodnotená ako jednoduchá. Ale značné percento takto vytvorených hlavolamov bolo ohodnotené ako náročné. Minimalizáciou počtu zadaných polí sa vytvoril hlavolam v priemere o počte 22,6 zadaných buniek. Podľa Tabuľky č. 1 (v Prílohe) by sa malo jednať o extrémne náročné sudoku. Pri tak nízkom počte zadaných buniek existuje reálna pravdepodobnosť, ţe zadanie bude náročné. Keďţe zadanie bude obsahovať málo buniek, vylúči sa jednoduché pouţitie logických pravidiel pri riešení. Oproti tomu pri 32

37 generovaní sudoku postupným ohodnocovaním stavov podľa ľudských postupov riešenia boli dosiahnuté oveľa náročnejšie zadania aj pri vyššom priemernom počte zadaných buniek (24,5 zadaných buniek). Graf 8. Rozdiel medzi náhodným generovaním (rad minimalizuj ) a generovaním ťaţkého sudoku (rad diabolské ) Nasledujúca tabuľka poskytuje stručné porovnanie rôznych metód pri generovaní sudoku. Kategórie obtiaţnosti som zúţil iba na ľahšie a ťaţšie. Do ľahkých patria kategórie Simple, Easy, Mild, Moderate. Do ťaţších patria ostatné kategórie, menovite Hard, Very Hard, Fiendish, Diabolical a Not Solved. Priemerný počet zadaných polí % ľahších % náročnejších Počet testovaní Minimalizuj 22,6 58% 42% Diabolské 24,5 4% 96% Symetrické diabolské 26,1 16% 84% 400 Tabuľka 5 Porovnanie jednotlivých prístupov generovania sudoku 33

38 V tabuľke je moţné vidieť ako obstálo symetrické sudoku. Dali sa generovať ťaţké hlavolamy, ale v menšom počte. Prvý viditeľný fakt je uţ v počte zadaných polí. Je ich viac ako v prvých dvoch prípadoch. Pokusom o symetriu sa zuţujú moţnosti na vytvorenie lepšieho riešenia. Preto nastal aj mierny posun v ohodnotení smerom k ľahším zadaniam. Napriek tomu sa darilo generovať náročné symetrické sudoku. Asymetrické boli však o niečo početnejšie. Nasledujúci graf ukazuje presne aké percentá boli dosiahnuté. Graf 9. Percentuálne rozdelenie symetrických sudoku do kateorií náročností 3.2. Zhrnutie Podarilo sa mi vytvoriť aplikáciu ktorá vytvára náročné sudoku. Sústredil som sa na vytvorenie čo najťaţšieho vstupu, preto som nedbal na časovú náročnosť výpočtu. Boli vyskúšané viaceré spôsoby tvorby náročných sudoku. Vo všeobecnosti šlo v zadaní o to, aby vo vytvorenom sudoku nešli pri riešení pouţiť jednoduché pravidlá, resp. aby tieto pravidlá sa pouţívali čo najmenej. Konkrétne pri diabolskom sudoku bolo vyţadované aby sa ťaţko pouţívali aj zloţitejšie pravidlá. Najlepšie ohodnotené, najťaţšie sudoku je vtedy, keď čo najviac políčok treba zisťovať metódou Pokus a Omyl, analogický spôsob počítačovému prehľadávaniu do hĺbky. Nie vţdy sa mi podarilo vygenerovať diabolské sudoku. V istých percentách prípadov sa vytvorilo iba Hard aţ Moderate. Je to dôsledok pravdepodobne istej implementačnej chyby 34

39 v náročnejších ľudských postupoch riešenia alebo nie práve najvhodnejší výber buniek na odstránenie. Ďalej som dokázal, ţe počet zadaných buniek nemá zásadný vplyv na zloţitosť riešenia. Ďalším krokom v riešení by bolo generovanie sudoku podľa zadanej náročnosti. Bolo by treba tomu jemne prispôsobiť riešenie. Tomuto som sa však teraz nevenoval. Rovnako som neimplementoval grafické pouţívateľské rozhranie, čo predstavuje ďalší bod ktorý by šiel zlepšiť. Aplikácia je architektonicky navrhnutá tak, ţe jej funkcionalita bude ľahko rozšíriteľná, napríklad rozšírením o vyššie uvedené zlepšenia. 35

40 Zdroje [1] Dase, Pamela. Learn & Play Sudoku. Shell Education, strana ISBN: [2] Valaška, Ján. Sudoku ako kognitívny problém. Bratislava: FIIT STU, strana Bakalársky projekt [3] Wilson, Robin. How to Solve Sudoku: A Step-By-Step Guide. Infinite Ideas, ISBN URL: Návrhy obrázkov pouţitia jednotlivých ľudských techník (prístup ) (prístup ) (prístup ) [4] Lee, Wei Meng. Programming Sudoku. Springer-Verlag New York: Apress, Chapter 6. ISBN Obrázky číslo 17 a 18 sú z elektronickej verzie tejto knihy [5] pouţitý sudoku solver: (prístup ) [6] URL: testované diabolské vstupy sudoku, iba 17 zadaných buniek (prístup ) 07.pdf [7] Valaška, Ján. Sudoku ako kognitívny problém. Bratislava: FIIT STU, kapitola 6: Merania a výsledky. Bakalársky projekt [8] pouţitý generátor na úplné vyplnenie vstupnej mrieţky (iba 2 funkcie): (prístup ) 36

41 Príloha A: Tabuľky Level Prázdne políčka Vyplnené políčka 1. Easy Medium Difficult Extremely Difficult Tabuľka 1 - určenie úrovne náročnosti, [4] Technika Body CRME 1 Osamelé hodnoty vo štvorci, stĺpci a riadku 2 Nájdenie dvojíc vo štvorcoch, stĺpcoch a riadkoch 3 Nájdenie trojíc vo štvorcoch, stĺpcoch a riadkoch 4 Eliminácia hrubou silou 5 Tabuľka 2 - ohodnotenie techník riešenia, [4] 37

42 B: Technická dokumentácia Opis aplikácie Program je implementovaný v programovacom jazyku C v programovacom prostredí MS Visual C Jedná sa o konzolovú aplikáciu. Aplikácia je poňatá na ľahký zber čo najväčšieho mnoţstva dát. Výstup je moţné presmerovať do textového súboru, kde bude vo vhodnom formáte zobrazené výsledné riešenie. Vhodný formát je taký, ktorý podporuje aj vzorová aplikácia, aplikácia na ktorej boli testované moje riešenia. Aplikácia podporuje generovanie väčšieho mnoţstva hlavolamov na jedno spustenie. Výsledky sa ukladajú do pamäte a aţ na konci programu sú vypísané naraz na obrazovku alebo presmerované do súboru. Spolu s výslednými zadaniami sú vo výsledku zobrazené aj dodatočné informácie k danému výstupu (čas generovania a číselné ohodnotenie zloţitosti). Program je rozdelený na viacero zdrojových súborov, aby korešpondovali s logickým návrhom aplikácie. Konkrétne rozdelenie na triedy, moduly som spravil do zdrojových *.ccp súborov. Súbor generator.cpp ludske_postupy.cpp pomocny.cpp solver.cpp + Funkcionalita V súbore... sa nachádzajú 2 funkcie, ktoré vytvoria vyplnenú sudoku mrieţku. Z tejto mrieţky budem v ďalších častiach bunky odoberať. Telo funkcií je prevzaté zo zdroja na internete [8]. V súbore sa nachádzajú implementované techniky simulujúce ľudské techniky riešenia. V tomto zdrojovom súbore sú definované pomocné funkcie slúţiace na pseudonáhodný výber, formátovanie výstupov... Vo viacero zdrojových súboroch sa nachádza prevzatý program na riešenie sudoku [5]. Dokáţe identifikovať 38

43 constants.cpp + xmalloc.cpp testuj.cpp main.cpp neexistujúce alebo viacnásobné riešenia. Bol pouţívaný na priebeţné testovanie či nenastala chyba pri generovaní výsledného zadania sudoku. V súbore sa nachádzajú funkcie ktoré ohodnocujú zadané sudoku alebo jeho časť na základe pouţitých ľudských metód a priraďuje im istú váhu, zloţitosť. V tomto súbore sa nachádza funkcia main(), 2 spôsoby generovania sudoku (minimalizovanie vstup. mrieţky a inteligentné vytváranie náročného zadania) a štatistické vyhodnocovanie výsledkov. Tabuľka 3 Opis funkcionality jednotlivých zdrojových súborov Obr. 21. Diagram komponentov 39

Microsoft Word - Priloha_1.docx

Microsoft Word - Priloha_1.docx Obsah 1 Úvod... 1 2 Hlavné menu verejnej časti ITMS2014+... 1 3 Zoznam ŽoNFP na verejnej časti ITMS2014+... 2 3.1 Vyhľadávanie ŽoNFP... 2 3.2 Horná lišta zoznamu ŽoNFP... 2 3.3 Stĺpce zoznamu ŽoNFP...

Podrobnejšie

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovská cesta 1, 034 01 Ružomberok, Slovakia e-mail: marian.trenkler@ku.sk

Podrobnejšie

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak,

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak, SK MATEMATICKA OLYMPIADA 2010/2011 60. ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak, aby matematické operácie boli vypočítané správne.

Podrobnejšie

Metódy násobenie v stredoveku

Metódy násobenie v stredoveku 1 Lucia Pekarčíková História matematiky Metódy násobenia v stredoveku (Referát) Lucia Pekarčíková 1.roč. II.stupňa Mat Inf ÚVOD V dobe ranného stredoveku sa v Európe všeobecne nepoužíval abakus, nerobili

Podrobnejšie

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, pričom to je veľmi dôležitá súčasť úlohy. Body sa udeľovali

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 6 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program COACH na meranie otvoríme kliknutím na ikonu Autor na obrazovke, potom zvolíme Užívateľskú úroveň Pokročilý

Podrobnejšie

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - CREPČ 2 Manuál pre autorov (aktualizované dňa 18.3.2019)

Podrobnejšie

Microsoft Word - Zaver.pisomka_januar2010.doc

Microsoft Word - Zaver.pisomka_januar2010.doc Písomná skúška z predmetu lgebra a diskrétna matematika konaná dňa.. 00. príklad. Dokážte metódou vymenovaním prípadov vlastnosť: Tretie mocniny celých čísel sú reprezentované celými číslami ktoré končia

Podrobnejšie

Microsoft Word - skripta3b.doc

Microsoft Word - skripta3b.doc 6. Vlastnosti binárnych relácií V tejto časti sa budeme venovať šiestim vlastnostiam binárnych relácií. Najprv si uvedieme ich definíciu. Reláciu R definovanú v množine M nazývame: a ) reflexívnou, ak

Podrobnejšie

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia Matice Užívateľská dokumentácia k programu Autor: Miroslav Jakubík 2009 Obsah 1 Úvod... 2 1.1 Stručný popis programu... 2 1.2 Spustenie programu... 2 1.3 Otvorenie dokumentu... 3 1.4 Ovládanie programu...

Podrobnejšie

bakalarska prezentacia.key

bakalarska prezentacia.key Inteligentné vyhľadávanie v systéme na evidenciu skautských družinových hier Richard Dvorský Základné pojmy Generátor družinoviek Inteligentné vyhľadávanie Ako to funguje Základné pojmy Skautská družina

Podrobnejšie

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto Tue Oct 3 22:05:51 CEST 2006 2. Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, ktoré si postupne rozoberieme: dátové typy príkazy bloky

Podrobnejšie

1)

1) Prijímacia skúška z matematiky do prímy gymnázia s osemročným štúdiom Milá žiačka/milý žiak, sme veľmi radi, že ste sa rozhodli podať prihlášku na našu školu. Dúfame, že nasledujúce úlohy hravo vyriešite

Podrobnejšie

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1 Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1 Prihláste sa do aplikácie pomocou prihlasovacích údajov pre spravodajskú jednotku. Link na aplikáciu: http://isis.statistics.sk/

Podrobnejšie

Teória pravdepodobnosti Zákony velkých císel

Teória pravdepodobnosti Zákony velkých císel 10. Zákony veľkých čísel Katedra Matematických metód Fakulta Riadenia a Informatiky Žilinská Univerzita v Žiline 6. apríla 2014 1 Zákony veľkých čísel 2 Centrálna limitná veta Zákony veľkých čísel Motivácia

Podrobnejšie

Katalóg cieľových požiadaviek k maturitnej skúške

Katalóg  cieľových požiadaviek  k maturitnej skúške CIEĽOVÉ POŽIADAVKY NA VEDOMOSTI A ZRUČNOSTI MATURANTOV Z INFORMATIKY BRATISLAVA 2019 Schválilo Ministerstvo školstva, vedy, výskum a športu Slovenskej republiky dňa 12. júna 2019 pod číslom 2019/2049:2-A1020

Podrobnejšie

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r SK MATEMATICKÁOLYMPIÁDA skmo.sk 009/010 59. ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných reálnych čísel, ktoré sú riešením sústavy rovníc a b c

Podrobnejšie

Základné informácie k papierovej forme testovania žiakov 5. ročníka ZŠ T September 2016 NÚCEM, Bratislava 2016

Základné informácie k papierovej forme testovania žiakov 5. ročníka ZŠ T September 2016 NÚCEM, Bratislava 2016 Základné informácie k papierovej forme testovania žiakov 5. ročníka ZŠ T5-2016 September 2016 TESTOVANIE T5-2016 TERMÍN TESTOVANIA TESTOVANIE JE URČENÉ CIELE TESTOVANIA TESTY ADMINISTRUJÚ TESTOVANÉ PREDMETY

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 5 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program IP- COACH na meranie otvoríme kliknutím na ikonu na obrazovke: Obr.1 Voľba úlohy na meranie Po kliknutí

Podrobnejšie

eKasa

eKasa Používateľská príručka Systém ekasa ekasa zóna (Portál podnikateľa - Prevádzkar) OBSAH Základné informácie o spoločnosti... 3 História zmien... 4 Obsah... 2 1 E-kasa zóna portál podnikateľa... 3 1.1 O

Podrobnejšie

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA Súkromné gymnázium, Česká 10, 831 03 Bratislava INFORMATIKA ÚVOD Cieľom maturitnej skúšky z informatiky je zistiť u žiakov najmä úroveň: - schopností riešiť algoritmické problémy, - schopností zdokumentovať

Podrobnejšie

Microsoft Word - zapis-predmetov-AiS

Microsoft Word - zapis-predmetov-AiS Zápis predmetov do AiS na aktuálny akademický rok Pred zápisom predmetov Vám odporúčame pozorne si prečítať študijný plán pre Váš študijný program. Môžete si ho zobraziť v AiSe kliknutím na "Študijné programy"

Podrobnejšie

Microsoft Word - 6 Výrazy a vzorce.doc

Microsoft Word - 6 Výrazy a vzorce.doc 6 téma: Výrazy a vzorce I Úlohy na úvod 1 1 Zistite definičný obor výrazu V = 4 Riešte sústavu 15 = 6a + b, = 4a c, 1 = 4a + b 16c Rozložte na súčin výrazy a) b 4 a 18, b) c 5cd 10c d +, c) 6 1 s + z 4

Podrobnejšie

(Microsoft Word Zadanie na s\372\235a\236 KROS DESIGN AWARD .doc)

(Microsoft Word Zadanie na s\372\235a\236 KROS DESIGN AWARD .doc) Podklady pre súťaž KROS DESIGN AWARD Úlohou účastníkov súťaže KROS DESIGN AWARD je navrhnúť 4 formuláre aplikácie. Pre každý formulár sú špecifikované položky, ktoré bude nutné v danom formulári editovať/zobraziť.

Podrobnejšie

Paralelné algoritmy, cast c. 2

Paralelné algoritmy, cast c. 2 Paralelné algoritmy, čast č. 2 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2009/2010 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy,

Podrobnejšie

Prihlásenie sa do systému AIS2 Pomôcka pre študentov Odoslanie záverečnej práce cez AiS2 Spustite si internetový prehliadač a do riadku s adresou napí

Prihlásenie sa do systému AIS2 Pomôcka pre študentov Odoslanie záverečnej práce cez AiS2 Spustite si internetový prehliadač a do riadku s adresou napí Prihlásenie sa do systému AIS2 Pomôcka pre študentov Odoslanie záverečnej práce cez AiS2 Spustite si internetový prehliadač a do riadku s adresou napíšte https://ais2.umb.sk. Do systému AIS2 sa prihlasujete

Podrobnejšie

bsah

bsah POKYNY PRE EXTERNÝ DOZOR k papierovej forme testovania žiakov 5. ročníka ZŠ T5-2015 25. november 2015 Bratislava Október 2015 Všetky informácie týkajúce sa testovania budú elektronicky zverejnené na internetových

Podrobnejšie

Microsoft Word - pouzivatelska_prirucka.doc

Microsoft Word - pouzivatelska_prirucka.doc ProFIIT 2007 - Používateľská príručka Tento dokument obsahuje používateľskú príručku systému na organizovanie súťaže ProFIIT 2007. Je rozdelená do 3 kapitol. Kapitola 1 obsahuje návod na vytvorenie používateľského

Podrobnejšie

Problémové správanie žiakov stredných škôl;

Problémové správanie žiakov stredných škôl; Zníţená známka zo správania u ţiakov stredných škôl GYMNÁZIÁ RNDr. Mária Slovíková,CSc. Ústav informácií a prognóz školstva Anotácia: Článok obsahuje prehľad základných údajov a porovnanie vývoja podielu

Podrobnejšie

Informačné technológie

Informačné technológie Informačné technológie Piatok 15.11. 2013 Matúš Péči Barbora Zahradníková Soňa Duchovičová Matúš Gramlička Začiatok/Koniec Z K Vstup/Výstup A, B Načítanie vstupných premenných A, B resp. výstup výstupných

Podrobnejšie

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV ZÁVEREČNÁ SKÚŠKA NA KONCI ZÁKLADNÉHO VZDELÁVANIA A

Podrobnejšie

(Manu\341l)

(Manu\341l) Manuál práce so systémom kampane DPNB 1. Základné rozdelenie záložiek v konte súťažiaceho: 1. Súhrn nájdete v ňom zosumarizované informácie o vašich jazdách, celkovom poradí na Slovensku aj v meste, ušetrenom

Podrobnejšie

Prezentace aplikace PowerPoint

Prezentace aplikace PowerPoint Ako vytvárať spätnú väzbu v interaktívnom matematickom učebnom prostredí Stanislav Lukáč, Jozef Sekerák Implementácia spätnej väzby Vysvetlenie riešenia problému, podnety pre konkrétne akcie vedúce k riešeniu

Podrobnejšie

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, 842 16 Bratislava 4 Manažment tagov Tím 24 Študijný program: Inteligentné softvérové systémy, Internetové

Podrobnejšie

ČG_O.L

ČG_O.L Analýza a vyhodnotenie pilotných testov s využitím rôznych štatistických metód Moderné vzdelávanie pre vedomostnú spoločnosť/ Projekt je spolufinancovaný zo zdrojov EÚ Základné ukazovatele testovaní Dva

Podrobnejšie

trafo

trafo Výpočet rozptylovej reaktancie transformátora Vo väčších transformátoroch je X σk oveľa väčšia ako R k a preto si vyžaduje veľkú pozornosť. Ak magnetické napätia oboch vinutí sú presne rovnaké, t.j. N

Podrobnejšie

Pokrocilé programovanie XI - Diagonalizácia matíc

Pokrocilé programovanie XI - Diagonalizácia matíc Pokročilé programovanie XI Diagonalizácia matíc Peter Markoš Katedra experimentálnej fyziky F2-523 Letný semester 2015/2016 Obsah Fyzikálne príklady: zviazané oscilátory, anizotrópne systémy, kvantová

Podrobnejšie

Čo sú pojmové mapy 1 Charakterizácia pojmových máp pojmové mapy sú diagramy, ktoré vyjadrujú podstatné vzťahy medzi pojmami vo forme tvrdení. Tvrdenia

Čo sú pojmové mapy 1 Charakterizácia pojmových máp pojmové mapy sú diagramy, ktoré vyjadrujú podstatné vzťahy medzi pojmami vo forme tvrdení. Tvrdenia Čo sú pojmové mapy 1 Charakterizácia pojmových máp pojmové mapy sú diagramy, ktoré vyjadrujú podstatné vzťahy medzi pojmami vo forme tvrdení. Tvrdenia sú v nich reprezentované stručne charakterizovanými

Podrobnejšie

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, 842 16, Bratislava 4 Internet vecí v našich životoch [IoT] Používateľská príručka - Android Tím:

Podrobnejšie

Pravidelné úlohy verzia ku dňu SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, Bratislava 1, tel.:

Pravidelné úlohy verzia ku dňu SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, Bratislava 1, tel.: Pravidelné úlohy verzia ku dňu 18.11.2009 SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, 811 04 Bratislava 1, tel.: +421 2 5465 0242, fax: 02/5478 9664 podpora: support@customermonitor.sk,

Podrobnejšie

Microsoft Word - mnohouholnik.doc

Microsoft Word - mnohouholnik.doc Výpočet obsahu mnohouholníka Mnohouholník je daný súradnicami svojich vrcholov: A1[x1, y1], A2[x2, y2],..., An[xn, yn]. Aby sme sa vyhli komplikáciám, obmedzíme sa na prípad konvexného mnohouholníka. Súradnice

Podrobnejšie

Microsoft Word - prirucka_katedry_nova

Microsoft Word - prirucka_katedry_nova Práca v systéme BUXUS Príručka pre katedrových redaktorov Michal Minarik michal.minarik@stuba.sk 2 Obsah Prihlásenie do systému BUXUS... 3 Prihlasovacie údaje... 3 Prihlasovacia obrazovka... 3 Úvodné menu...

Podrobnejšie

SRPkapitola06_v1.docx

SRPkapitola06_v1.docx Štatistické riadenie procesov Regulačné diagramy na reguláciu porovnávaním 6-1 6 Regulačné diagramy na reguláciu porovnávaním Cieľ kapitoly Po preštudovaní tejto kapitoly budete vedieť: čo sú regulačné

Podrobnejšie

Tomáš Jelínek - včely vyhľadávanie

Tomáš Jelínek - včely vyhľadávanie Tomáš Jelínek - včely vyhľadávanie Včelí focused crawler Včelí focused crawler sa skladá z dvoch základných modelov správania sa včiel - správanie sa včely v úli (implementoval Tomáš Jelínek) a správanie

Podrobnejšie

NÁVRH UČEBNÝCH OSNOV PRE 1

NÁVRH  UČEBNÝCH  OSNOV  PRE  1 PROGRAMOVANIE UČEBNÉ OSNOVY do ŠkVP Charakteristika voliteľného učebného predmetu Programovanie Programovanie rozširuje a prehlbuje žiacke vedomosti z predchádzajúcich povinného predmetu Informatika. Kompetencie

Podrobnejšie

Priebeh funkcie

Priebeh funkcie Technická univerzita Košice monika.molnarova@tuke.sk Obsah 1 Monotónnosť funkcie Lokálne extrémy funkcie Globálne (absolútne) extrémy funkcie Konvexnosť a konkávnosť funkcie Monotónnosť funkcie Monotónnosť

Podrobnejšie

Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok

Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok Zimný semester akademického roka 2019/2020 13.09.2019 o 9:00 1. Modul Grafika a Textový editor Obrázky:

Podrobnejšie

Tabuľky_teoria

Tabuľky_teoria Tabuľky v programe Microsoft Word Vytvorenie tabuľky Pred samotným vyhotovením tabuľky sa odporúča pripraviť si náčrt, na ktorom sa rozvrhne rozdelenie údajov do riadkov a stĺpcov. Tabuľku vytvoríme pomocou

Podrobnejšie

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st Navigácia po úvodnej stránke elektronickej schránky UPOZORNENIE: Od 1. 1. 2019 sa mení názov odosielateľa správ z Úrad vlády Slovenskej republiky ÚPVS na Ústredný portál verejnej správy. Zoznam zmien:

Podrobnejšie

NSK Karta PDF

NSK Karta PDF Názov kvalifikácie: Architekt informačných systémov Kód kvalifikácie U2511002-01348 Úroveň SKKR 6 Sektorová rada IT a telekomunikácie SK ISCO-08 2511002 / IT architekt, projektant SK NACE Rev.2 J INFORMÁCIE

Podrobnejšie

Ďalšie vlastnosti goniometrických funkcií

Ďalšie vlastnosti goniometrických funkcií Ďalšie vlastnosti goniometrických funkcií Na obrázku máme bod B na jednotkovej kružnici, a rovnobežne s y-ovou osou bodom B vznikol pravouhlý trojuholník. Jeho prepona je polomer kružnice má veľkosť 1,

Podrobnejšie

eKasa

eKasa Používateľská príručka Systém ekasa ekasa zóna (Portál podnikateľa - Technik) OBSAH Základné informácie o spoločnosti... 3 História zmien... 4 Obsah... 2 1 E-kasa zóna portál podnikateľa... 3 1.1 O aplikácii...

Podrobnejšie

Didaktické testy

Didaktické testy Didaktické testy Didaktický test - Nástroj systematického zisťovania výsledkov výuky - Obsahuje prvky, ktoré je možné využiť aj v pedagogickom výskume Druhy didaktických testov A) Didaktické testy podľa

Podrobnejšie

1

1 ADM a logika 5. prednáška Sémantické tablá priesvitka 1 Úvodné poznámky Cieľom dnešnej prednášky je moderná sémantická metóda verifikácie skutočnosti, či formula je tautológia alebo kontradikcia: Metóda

Podrobnejšie

SK MATEMATICKÁOLYMPIÁDA skmo.sk 66. ročník Matematickej olympiády 2016/2017 Riešenia úloh domáceho kola kategórie Z9 1. Vo všetkých deviatich políčkac

SK MATEMATICKÁOLYMPIÁDA skmo.sk 66. ročník Matematickej olympiády 2016/2017 Riešenia úloh domáceho kola kategórie Z9 1. Vo všetkých deviatich políčkac SK MTEMTIKÁOLYMPIÁD skmo.sk 66. ročník Matematickej olympiády 2016/2017 Riešenia úloh domáceho kola kategórie Z9 1. Vo všetkých deviatich políčkach útvaru majú byť vyplnené prirodzené čísla tak, aby platilo:

Podrobnejšie

Študent 1. kapitola Maticová algebra I 1.1 Definícia matice V mnohých prípadoch dáta majú štruktúru dvojrozmernej tabuľky, ktorá má m riadkov a n stĺp

Študent 1. kapitola Maticová algebra I 1.1 Definícia matice V mnohých prípadoch dáta majú štruktúru dvojrozmernej tabuľky, ktorá má m riadkov a n stĺp Študent. kapitola Maticová algebra I. Definícia matice V mnohých prípadoch dáta majú štruktúru dvojrozmernej tabuľky, ktorá má m riadkov a n stĺpcov. Jednoduchý príklad dát tohto druhu je tabuľka, ktorá

Podrobnejšie

História

História Fakulta riadenia a informatiky ŽU Množiny Pojmy zavedené v 8. prednáške N-rozmerné polia Dvojrozmerné polia matica definícia typ[][] premenna inicializácia new typ[pocetriadkov][pocetstlpcov] práca s prvkami

Podrobnejšie

2

2 Modul Spájanie str. 1 Modul Spájanie Obsah: 1 Úvod 2 2 Prenos údajov spájanie 2 2.1.1 Generovanie údajov 3 2.1.2 Prenos údajov 4 2.1.3 Spájanie údajov 5 3 Poznámky 7 Modul Spájanie str. 2 1 Úvod Tento

Podrobnejšie

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné práce). ZP1 odovzdanie záverečnej práce blok je prístupný

Podrobnejšie

Používateľská príručka pre webovú aplikáciu ON!Track Príručka pre webovú aplikáciu, verzia 1.1

Používateľská príručka pre webovú aplikáciu ON!Track Príručka pre webovú aplikáciu, verzia 1.1 Používateľská príručka pre webovú aplikáciu ON!Track Príručka pre webovú aplikáciu, verzia 1.1 Obsah Čo je ON!Track?... 3 Ako vyzerá celý proces ON!Track?... 3 Ako pridávať, upravovať a odstraňovať umiestnenie?...

Podrobnejšie

Úvodná prednáška z RaL

Úvodná prednáška z RaL Rozvrhovanie a logistika Základné informácie o predmete Logistika a jej ciele Štruktúra činností výrobnej logistiky Základné skupiny úloh výrobnej logistiky Metódy používané na riešenie úloh výrobnej logistiky

Podrobnejšie

Paralelné algoritmy, cast c. 3

Paralelné algoritmy, cast c. 3 Paralelné algoritmy, čast č. 3 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2009/2010 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy,

Podrobnejšie

eKasa

eKasa Používateľská príručka Systém ekasa ekasa zóna (Portál podnikateľa - Účtovník) OBSAH Základné informácie o spoločnosti... 3 História zmien... 4 Obsah... 2 1 E-kasa zóna portál podnikateľa... 3 1.1 O aplikácii...

Podrobnejšie

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE Riešitelia: Bc. Michal Behúň Názov projektu: Napájací zdroj ovládaný cez sériové rozhranie počítača Navrhnite a zrealizujte zdroj napätia od 0 do 10 V ovládaný cez sériové rozhranie počítača na báze mikropočítača

Podrobnejšie

Novinky programu MSklad

Novinky programu MSklad Novinky v programe MSklad 1.51 Poznámka v receptúre V receptúre je možné po novom pripísať ku každej položke poznámku, ktorá sa potom zobrazí pri tlači delenej žiadanky a voliteľne tiež pri tlači komplexnej

Podrobnejšie

Microsoft Word - manual_ESS_2010

Microsoft Word - manual_ESS_2010 Manuál projektu ESS 2010 Školiaci materiál k projektu ESS 2010 Čo je Európska sociálna sonda? ESS je medzinárodný výskumný projekt, cieľom ktorého je monitorovať a interpretovať postoje a názory obyvateľov

Podrobnejšie

Používateľská príručka elektronických služieb pre žiadateľov o štatistické informácie október 2016

Používateľská príručka elektronických služieb pre žiadateľov o štatistické informácie október 2016 Používateľská príručka elektronických služieb pre žiadateľov o štatistické informácie október 2016 Obsah 1 Úvod...3 2 Základné funkcionality elektronických služieb...4 2.1 Registrácia a prihlásenie sa

Podrobnejšie

Pokrocilé spracovanie obrazu - Fourierová transformácia

Pokrocilé spracovanie obrazu - Fourierová transformácia Pokročilé spracovanie obrazu - Fourierová transformácia Ing. Viktor Kocur viktor.kocur@fmph.uniba.sk DAI FMFI UK 29.11.2017 Obsah 1 Segmentácia O čo ide 2 Watershed Princíp Postup 3 k-means clustering

Podrobnejšie

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Praktické programovanie assemblerových funkcií Autor:

Podrobnejšie

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP   Október, 2018 Katedra kybernetiky Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Marian.Mach@tuke.sk http://people.tuke.sk/marian.mach Október, 2018 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Best-first

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation Využitie web služieb na vývoj online aplikácií Katarína Žáková Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Ústav automobilovej mechatroniky katarina.zakova@stuba.sk

Podrobnejšie

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú intuitívne jasné a názorné napr. prirodzené čísla, zlomok,

Podrobnejšie

--1/7-- ZŠ Scratch III 10/20 UK M. Tomcsányiová verzia HRA NIM 13 Oblasť informatiky / Téma Algoritmické riešenie problémov / Hra NIM 13 I

--1/7-- ZŠ Scratch III 10/20 UK M. Tomcsányiová verzia HRA NIM 13 Oblasť informatiky / Téma Algoritmické riešenie problémov / Hra NIM 13 I --1/7-- ZŠ Scratch III 10/20 UK M. Tomcsányiová verzia 20180130 10 HRA NIM 13 Oblasť informatiky / Téma Algoritmické riešenie problémov / Hra NIM 13 ISCED / Odporúčaný ročník ISCED 2 / 7. - 8. ročník Požiadavky

Podrobnejšie

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh 7 MTEMTICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčného obvodu. Konečný automat je usporiadaná pätica = (X, S, Y, δ, λ,) (7.) kde X je konečná neprázdna

Podrobnejšie

Aktion.NEXT Novinky vo verzii 1.9

Aktion.NEXT Novinky vo verzii 1.9 Aktion.NEXT Novinky vo verzii 1.9 Windows aplikácia Nové moduly a funkcionalita Prídavné moduly rozširujú systém Aktion.NEXT o dodatočné agendy a funkcie. Môže sa jednať o úplne novú funkcionalitu, ktorá

Podrobnejšie

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milisekundu mov r1, 0 st TMRPR, r1 mov r1, 3124 st TMRCTR,

Podrobnejšie

Microsoft Word - MAT_2018_1 kolo.docx

Microsoft Word - MAT_2018_1 kolo.docx Gymnázium Pavla Horova, Masarykova 1, Michalovce Príklady na prijímacie skúšky do 1. ročníka konané dňa 14. mája 2018 MATEMATIKA V úlohách 1) až 8) je práve jedna odpoveď správna. Túto správnu odpoveď

Podrobnejšie

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: 23.05.2017 Verzia aplikácie: 1.12 Strana 2 / 11 Zmenená funkcionalita

Podrobnejšie

INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ   with.vub.sk, Bank of INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ www.vub.sk, with.vub.sk, 0850 123 000 Bank of VYNOVENÝ INTERNET BANKING Nový, moderný dizajn Dostupnosť zo všetkých zariadení Prehľad o svojich financiách

Podrobnejšie

Manuál pre nastavenie tlače z VRP elio m500 Elio m500 Manuál pre nastavenie tlače -1-

Manuál pre nastavenie tlače z VRP elio m500 Elio m500 Manuál pre nastavenie tlače -1- Elio m500 Manuál pre nastavenie tlače -1- Návod pre užívateľa 1. Vytvorenie účtu Google a stiahnutie potrebného softwaru 1. Aplikácie potrebné pre fungovanie VRP pokladnice sú predinštalované v zariadení.

Podrobnejšie

Ako hrat Burlesque Queen V 1.4

Ako hrat Burlesque Queen V 1.4 Burlesque Queen je 5-valcový, multi-líniový výherný video prístroj. Hrať možno na dvadsaťjeden fixných herných líniách. Hráč sa tu stretne s rôznymi hernými prvkami ako bonusová hra, voľné spiny. Hra je

Podrobnejšie

(07) Rekonštrukcia Mierového námestia kamenná dlažba alebo trávnik? sa na mestskom úrade v Trenčíne uskutočnilo stretnutie zástupcov volnéh

(07) Rekonštrukcia Mierového námestia kamenná dlažba alebo trávnik? sa na mestskom úrade v Trenčíne uskutočnilo stretnutie zástupcov volnéh (07) Rekonštrukcia Mierového námestia kamenná dlažba alebo trávnik? 10.09.2015 sa na mestskom úrade v Trenčíne uskutočnilo stretnutie zástupcov volného združenia Náš Trenčín s autormi víťazného návrhu

Podrobnejšie

Vzhľadom k tomu, že Žiadosť o platbu č

Vzhľadom k tomu, že Žiadosť o platbu č Postup na identifikáciu žiadateľa ako podniku v ťažkostiach podľa Usmernenia Spoločenstva o štátnej pomoci na záchranu a reštrukturalizáciu firiem v ťažkostiach (2004/C244/02) Pred tým, ako bude uvedený

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation Zákaznícky portál DPD Používateľský manuál V Bratislave 26.03.2015 Obsah 1. Úvod 2. Registrácia 3. Prihlásenie 4. Objednávka prepravy 5. Objednávka City Service 6. Objednávka vyžiadanej prepravy 7. Adresár

Podrobnejšie

(Microsoft Word - Registr\341cia \372\350tu Hik-Connect.docx)

(Microsoft Word - Registr\341cia \372\350tu Hik-Connect.docx) Ako registrovať účet Hik-Connect Tento dokument popisuje postup registrácie účtu Hik-Connect cez mobilnú aplikáciu Hik-Connect a webový portál www.hik-connect.com. Poznámka: Ak chcete použiť pre registráciu

Podrobnejšie

Zásady prijímania na bakalárske štúdium na školský rok 2004/2005

Zásady prijímania na bakalárske štúdium na školský rok 2004/2005 Ďalšie podmienky prijatia na bakalárske štúdium na FIIT STU Čl. 1 Úvodné ustanovenia (1) Ďalšie podmienky prijatia na bakalárske štúdium na Fakultu informatiky a informačných technológií Slovenskej technickej

Podrobnejšie

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská príručka pre opravný termín EČ a PFIČ Máj 2019 Obsah 1. ZÁKLADNÉ POKYNY... 3 2. ÚDAJE O ŠKOLE... 4 2.1 KONTROLA A ZMENA ÚDAJOV... 4 2.2 ZMENA

Podrobnejšie

Manuál uchádzača ezakazky Manuál uchádzača Dátum vytvorenia dokumentu: Verzia: Autori slovenský Matej Marcin, Stanislava Marošiová Te

Manuál uchádzača ezakazky Manuál uchádzača Dátum vytvorenia dokumentu: Verzia: Autori slovenský Matej Marcin, Stanislava Marošiová Te ezakazky Dátum vytvorenia dokumentu: 01.03.2019 Verzia: Autori 9.6.0 slovenský Matej Marcin, Stanislava Marošiová Tel.: +421 901 739 853 E-mail: podpora@ebiz.sk - 1 - Obsah 1 Minimálne požiadavky na technické

Podrobnejšie

eKasa

eKasa Virtuálna Registračná Pokladnica Modul OPD Android OBSAH Základné informácie o spoločnosti... Chyba! Záložka nie je definovaná. História zmien... Chyba! Záložka nie je definovaná. Obsah... 3 1 Systém e-kasa

Podrobnejšie

DOTAZNÍK PRE POISTENIE MONTÁŽNYCH PRÁC 1.Názov montážneho diela ( ak montážne dielo pozostáva z viacerých častí, uveďte tie, ktoré majú byť poistené)

DOTAZNÍK PRE POISTENIE MONTÁŽNYCH PRÁC 1.Názov montážneho diela ( ak montážne dielo pozostáva z viacerých častí, uveďte tie, ktoré majú byť poistené) DOTAZNÍK PRE POISTENIE MONTÁŽNYCH PRÁC 1.Názov montážneho diela ( ak montážne dielo pozostáva z viacerých častí, uveďte tie, ktoré majú byť poistené) 2. Miesto výkonu montážnych prác Mesto, obec 3. Investor

Podrobnejšie

Chemical Business NewsBase

Chemical Business NewsBase Táto publikácia bola vytvorená realizáciou projektu Centrum poznatkovej organizácie duševného vlastníctva, ITMS 26220220054 na základe podpory operačného programu Výskum a vývoj financovaného z Európskeho

Podrobnejšie

Informatívna hodnotiaca správa o priebežnom plnení Komunitného plánu sociálnych služieb mesta Trnavy na roky za rok 2018 Komunitný plán soci

Informatívna hodnotiaca správa o priebežnom plnení Komunitného plánu sociálnych služieb mesta Trnavy na roky za rok 2018 Komunitný plán soci Informatívna hodnotiaca správa o priebežnom plnení Komunitného plánu sociálnych služieb mesta Trnavy na roky 2016 2020 za rok 2018 Komunitný plán sociálnych služieb mesta Trnavy na roky 2016 2020 (ďalej

Podrobnejšie

Snímka 1

Snímka 1 Generovanie LOGICKÝCH KONJUNKCIÍ doc. Ing. Kristína Machová, PhD. kristina.machova@tuke.sk http://people.tuke.sk/kristina.machova/ OSNOVA: 1. Prehľadávanie priestoru pojmov 2. Reprezentácia a použitie

Podrobnejšie

Dobývanie znalostí

Dobývanie znalostí Dobývanie znalostí Vranec Maroš, Lučanský Ján Zadanie Predikcia pozície internetových stránok na kľúčové slovo vo vyhľadávači Google* * www.google.cz * site:cz Využitie Pri SEO (Search Engine Optimization)

Podrobnejšie

Brezina_Gertler_Pekar_2005

Brezina_Gertler_Pekar_2005 Makroekonomické výsledky Slovenskej republiky v stredoeurópskom regióne Ivan Brezina Pavel Gertler Juraj Pekár KOVE FHI EU, Dolnozemská 1/b, 852 35 Bratislava Pri vstupe nových členských štátov do Európskej

Podrobnejšie

Teritoriálna stabilita súčasných štátov stredovýchodnej a juhovýchodnej Európy

Teritoriálna stabilita súčasných štátov stredovýchodnej a juhovýchodnej Európy Geopolitický vývoj sveta 1945-2000 doc. RNDr. Daniel Gurňák, PhD. B1-548 konzultačné hodiny: utorok, streda 12:15 13:00 Zdroje a odporúčaná literatúra: prednášky - Gurňák (študijný materiál bude zverejnený

Podrobnejšie

Microsoft Word - Príloha P2 - zadania pracovných listov pre 6. ročník

Microsoft Word - Príloha P2 - zadania pracovných listov pre 6. ročník P1 zadania pracovných listov pre 6. ročník 6.ročník, PL-1A (vstupný) 1. Vytvorte všetky trojciferné čísla z číslic 1, 2, 7, 0. 2. Sú dané veľkosti uhlov: 23, 37, 49, 89,112, 90, 147, 152, 176. Rozdeľte

Podrobnejšie