Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
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 