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 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 14:22 | IT novinky

    Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.

    Ladislav Hagara | Komentářů: 8
    včera 04:22 | Nová verze

    SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 7
    včera 03:11 | Zajímavý projekt

    Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační

    … více »
    NUKE GAZA! 🎆 | Komentářů: 8
    15.3. 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    15.3. 14:33 | Nová verze Ladislav Hagara | Komentářů: 1
    15.3. 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 4
    14.3. 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 2
    14.3. 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1095 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Algoritmus výpočtu

    16.8.2010 11:27 Vjetnam
    Algoritmus výpočtu
    Přečteno: 523×
    Zdravím, potřeboval bych pomoci z vytvořením optimálního algoritmu.
    Zadání:
    V internetovém obchode je možno zakoupit zboží v různých baleních za různou cenu.
    např.
    
    bal1 (1ks, 20kč/ks)
    bal2 (5ks, 18kč/ks)
    bal3 (10ks, 19kč/ks)
    bal4 (50ks, 17kč/ks)

    Zákazník požaduje např 78ks zboží a program by měl optimální počty balení vložit do košíku, aby to pro zázaníka bylo cenově nejvýhodnější.

    Takže v tomto případě 1*bal4, 5*bal2, 3*bal1.

    Napadá vás jiné řešení než zkoušet všechny možné kombinace a poté vyhodnotit která je nejvýhodnější.

    Díky.

    Řešení dotazu:


    Odpovědi

    16.8.2010 12:03 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    seřadit si to sestupně podle ceny za kus a pak beze zbytku dělit a zbytek zase a zase .....
    78  / 50 = 1
    (28)/ 5  = 5
    (3) / 10 = 0
    (3) / 1  = 3
    (0)
    
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    16.8.2010 12:07 Vjetnam
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Takto to mám uděláno teď ale ve specifických případech to nefunguje. např.
    bal1 (1ks, 100kč/ks)
    bal2 (7ks, 10kč/ks)
    bal3 (20ks 9kč/ks)
    a zákazník požaduje 21ks

    dle tohoto by vyšlo 1*bal3 + 1*bal1 výsledná cena 280kč

    správně by mělo být 3*bal2 výsledná cena 210kč

    16.8.2010 12:24 chrono
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Tie balenia máš zoradené naopak (najskôr máš hľadať najväčšie balenia).
    16.8.2010 12:27 Vjetnam
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    To samozřejmě ano. ale podle navrhovaného způsobu celočíselného dělení to fungovat v tomto případě prostě nebude.
    ava avatar 16.8.2010 12:10 ava | skóre: 10
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Press any key to continue, or any other key to cancel
    16.8.2010 12:55 Vjetnam
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Díky za nasměrování. To je přesně ten můj problém. I když nejsem zrovna happy že to není triviální :-/
    22.8.2010 22:38 Vladimír Čunát | skóre: 19
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    NP-úplnost nemusí být až tak velká překážka. Třeba pro batoh zrovna existuje jednoduchý pseudopolynomiální algoritmus. Dá se najít třeba na http://en.wikipedia.org/wiki/Knapsack_problem v sekci "Dynamic programming solution". IMO je to pro zadání jako v příkladu velmi dobře použitelný algoritmus - je jednoduchý a rozhodně lepší než zkoušení všech možností.
    16.8.2010 12:16 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Princip: znám-li nejnižší cenu pro 1 až n kusů, pak mohu spočítat i nejnižší cenu pro n+1 kusů. Detaily pak závisí na tom, jestli dovolíte nakoupit i více kusů, než je požadováno (bude-li cena nižší).
    16.8.2010 12:29 Vjetnam
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Cíl je aby zákazník dostal do košíku přesný počet kusů který požadoval. Takže ne.
    16.8.2010 13:03 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    K je požadovaný počet kusů. Na vstupu jsou dvojice (počet kusů v balení, cena balení).

    Inicializace: Udělám pole arr indexované čísly 1..K, kde i-tý prvek pole je roven nejnižší ceně za balení s i kusy, pokud takové balení neexistuje, je tam nekonečno.

    n-tý krok algoritmu: Prvky 1..n-1 se už nezmění a obsahují optimální cenu za dané počty kusů. Nyní spočítáme optimální cenu za n kusů. M je minimum hodnot arr[i] + arr[n-i] přes všechna i=1..n-1. Nejnižší cena za n kusů je arr[n] <- min(M, arr[n]).
    wamba avatar 16.8.2010 13:14 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    přes všechna i=1..n-1
    stačí přes všechna i=1..(n-1 div 2) jestli se nepletu
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    16.8.2010 15:32 Vjetnam
    Rozbalit Rozbalit vše Re: Algoritmus výpočtu
    Pro zajímavost zde je výpočet který používám.
    class Variation {
    	var $pieces_arr=array();
    	var $prices_arr=array();
    	var $sum_count=0;
    	var $sum_price=0;
    	
    	function Variation() {
    
    	}
    	
    	function setPieces($type, $count, $price){
    		$this->pieces_arr[$type] = $count;
    		$this->prices_arr[$type] = $count*$price;
    		$this->sum_count = array_sum($this->pieces_arr);
    		$this->sum_price = array_sum($this->prices_arr);
    	}
    }
    
    class VariationSolver {
    	var $itemsArr = array();
    	var $reqCount = 0;
    	var $BestVar;
    	
    	function VariationSolver() {
    		$this->BestVar = null;
    	}
    	
    	function setRequestedCount($count){
    		$this->reqCount = $count;
    	}
    	
    	function addVariationItem($type, $piece, $price){
    		$this->itemsArr[] = array($type, $piece, $price);
    	}
    	
    	function compute($level, $VarObj){
    		$max_level = sizeof($this->itemsArr)-1;
    		$increment = $this->itemsArr[$level][1];
    		for ($i = 0; $i==0 || ($i <= $this->reqCount && ($VarObj->sum_count+$increment)<=$this->reqCount) ; $i=$i+$increment) {
    			$VarObj->setPieces($this->itemsArr[$level][0], $i, $this->itemsArr[$level][2]);
    			
    			if ($max_level>$level){
    				$this->compute($level+1, $VarObj);
    			}
    			else {
    				if ($VarObj->sum_count==$this->reqCount){
    					if ($this->BestVar == null || $VarObj->sum_price < $this->BestVar->sum_price){
    						$this->BestVar = $VarObj;
    					}
    				}
    			}
    		}
    	}
    	
    	function getBestVar(){ //slow
    		$this->BestVar = null;
    		if (sizeof($this->itemsArr)>0){
    			$this->compute(0, new Variation());
    		}
    		return $this->BestVar;
    	}
    }
    
    //==== Vypocet ====
    $VS = new VariationSolver();
    $VS->setRequestedCount(100);
    $VS->addVariationItem("N",1,100);    // typ baleni, pocet kusu v baleni, cena za kus
    $VS->addVariationItem("B",2,95);     // typ baleni, pocet kusu v baleni, cena za kus
    $VS->addVariationItem("A1",5,90);    // typ baleni, pocet kusu v baleni, cena za kus
    $VS->addVariationItem("D",10,98);    // typ baleni, pocet kusu v baleni, cena za kus
    $VS->addVariationItem("IC1",20,81);  // typ baleni, pocet kusu v baleni, cena za kus
    $VS->addVariationItem("IC2",50,80);  // typ baleni, pocet kusu v baleni, cena za kus
    
    print_r( $VS->getBestVar() );
    

    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.