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í
×
    dnes 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

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

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

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

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 566 hlasů
     Komentářů: 26, poslední včera 09:58
    Rozcestník

    Dotaz: hledani optimalni kombinace slozeni

    Gilhad avatar 15.11.2012 23:40 Gilhad | skóre: 20 | blog: gilhadoviny
    hledani optimalni kombinace slozeni
    Přečteno: 234×
    Mam velke mnozstvi smesi, ktere se skladaji z maleho mnozstvi prvku. Mam zadanou vyslednou smes, kterou potrebuju vyrobit (kdyz ne presne, tak aspon neco podobneho). Potrebuju najit, kolik kterych smesi mam smichat, abych dostal pozadovany vysledek. (aspon jedno z moznych reseni).

    data vypadaji asi takto:
    SMESI.txt:
    # p1, p2, p3, p4, p5, p6 # (sloupecky obsahuji mnozstvi prvku v dane smesi, radky jsou jednotlive receptury)
      1   2   10   5   6   7 # smes cislo jedna 1xp1 + 2xp2 + 10xp3 .... + 7xp6
      4   7    3   1   8   12 # smes cislo dva 4xp1 + 7xp2 + 3xp3 .... + 12xp6
    ...........
      11  2    8   1  96   18 # smes cislo dveste 11xp1 + 2xp2 + 8xp3 .... + 18xp6
    
    
    POZADAVEK.txt
      230 300 127 55  200  700 # chci smes obsahujici priblizne 230xp1 + 300xp2 + 127xp3 ... + 700xp6
    
    ==============
    VYSLEDEK.txt
    5
    0
    3
    12
    .
    .
    35
    # vezmi napriklad 5 dilu smesi 1+ 0 dilu smesi 2 + 3 dily smesi 3 + ... + 35 dilu smesi 200
    # a dostanes neco velmi blizkeho pozadavku
    

    Je to nejake carovani s maticemi, ale ted mu nemuzu prijit na jmeno. Problem je samozrejme v tom, ze
    • prvku je malo, smesi hodne, dost podobnych, moznych kombinaci muze vyjit hodne - nas zajima najit aspon jednu kombinaci (kteroukoli)
    • samozrejme nesmi vyjit zaporne mnozstvi u zadne smesi
    • naopak muze vyjit vysledek jako realna cisla, tedy nevadi nam 12.5 dilu smesi osm a 0.12345 dilu smesi devet
    • nemusi byt mozne exaktni reseni (pozadavak nelze namichat presne), pak nas zajima aspon reseni priblizne (co nejlepsi aproximace, napriklad metoudou nejmensich ctvercu, nebo tak neco)
    • samozrejme nektere smesi muzou mit podobne ci stejne slozeni, (linearne zavisle radky), pak je celkem jedno, jak se to z nich namicha (2 dily mirne slane vody, nebo 1 dil hodne slane vody napriklad)
    Doufam, ze jsem problem popsal dost dukladne a nekdo bude vedet, jaka metoda se na to pouziva (idealne kdyby to byla nejaka funkce v pythonu, ale kdyz ne, tak v nejakem snadno dostupnem jazyku, nebo pochopitelny matematicky popis - nacteni a vypis hodnot se uz vzdycky nejak zvladne)

    Řešení dotazu:


    Odpovědi

    Jendа avatar 16.11.2012 00:23 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: hledani optimalni kombinace slozeni
    Nepřipomíná to trochu problém batohu?
    16.11.2012 18:58 sss
    Rozbalit Rozbalit vše Re: hledani optimalni kombinace slozeni
    Jo, presne ... cili resenim je klasicke prohledavani s navratem (backtracking).
    Josef Kufner avatar 16.11.2012 00:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: hledani optimalni kombinace slozeni
    Asi bych se vykašlal na superchytré matematické úvahy a šel na to genetickým programováním.

    Napsat nějaký jednoduchý evoluční algoritmus není nic těžkého. Fitness funkci (hodnocení kvality jedinců) máš jasnou. Bude potřeba vymyslet rozumnou reprezentaci jedinců, ale i něco naivního postačí. Pak postačí to doplnit o nějaké rozumné optimalizace jedinců, např. pokud vyjde součet moc veliký, tak aby ho to normalizovalo na požadované množství.

    Pak to spustíš, necháš to sežrat kopec paměti, zajdeš si na oběd a můžeš začít míchat koktejl.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 16.11.2012 00:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: hledani optimalni kombinace slozeni
    ... A jak tak nad tím přemýšlím, v podstatě hledáš sadu koeficientů m, které se hodí do součtu y = sum(m(i) * p(i)), kde m je reálné kladné číslo a p jsou polynomy reprezentující jednotlivé směsi (pole floatů m = jedinec).

    Trošku mi to ale smrdí lineární algebrou a bázemi lineárních prostorů, kdy pokud by jsi z dostupných směsí vybral skupinu, jejichž polynomy by byly lineárně nezávislé (to lze celkem snadno; projít všechny kombinace a ověřit si to), bude jednoduché je namíchat do správného poměru, tedy přenásobit maticí pro převod z prostoru reprezentovaného jednotkovou maticí (zadání po složkách) do prostoru tvořeného vybranými směsmi.
    Hello world ! Segmentation fault (core dumped)
    Řešení 1× (Gilhad (tazatel))
    16.11.2012 07:16 Kit
    Rozbalit Rozbalit vše Re: hledani optimalni kombinace slozeni
    Možná hledáš simplexovou metodu.
    16.11.2012 15:46 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: hledani optimalni kombinace slozeni
    No vždyt to je sada lineárních rovnic asi někde ze 6 třídy.

    Když označíme množství směsi jako neznámé veličiny A1, A2, ... A200. Tak pro prvky p1,p2... máme rovnice
    1*A1 + 4*A2 +...+ 11*A200 = 230
    2*A1 + 7*A2 +...+  2*A200 = 300
    .
    .
    .
    
    Vzhledem k tomu, že proměnných je více než rovnic tak všechna řešení budou vytvářet podprostor v tom 200 dimensionálním prostoru směsí. Stačí to pak oříznout pro nezáporný podprostory. Asi nejjednodušší řešení je nalézt prvních n nezávislých směsí, kde n je počet prvků ve směsích a to jednoduše vyřešit jako soustavu rovnic. Třeba tím simplexem.

    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.