Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.
Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.
I letos vyšla řada ajťáckých adventních kalendářů: Advent of Code 2025, Perl Advent Calendar 2025, CSS Advent Calendar 2025, Advent of A11Y 2025, Advent of AI Security 2025, Advent of Agents (in Google) 2025, Advent of Svelte 2025, …
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 