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í
×
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 34
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: rozházení do skupin (zápis do seminářů)

    11.1.2011 19:59 David Fridrich | skóre: 2 | blog: major_zeman | Praha 6
    rozházení do skupin (zápis do seminářů)
    Přečteno: 211×
    Dobrý den,

    potřebuji napsat program, který mi rozhází semináře do skupin (kvůli rozvrhu), tak, aby si co nejvíc lidí mohlo zapsat všechno, jak potřebují, tzn, aby v jedné skupině nebyly dva semináře, které má někdo zapsané zároveň. Data mám v jako seznam seznamů (v pythonu zapsáno [[1,4,5,6],[9,8,5,6]], kde vnitřní seznamy představují data zapsaná jednotlivými uživateli). Neporadí někdo nějaký algoritmus, příp. hotové řešení či nápad, kde to hledat?

    Díky předem...

    Odpovědi

    11.1.2011 20:22 chrono
    Rozbalit Rozbalit vše Re: rozházení do skupin (zápis do seminářů)
    Možno by sa dal použiť program FET (netuším, ako zložité bude nastaviť práve také požiadavky, ale malo by sa to tam dať urobiť).
    19.1.2011 17:11 Vladimír Čunát | skóre: 19
    Rozbalit Rozbalit vše Re: rozházení do skupin (zápis do seminářů)
    Ten problém je IMO ekvivalentní barvení grafu. Pokud vezmeme semináře jako vrcholy pak podle přihlášených studentů je každá dvojice seminářů buď kompatibilní nebo ne. Každá barva pak odpovídá jednomu termínu. (Opačně, pokud dostaneme libovolný graf, můžeme vzít za každou hranu studenta který si ty dva semináře zapíše.)

    Jak je vidět v odkazovaném článku, dokonce i aproximace optimálního počtu termínů je těžká (pokud přihlašování na semináře není nijak omezené). Předpokládám, že to je nějaký zápočťák a bude stačit použití hladového algoritmu: bereš semináře v nějakém pořadí a zkoušíš zda je možné ho přidat k některému už obsazenému termínu a pokud ne tak jím obsadíš nový termín. V tom wiki článku jsou taky nějaké heuristiky pro zlepšení výsledku v některých případech (třeba brát semináře od nejobsazenějších po nejméně obsazené).
    19.1.2011 21:07 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: rozházení do skupin (zápis do seminářů)
    Lze to řešit například následujícím predikátem v Prologu:
    :- use_module(library(clpfd)).
    
    rozvrhni(Seminare, Zapsano, PocetSkupin) :-
      length(Seminare, PocetSeminaru),
    
      Seminare ins 1..PocetSeminaru,
      PocetSkupin in 0..PocetSeminaru,
    
      indomain(PocetSkupin), % pocet skupin postupne zvysujeme
      maplist(#>=(PocetSkupin), Seminare), % pocet skupin nebude prekrocen
      maplist(all_distinct, Zapsano), % nikdo nebude mit dva seminare
                                      % ve stejne skupine
    
      label(Seminare).
    
    Ve vašem konkrétním příkladě se predikát volá takto: rozvrhni([X1, X4, X5, X6, X8, X9], [[X1,X4,X5,X6],[X9,X8,X5,X6]], PocetSkupin)., kde první seznam obsahuje všechny semináře a druhý seznam jsou semináře jednotlivých uživatelů. První řešení vypadá takto:
    X1 = 1,
    X4 = 2,
    X5 = 3,
    X6 = 4,
    X8 = 1,
    X9 = 2,
    PocetSkupin = 4
    
    Seminář X1 dáme do skupiny 1, X4 do skupiny 2, … a celkový počet skupin není vyšší než 4.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.