Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
while ( ('select count(cis) from db') < x )
{
cislo = rand
if ( ('select count(cis) from db where cis=cislo') == 0 )
{
VlozCisloDoTabulky (cislo)
}
}
Jak rikam, neni to ani nahodou optimalni reseni, je to jen takovy napad.n mist rotovat...
A - 1, B - 2, C - 3, D - 4, F - 5, G - 6A dalsi poradi zacnu generovat, tak aby nebyla hned vedle sebe
A - 3, B - 4, C - 1, D - 2Tak mi pro zadovniky F a G zbyla pouze 5 a 6 pozice a to by bylo hned vedle minule pozice a tim to porusi zadani
DATA:
- array_of_positions = array(
runner => position
);
// generate positions for the first loop
* FOR (i) IN 1 TO {x}:
* DO
* generate new valid position by random -> (p)
* WHILE position (p) is occupated (array_of_positions)
* (array_of_positions)[(i)] = (p)
* DONE
(first_loop_positions) <- (array_of_positions)
// generate positions for second loop
* FOR (i) IN 1 TO {x}:
* DO
* generate new valid position by random between
( (first_loop_positions)[i] - {n / 2} ) and ( (first_loop_positions)[i] + {n / 2} ) -> (p)
// constraint: valid bounds
* WHILE position (p) is occupated (array_of_positions)
* (array_of_positions)[(i)] = (p)
* DONE
Notes:Nevím, kde se ta vaše úloha vzala, napadají mne tři možnosti. Buď je to do školy, na kšeft, nebo jste přecenil své síly a slíbil kamarádům vyrobit něco, co nezvládáte. Ať je to tak nebo tak, připadá mi váš postup morálně pochybený. Vaše reakce na příspěvek Lukáše Ramlicha je pak naprosto neomalená (nemluvě o tom, že je vinou vaší lenosti skoro nečitelná).
Doufám, že snesete mou upřímnost. Pokud ne, nedá se nic dělat…
ale nevim kde ste na to prisel,ale urcite neco vymyslite abyste se do me mohl navazet
Ó, běda. Jsem odhalen. Jediný důvod, proč chodím na ABCLinuxu, je ten, abych se do vás mohl navážet…
ja nejake sve reseni mam,ale nestaci na to abych udelal co potrebuji. programovani me osobne problem nedela,ale nedokazu tento priklad logicky vymyslet. prevedeni do jakohokoliv jazyka uz je druha cast.
Ale to právě je podstata programování. Vymyslet vhodnou reprezentaci dat a algoritmy pro práci s nimi. Ne v tom, kam napsat středník nebo složenou závorku. Naučit se syntaxi programovacího jazyka zvládne kdokoli, podstatné je umět ten jazyk používat. Když se naučíte francouzská slovíčka, nestanete se tím Balzacem nebo Villonem; koupíte-li si kopačky, nestává se z vás tím fotbalista… Vám chybějí základy algoritmického uvažování a to se nedá spravit radou ve fóru, to chce studium.
jinak se nedivim ze tady tolik vysilujete s tim co kdo umi nebo ne. ale vy na tom o moc lip nebudete
Sice netuším, na základě čeho jste to usoudil, ale na tom nezáleží. Nevzpomínám si, že bych mezi svými klienty měl někoho s vaším jménem, takže je mi celkem jedno, co si o mých schopnostech myslíte.
protoze mistot ztraceni castu tim co zde pisete jste mi mohl poradit. casu by to zapralo uplne stejne, jen to chce mit v hlave v poradku abyste to mohl napsat.
To je otázka přístupu. Za ztracený čas bych totiž považoval spíše to, kdybych se vám psal s řešením. Protože jediný efekt by byl ten, že byste zjistil, že tohle je dobrý způsob, jak na problémy "řešit" a až byste příště potřeboval zase něco naprogramovat, hodil byste to zase na fórum. A jinak se na ten dotaz odpovědět nedá, leda: "Jděte a studujte."
Všimněte si ale jedné maličkosti: přestože jsem váš dotaz považoval za nevhodný, nijak jsem na něj nereagoval. Nechal jsem to být, ať si každý sám rozhodne, zda chce vaši práci dělat za vás. Ozval jsem se teprve v okamžiku, kdy jste se neurvale obořil na kolegu, který vás slušně upozornil, že ten dotaz se do fóra nehodí.
Nejsem si jist, zda chápete, kdo je tu mimo.
Ti, co něco umí, něco pochopit těžko nedokážou.
všechna pole náhodně promíchám...
ja nejake sve reseni mam,ale nestaci na to abych udelal co potrebuji. programovani me osobne problem nedela,ale nedokazu tento priklad logicky vymyslet. prevedeni do jakohokoliv jazyka uz je druha cast.Myslim, ze programovani je hlavne o tom " to logicky vymyslet". To ze v tomhle jazyce se podminka dela tak, v tomhle se cyklus dela onak a syntaxe jineho je uplne odlisna, to ze tenhle jazyk dovoluje ukazatale nebo kerursi a tenhle ne, je vec dle meho nazoru vedlejsi.. Naucit se to je jako naucit se jakykoliv jiny jazyk. Treba madarstinu. Ale k programovani to nestaci.
2D-1 (D je minimální požadovaná vzdálenost mezi pozicemi, D>0). V dalším umisťování je to dokonce až dvakrát tolik, tedy 10 (4D-2).
Algoritmus tedy musí brát v úvahu, že každý závodník má omezený počet pozic. Navrhoval bych tedy u každého evidovat kolik pozic mu ještě zbývá a při každém generování kromě prvního jim pozice přidělovat v pořadí podle počtu možností. Myslím že rozvinutím úvahy v předchozím odstavi půjde dokázat, že pro určitý maximální počet startů S bude vždy možné všem závodníkům přiřadit pozici. Pak nebude potřeba provádět rollback (tedy začínat znova). Možná ale že nic takového dokázat nejde. Skutečně nemám čas to příliš rozebírat...
Je zde jednodušší alternativa: vygenerovat náhodně jen první pozice, pro další starty provádět jen rotaci. V nejjednodušším případě, tedy rotace o D, musí platit podmínka že D+D*(S-1) = D*S <= N (závodník co začíná na pozici D musí po S-1 posunech skončit nejdále na poslední pozici). Toto by ale závodníci rychle prohlédli a asi by se jim to nelíbilo.
Složitější bezpečná varianta je provádět posuny o náhodnou hodnotu z intervalu <D,(N-D)/(S-1)> (oboje včetně). Opět je zajištěno, že ani v nejhorším případě nedojde k vygenerování nepřijatelné startovací listiny (cvičení: dokažte
.
Problém obou rotačních řešení je, že jednotlivé startovací listiny nejsou navzájem nezávislé - tedy, zjednodušeně, nejsou "opravdu náhodné". Samozřejmě že po jejich vygenerování je nutno je navzájem zamíchat.
Nejlepší bude hybridní řešení: Nejprve zkusit startovací listiny generovat náhodnými pokusy a zavrhováním špatných výsledků. Počet pokusů však omezit nějakým empiricky zjištěným rozumným číslem (třeba 100). Pokud počet pokusů vyprší aniž by bylo vygenerování S použitelných listin, použije se výše zmíněný rotační algoritmus.
PS: Doufám že to bude užitečné... A hlavně doufam že jsem nikde neudělal botu a nepíšu ptákoviny.
"Zdlouhavé" ani tak nevadí, pokud ta doba je nějak rozumně omezena, a hlavně pokud je vůbec deterministicky omezena. Náhodně generovat hodnoty tak dlouho, dokud se nevygeneruje akceptovatelná hodnota není dobrý algoritmus. Mám s tím vlastní, špatné zkušenosti.
bouzel se da predpokladat ze v kazdem pripade bude vygenerovani takoveto rady cisel s jistou zavilsosti velmi zdlouhave.
Problém tedy nebude ani v další iteraci algoritmu, protože odeberu hrany párování a zakážu další hrany, každý vrchol bude mít zase stupeň alespoň nějaké n (kladné při rozumně zvoleném k) a nějaký podraf na N vrcholech bude zase silně n-regulární.Toto je sice hezké, ale vůbec to neodpovídá na otázku. Jenom se důkaz přesouvá na nějaké "rozumně zvolené k, kdy každý uzel bude mít stupeň kladný". Takže jsme pořád tam, kde jsme začali.
Blábolením jsem myslel povídačky o špatných a dobrých algoritmech. Krom toho tohle je krásný případ úlohy, která pravděpodobnostním algoritmem řešit jde.Aha. Prosím osvětlit, rád se poučím.Náhodně generovat hodnoty tak dlouho, dokud se nevygeneruje akceptovatelná hodnota není dobrý algoritmus.
Prostě, když budu zakazovat jiným způsobem - sportovci jsou rozmístěni jakoby na kružinici (1 až N, n-tý a první jsou sousedé) a každému zakážu mít pozice v k-okolí. Takže z grafu odeberu 2k hran každému vrcholu, tedy bude (N-2k)-regulární. To jsem tedy zakázal moc, prvních a posledních k jich má zakázáno víc. Tak tam ty hrany odebrané navíc zase vrátím. Nyní už ale každý vidí, že mám ten (N-2k)-regulární podgraf a mám zajištěnou existenci PP, pokud k < N/2. Pokud chci pokračovat do další iterace musí být k < N/4.Teď vidím že jsem to zadání pochopil trochu jinak, já počítal vzdálenost pozic, ne lidí... i když to je evidentní blbost :-/
Tiskni
Sdílej: