Trpaslíkův blog

  • Události v aplikaci - II

    Tento článek navazuje na předchozí příspěvek Události v aplikaci – I. Události Pokud jste někdy přišli do styku s komunikací přes message broker s využitím vzoru publish-subscribe, pak vám systém aplikačních událostí ve Spring bude jistě hodně blízký. V podstatě úlohu message brokeru v tomto případě plní Spring kontext.
    28. 12. 2021 0:00
  • Události v aplikaci - I

    V jednom z dřívějších článků zabývajících se službami v distribuovaných systémech jsem se přiznal, že jsem silným zastáncem auditních záznamů o běhu aplikací. Auditními záznamy v tomto smyslu rozumím informace o událostech, které se staly při běhu aplikace. Takovými záznamy mohu sledovat běžný provoz aplikace ale také anomálie, které při provozu nastaly.
    21. 12. 2021 0:00
  • Futoshiki - geneticky

    Jako poslední pokus vyřešit logickou hru Futoshiki jsem zkusil použít genetické algoritmy. Ty by měly umožňovat řešit optimalizační úlohy, takže třeba zaberou i v tomto případě. Pokud vás zajímá pouze výsledek mého snažení, tak musím dopředu avizovat, že jsem se k nějakým dobrým výsledkům nedopracoval. Jednotlivá řešení konvergovala, ale obtížně jsem se dostával k řešení, které by bylo úplně bez chyb.
    19. 11. 2021 0:00
  • Futoshiki - constraint programming

    V předchozím příspěvku jsem se pokusil naprogramovat řešení hry Futoshiki s využitím backtracking. To bylo to první, co mne napadlo. Nicméně jsem se dále pokusil vyzkoušet i jiné přístupy, které by mohly vést k vyřešení takové hry. Jako alternativní způsob jsem vyzkoušel tzv. Constraint Programming. No, ono to zase až takové programování není. Podstatou je vytvoření nějakého modelu, na který se pak pošle solver. A ten by mně měl najít nějaké nebo všechna řešení, která vyhovují zadanému modelu.
    12. 11. 2021 0:00
  • Futoshiki - klasicky

    Po delší době jsem se opět dostal k řešení nějaké hry. Vybral jsem si japonskou logickou hru Futoshiki. Jedná se o relativně mladou hru vymyšlenou na začátku tohoto století s jednoduchými pravidly. Hraje se na čtvercové desce obvykle s rozměry 5×5 nebo 7×7 políček. Pravidla by se dala shrnou asi následovně…
    5. 11. 2021 0:00
  • Nezávazné bádání nad časovou náročností programu - II

    Tímto článkem bych rád navázal na své předchozí nezávazné bádání nad komplexností programů. V něm jsem se nejříve pokusil odhadnout, jaké funkci by mohla časová závislost programu odpovídat. Následně pak pro tuto funkci spočítat její parametry. No a ty pak můžu použít pro odhad toho, jak by se můj program mohl chovat v produkčním prostředí.
    21. 2. 2021 0:00
  • Nezávazné bádání nad časovou náročností programu - I

    Počátečním impulzem pro následující nezávazné pojednání byla hra BENDER – Episode 3. Podstatou úkolu bylo zjištění z naměřených dat, jaké asi komplexnosti je program v závislosti na velikosti testovacích vzorků dat. Zadání úkolu je dosti návodné, takže vás nebudu obtěžovat popisem svého řešení. Jistě vymyslíte vlastní řešení, pokud vás to bude zajímat.
    18. 2. 2021 0:00
  • Za DASTA zprávy validní

    Vzhledem k mé pracovní náplni se opakovaně setkávám se zprávami ve formátu DASTA, a to od různých výrobců informačních systémů ve zdravotnictví. Jedná se o XML zprávy, které mají standardizovaný obsah a strukturu. Postupem času vzniklo více verzí tohoto národního standardu, nicméně v posledních letech se setkávám se zprávami v DASTA ver.3 (tahle větev se již nerozvíjí) a DASTA ver.4.
    6. 2. 2021 12:12
  • Sudoku - genetický algoritmus

    V posledních dnech všichni čekají na novou mutaci koronáče, britského, jihoafrického, či z jiného koutu světa. Rozhodl jsem se, že už čekat nebudu, a zamutuji si sám. Navíc jsem si u toho i něco pokřížil … V rámci dřívějšího řešení Sudoku pomocí hrubé síly mne napadlo, zda by nešly použít pro řešení také genetické algoritmy.
    29. 1. 2021 0:00
  • Sudoku - řešení silou

    Jak říkal můj kolega Kadlčík: když máš v ruce kladivo, tak ti všechno připadá jako hřebík. Opět se vracím k řešení nějaké hry, a sice Sudoku. Nejdříve zkusím řešení s využitím síly Depth-first search (DFS). V případě Sudoku se jedná o hru s čísly ve dvourozměrné matici 9×9 kostek s čísly v rozsahnu <1..9>.
    26. 1. 2021 20:49