abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 03:11 | Humor

    Tak od ledna linuxové terminály, výchozí pozadí i celé desktopy v barvě "broskvového chmýří", v barvě "jejíž všeobjímající duch obohacuje mysl, tělo i srdce". Barvou roku 2024 je PANTONE 13-1023 Peach Fuzz.

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

    Byla vydána verze 10 linuxové distribuce Freespire (Wikipedie). Jedná se o bezplatnou linuxovou distribuci vyvíjenou společností PC/OpenSystems LLC stojící za komerční distribucí Linspire (Wikipedie), původně Lindows.

    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Bezpečnostní upozornění

    Binarly REsearch před týdnem informoval o kritických zranitelnostech UEFI souhrnně pojmenovaných LogoFAIL. Tento týden doplnil podrobnosti. Útočník může nahradit logo zobrazováno při bootování vlastním speciálně upraveným obrázkem, jehož "zobrazení" při bootování spustí připravený kód. Pětiminutové povídání o LogoFAIL a ukázka útoku na YouTube.

    Ladislav Hagara | Komentářů: 2
    včera 00:11 | Nová verze

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

    Ladislav Hagara | Komentářů: 16
    7.12. 13:33 | Komunita Ladislav Hagara | Komentářů: 2
    7.12. 13:22 | Komunita

    Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.

    Ladislav Hagara | Komentářů: 0
    7.12. 12:55 | Nová verze

    Byla vydána nová stabilní verze 3.19.0, tj. první z nové řady 3.19, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou podporu Raspberry Pi 5.

    Ladislav Hagara | Komentářů: 0
    7.12. 12:22 | Zajímavý software

    Altap Salamander (Wikipedie), dvoupanelový správce souborů pro Windows, byl uvolněn jako open source pod názvem Open Salamander. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.

    Ladislav Hagara | Komentářů: 2
    7.12. 07:00 | IT novinky

    Společnost JetBrains představila (YouTube) svou umělou inteligenci JetBrains AI a nástroj AI Assistant v IDE.

    Ladislav Hagara | Komentářů: 10
    6.12. 22:33 | Nová verze

    Byla vydána nová verze 255 správce systému a služeb systemd (GitHub, NEWS). Z novinek lze vypíchnout například novou službu systemd-bsod.service.

    Ladislav Hagara | Komentářů: 0
     (36%)
     (12%)
     (52%)
    Celkem 91 hlasů
     Komentářů: 2, poslední 6.12. 22:12
    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: 202×
    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.