Haskellの0-1ナップサック問題を解決するために、次のシグネチャを持つ関数を実装しています。
knapsack :: [Item] -> Capacity -> [Item]
およびファイルは次のようItem
にCapacity
定義されます。
type Value = Int
type Weight = Int
type Capacity = Int
type Item = (Value, Weight)
より良いパフォーマンスを実現するために、メモ化したいと思います。Data.MemoCombinatorsを使用しようとしましたが、動作させる方法がわかりません。
ヒントを教えていただけますか?