abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč podporující také protokoly Gemini, Gopher a RSS běžící v terminálu. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    dnes 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 10
    dnes 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    včera 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 7
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 3
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 20
    6.2. 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 815 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Automatický Slitherlink solver

    30.8.2010 11:33 | Přečteno: 1808× | GNU | poslední úprava: 30.8.2010 11:43

    Přemýšlel jsem jak co nejlépe implementovat řešení tohoto hlavolamu. Použil jsem opět starý dobrý DLX solver, který výborně funguje pro Sudoku, a který docela dobře šel použít i pro Kakuro. Zatím jsem skončil zhruba u tohoto postupu, který dobře (tj do desítek sekund) řeší 7x7 puzzle, a většinu 10x10 puzzlí:

    1) Pro střed každého čtverce vygeneruj "tahy", které pokryjí 4 strany tohoto čtverce správným počtem čar. Tj pro "0" bude možnost jen jedna, pro "1" budou 4, pro "2" jich bude 6 apod. Tohle je jednoduché, prostě smyčka 0-15, a počítá se hammingova váha.

    2) Je třeba zajistit, aby tahy které pokryjí sousední čtverce, nastavovaly společnou hranu stejně. Tohle řeším pomocí optional constraints, podobně jako v 8-queens. Každý tah na každém čtverci jednak pokryje tento čtverec, a dál pokryje optional constraint pro svou "jižní" a "východní" stranu. "Severní" a "západní" hrana je ale 1) přesunuta do sousedícího čtverce, 2) negována. Díky tomu by v případě že by sousední čtverce nastavovaly společnou hranu na opačnou hodnotu, díky této negaci sdílely stejný optional constraint, a tím jsou tyto tahy eliminovány.

    3) Správné řešení má mít jen jednu smyčku. Proto jsem ještě zavedl omezení na počet hran, které se mohou potkat ve vrcholech čtverců. Aby se zamezilo větvení a křížení, každý vrchol může mít právě 2 nebo právě 0 hran.

    Tohle jsem zatím trochu odbyl, a řeším to až po výběru tahu jeho validací, a zahozením v případě že by a) zvýšil počet hran vedoucích do některého z 4 vrcholů na 3, nebo b) pokrývá poslední hranu do některého vrcholu, a nastavuje ji na jedničku. Tohle je složitější, musí se kvůli tomu ještě testovat na okraj hracího pole.

    Přemýšlím že bych ten kód místo do verifikace tahu změnil na udržování invariantu, že všechny dostupné tahy jsou OK, a když některý čtverec pokryju, tak prořežu volné tahy pro ostatní čtverce (a samozřejmě strčím je na stack, a při backtracku je zase obnovím). Tohle se pro Kakuro velice osvědčilo, a urychlilo to řešení fakt dost.

    4) První 3 možnosti řeší lokální vlastnosti řešení, ale správné řešení má být jedna uzavřená smyčka. Tahle verifikace není úplně triviální na naprogramování, a zatím jsem ji ani nenapsal. Místo jednoho správného řešení se mi proto vygeneruje i cca 2-5 dalších, které ale taky vypadjí zajímavě, a to správné pořád snadno vyberu.

    Otevřené otázky:

    * Má smysl přepisovat test na spojitost (bod 3)? na prožezávání? Má smysl testovat řešení že obsahuje pouze jednu smyčku (bod 4)?

    * Nejsem si jistý jestli ten test na spojitost nečistí stavový prostor víc, než samotné omezení na počet hran u čtverce. Jestli jo, asi by bylo lepší postupovat opačným směrem- pokrývat tahy vrcholy tak, že pro každý vrchol bude právě 7 možností jak jej pokrýt- buď bude vrchol holý (1 možnost), nebo pokytý dvěma hranami (6 možností). Při pokrývání by se počítaly hrany po obvodech čtverců, a verifikovalo/prožezávalo by se podle toho teprve dodatečně.

    * Úplně jiné řešení: Nebudou se vůbec generovat "hrany", budu přímo "barvit" čtverce na 2 možné barvy. Hrany budou definovány implicitně, kde se stýkají rozdílné barvy, bude hrana. Tohle vypadá lákavě, protože pro každý čtverec jsou jen 2 možné tahy, takže stavový prostor je nejmenší. Jenže zase by to povolovalo "šachovnicové" vzory, které jsou ve správných řešeních zakázány, tohle by bylo potřeba explicitně testovat a vyhazovat.. Imlementace by jinak byla podobná jako u pokrývání vrcholů- verifikace/prožezávání podle počtu hran kolem každého čtverce..

    Možná je ještě nějaké další dobré řešení? Preferuji jednoduchost a eleganci i mírně na úkor efektivity.        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    vlastikroot avatar 1.9.2010 06:24 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Automatický Slitherlink solver
    Díky, to puzzle vypadá dobře :-)
    We will destroys the Christian's legion ... and the cross, will be inverted
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.