Update Parallel.hs
This commit is contained in:
parent
dca18e4009
commit
60a2b7973f
@ -7,31 +7,31 @@ import Control.Parallel.Strategies
|
||||
import Control.DeepSeq
|
||||
import KomplizierteFunktion
|
||||
|
||||
-- Sie sollen Minima einer komplizierten Funktion finden. Die Funktion erlaubt keine analytische Berechnung
|
||||
-- der Maxima. Daher sollen Sie im Intervall [-10,10] für alle Parameter x y z w approximativ Maxima suchen.
|
||||
|
||||
-- komplizierteFunktion :: Double -> Double -> Double -> Double -> Double
|
||||
|
||||
berechnungMitEingabe :: Double -> Double -> Double -> Double -> ((Double,Double,Double,Double),Double)
|
||||
berechnungMitEingabe x y z w = ((x,y,z,w),komplizierteFunktion x y z w)
|
||||
|
||||
-- Parallelisieren Sie nBesteEingaben mit drei verschiedenen Strategien für Listen bzw. Lazy Listen
|
||||
nBesteEingaben :: Int -> Double -> [((Double,Double,Double,Double),Double)]
|
||||
nBesteEingaben n d = take n $ sortOn (negate.snd) $ berechnungMitEingabe <$> range <*> range <*> range <*> range
|
||||
where range = [(-10),(-(10-d))..10]
|
||||
nBesteEingaben n d = take n $ sortOn (negate.snd) berechnungen
|
||||
where
|
||||
berechnungen = berechnungMitEingabe <$> range <*> range <*> range <*> range
|
||||
range = [(-10),(-(10-d))..10]
|
||||
|
||||
-- 3 x dieselbe implementation -> versuchen sie 3 verschiedene Strategien der Parallelisierung
|
||||
-- TODO: IMPLEMENTIEREN
|
||||
nBesteEingabenPar1 :: Int -> Double -> [((Double,Double,Double,Double),Double)]
|
||||
nBesteEingabenPar1 n d = take n $ sortOn (negate.snd) berechnungen
|
||||
where
|
||||
berechnungen = berechnungMitEingabe <$> range <*> range <*> range <*> range
|
||||
range = [(-10),(-(10-d))..10]
|
||||
|
||||
-- TODO: IMPLEMENTIEREN
|
||||
nBesteEingabenPar2 :: Int -> Double -> [((Double,Double,Double,Double),Double)]
|
||||
nBesteEingabenPar2 n d = take n $ sortOn (negate.snd) berechnungen
|
||||
where
|
||||
berechnungen = berechnungMitEingabe <$> range <*> range <*> range <*> range
|
||||
range = [(-10),(-(10-d))..10]
|
||||
|
||||
-- TODO: IMPLEMENTIEREN
|
||||
nBesteEingabenPar3 :: Int -> Double -> [((Double,Double,Double,Double),Double)]
|
||||
nBesteEingabenPar3 n d = take n $ sortOn (negate.snd) berechnungen
|
||||
where
|
||||
|
Loading…
Reference in New Issue
Block a user