Japonský Google rozšířil svou kolekci DYI fyzických klávesnic Gboard o klávesnici ve tvaru běžícího pásu. Proč se mají přesouvat ruce po klávesnici, když se mohou přesouvat klávesy k ruce? Pro zájemce je návod na sestavení včetně STL souborů pro 3D tisk a firmware k dispozici na GitHubu.
Nejnovější X.Org X server 21.1.25 a Xwayland 24.1.14 řeší 12 bezpečnostních chyb.
Google Chrome 155 byl prohlášen za stabilní. Přináší podporu JPEG XL (.jxl). Opraveno bylo 247 bezpečnostních chyb.
Konference OpenAlt 2026 hledá přednášející. Přihlásit přednášky lze do neděle 11. října. Konference proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.
Byla vydána nová verze 10.6 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Povoluje hybridní postkvantový podpisový algoritmus ssh-mldsa44-ed25519.
Americká společnost Reflection AI světu představila Beam, open-weight model s 501 miliardami parametrů (z toho 23 miliard aktivních), určený především pro programování a práci autonomních agentů. Podle autorů jejich model nabízí výkon srovnatelný s většími modely při výrazně nižších nárocích na výpočetní výkon. Beam nyní ještě prochází závěrečným testováním, na stránkách Reflection AI se však lze zaregistrovat a získat předběžný přístup. Váhy modelu, dokumentace a nástroje pro vývojáře mají být zveřejněny v průběhu tohoto měsíce.
OpenCourant je komunitní fork OpenRadioss, tj. open source softwaru pro simulace havárií, nárazů a vysoce nelineárních dynamických dějů metodou konečných prvků. Společnost Siemens v loňském roce dokončila akvizici společnosti Altair Engineering, jež před čtyřmi lety uvolnila open source verzi OpenRadioss svého proprietárního softwaru Radioss. Minulý týden Siemens OpenRadioss pohřbil. Integroval jej do svého softwaru Simcenter, webovou stránku OpenRadioss přesměroval na Simcenter a repozitář OpenRadioss na GitHubu odstranil.
Pořadatelé devátého ročníku komunitního setkání správců nejen českých a slovenských sítí – CSNOG 2027, které se uskuteční 20. a 21. ledna, vyhlásili Call for Abstracts. Náměty na vystoupení mohou zájemci přihlašovat do 31. října na webu akce a vybírat mohou ze tří sekcí – správa sítí, legislativa a regulace a akademické projekty. Zveřejněny byly také Call of Partners určené sponzorům a partnerům setkání, kteří by například chtěli mít na
… více »Strata je open-source inferenční engine, který umožňuje lokálně provozovat rozsáhlý čínský model Qwen3.8-Flash-Next, který by jinak nejspíše vyžadoval serverovou infrastrukturu, na běžném herním počítači s alespoň 12 GB VRAM, 32 GB RAM a dostatkem místa na SSD. Nároky na paměť a rychlost generování se liší s použitou variantou modelu Qwen. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.
Americký prezident Donald Trump oznámil vznik federální Jednotky pro superinteligenci (Super Intelligence Force), která má koordinovat postup vlády, technologických firem, náboženských organizací a dalších institucí v oblasti rychle se rozvíjející umělé inteligence (Trumpem oficiálně nazývanou superinteligencí). SIF, podřízená přímo Trumpovi, má pomoci Spojeným státům udržet v oblasti SI technologický náskok nad světem a
… více »Myslím že je jeden z těch lepších, rozhodně lepší než ty ukázkové bláboly v učebnicích programování, nebo co je na wikipedii..
#! /usr/bin/python
def hide_column(c):
c[0][1] = c[1]
c[1][0] = c[0]
r = c[3]
while not r is c:
i = r[1]
while not i is r:
i[2][3] = i[3]
i[3][2] = i[2]
i[5][5] -= 1
i = i[1]
r = r[3]
def show_column(c):
r = c[2]
while not r is c:
i = r[0]
while not i is r:
i[2][3] = i[3][2] = i
i[5][5] += 1
i = i[0]
r = r[2]
c[0][1] = c[1][0] = c
root = []
root[:] = root, root
def solve(*chain):
c = root[1]
if c is root:
return solution(chain)
i = c[1]
while not i is root:
if i[5] < c[5]: c = i
i = i[1]
hide_column(c)
r = c[3]
while not r is c:
i = r[1]
while not i is r:
hide_column(i[5])
i = i[1]
solve(r, chain)
i = r[0]
while not i is r:
show_column(i[5])
i = i[0]
r = r[3]
show_column(c)
columns = {}
def move(row, *cols):
r = []
r[:] = r, r
for col in cols:
c = columns.setdefault(col, [])
if not c:
c[:] = root[0], root, c, c, col, 0
c[0][1] = c[1][0] = c
i = []
i[:] = r[0], r, c[2], c, row, c
i[0][1] = i[1][0] = i[2][3] = i[3][2] = i
c[5] += 1
r[0][1] = r[1]
r[1][0] = r[0]
if __name__ == '__main__':
from re import findall
def solution(chain):
m = {}
while chain:
i, chain = chain
m.update(i[4])
for row in range(9):
for col in range(9):
print m[row, col],
print
for row, col in enumerate(findall('\n(\S.+)', '''
ultra tezky?
2 8 5 . . . . . .
. 7 . . 2 5 . . 9
. . . . . . . . 4
1 9 . . . . . . .
6 . . . 9 . . 1 .
. . . 7 . 4 . 8 .
. . . 8 . 3 . . .
. . 3 6 . . . 4 .
. . . . . . 5 . .
''')):
for col, c in enumerate(findall('(\S+)', col)):
for c in c == '.' and range(1, 10) or (int(c),):
move({(row, col): c},
(row, col), # matrix
('R', row, c), # rows
('C', col, c), # columns
('B', row/3, col/3, c), # blocks
)
solve()
Tiskni
Sdílej:
Rychlost bohužel dost závisí na konkrétním sudoku, od sekund do několika minut :-/
root = [] root[:] = root, root
a == b místo a is b vede k zacyklení a chybě.
Už nevím, který film to byl, ani o čem byl, ale tohle praktikoval jeden vyhozený železničář.Knoflíkáři
He? To jak to sudoku riešite? Nikdy som nepotreboval vypĺňať možnosti. Vždy stačilo použiť základné znalosti (axiómy) a pravidlá, aby človek mohol vyplniť ďalšie číslo (odvodiť teorém). Ešte som sa nestretol so sudoku, kde by nefungovala čistá logika (čím nechcem povedať, že to občas nedá sakra zabrať) 
Jasné, že sa to dá riešiť backtrackom, ale je to de facto podvod
Určite je možný aj nasledujúci postup riešenia: náhodne vyplniť všetky políčka a potom overiť, či spĺňa pravidlá sudoku. Ale asi sa zhodneme, že okrem toho, že to nie je moc efektívne, tak to asi nie je to, o čom by riešenie sudoku malo byť
Sudoku, tak ako ho chápem ja, je o tom, že čisto na základe logiky (z už vyplnených čísel + pravidiel sudoku), si budujete a prehlbujete databázu znalosti o systéme (číslach, ktoré kde majú byť) a to tak dlho, kým nemáte všetko. Neviem to vyjadriť presnejšie, každopádne, žiadny backtrack netreba. Aj keď je jasné, že vo finálnych štádiách Vám to ten backtrack môže urýchliť, lebo namiesto premýšľania len tupo skúsite všetko vyplniť a ak to sedí, vyhrali ste, ak nie, tak správne je druhá možnosť. Ale ako hovorím, toto považujem za podvod. Alebo inak, nemá zmysel to riešiť týmto spôsobom, lebo backtrack Vám nič nedá, to je len tupé prechádzanie všetkých možností. To už rovno môžete to sudoku zadať počítaču. Tiež to bude subjektívne rýchlejšie a pohodlnejšie
Naopak, riešenie dedukciou trénujé úplne rovnaké schopnosti, aké sú potrebné napríklad v matematike pri dokazovaní teorémov. Sorry, že som sa trochu rozkecal 
Podľa mňa zadania sudoku sú robené tak, aby sa toto dalo. A moje stovky vyriešených sudoku mi to zatiaľ 100% potvrdili (nie je to dôkaz samozrejme
). V opačnom prípade sa tá úloha redukuje na prachsprostý backtrack, čo je úloha pre stroje a nie pre človeka...
Pletiete si dedukciu a indukciu. Odporúčam začať článkom na wikipédii
Pri dedukcii nejde o žiadne zvažovanie možností. Keď mám axióm A a pravidlo A -> B, tak viem odvodiť B. Takto môžem vybudovať inferenčne celú databázu znalostí o systéme (ak je konečný ako v prípade sudoku). Jasné, že pri konečnom systéme môžete použiť aj backtrack a na konci skúmať konzistenciu, alebo rôzne kombinácie oboch, ale o tom sudoku podľa mňa nie je.
Ok, skúsim. Ale IMHO musí to riešenie byť vždy dosiahnuteľné logickou úvahou (aspoň ak je skutočne jednoznačné). Dokázať toto tvrdenie ale asi nie je triviálne
Pozriem na wikipédiu, čo píše o sudoku 
Vcelku súhlasím.
Čo sa týka hranovej konzistencie, ja len tvrdím, že okrem elementárneho prípadu, kedy Vám zostane už len jedna možnosť, to nie je príliš užitočné. Aspoň mne to teda nikdy pri zložitejších sudoku nepomohlo. Môžete si na N miest napísať, že všade už sú len dve možnosti, ale čo z toho, keď Vám žiadna elementárna úprava už nič neeliminuje? Ja si skôr budujem iný znalostný systém, založený na tom, čo všetko už kde nemôže byť, napr., čo obsahuje daný stĺpec, alebo kde presne sa môže ešte vyskytovať množina čísel v danej bunke. Pomocou kombinácie týchto znalostí už som po dlhšej úvahe (a niekedy veľmi dlhej) obvykle schopný odvodiť ďalší fakt o systéme (nie nutne presnú pozíciu čísla, ale ďalšie obmedzenie na niektorý stĺpec, atď.). A s týmto systémom je mi úplne jedno, či mám niekde napísané, čo kde môže byť (teda, skôr by mi to tam prekážalo). Ale možno som len nepochopil, ako presne postupujete, to sa nedá vylúčiť 
To ani nie. Na niektoré tie fakty zabudnem, ale keďže sú znova odvoditeľné (vždy sa dajú úplne vybudovať z aktuálne vyplnených čísel) a raz sa mi to už podarilo, tak to zvládnem znova
Ale inak je pravda, že keď sa človek snaží niečo dlhšie odvodzovať, tak si to zapamätá. Tak si napríklad dodnes už roky pamätám dôkazy, ktoré som vymýšľal na skúške z analýzy (občas sme dostali dokázať niečo, čo sa tak úplne nebralo...) 
Aha, tak to ste popísali veľmi pekne. Keď tak nad tým rozmýšľam, tak moje odvodenia sa de facto tiež týkajú len zvyšovania poznatkov o tom grafe. Čiže naše postupy sú asi ekvivalentné. Aspoň teda formálne. Zvláštne ale je, že to vyplňovanie možností (párkrát som to už skúsal) mi vôbec nepomáha dostať sa ďalej. Asi mám holt mozog stavaný iným spôsobom a lepšie než s 50 políčkami a každým s niekoľkými možnými číslami, sa mi pracuje s väčšími celkami typu stĺpec. Ale skúsim niekedy nabudúce použiť znova Vašu metódu, keďže som na ňu získal teraz trochu nový uhol pohľadu.
Um, tak ten balíček z debianu už 2 roky nemá upstream. Tak som stiahol orig source a nefungovalo. Tá tvoja option -c je až v debian patchi 
Jj, tomu by som veril. Sudoku je úloha ako stvorená pre nejaký automated proof system 