From: Matt McCutchen Date: Sat, 2 Aug 2008 20:23:07 +0000 (-0400) Subject: Rename numAsWt to more appropriate widenInteger. X-Git-Url: https://mattmccutchen.net/match/match.git/commitdiff_plain/96fe6497f12c2bfcb3988070197d1876f52237cf Rename numAsWt to more appropriate widenInteger. --- diff --git a/program/PMDefaults.hs b/program/PMDefaults.hs index 2f4a687..3504e06 100644 --- a/program/PMDefaults.hs +++ b/program/PMDefaults.hs @@ -53,7 +53,7 @@ marginalVeryBoringCost = \lx -> 1000 + lx*1000, -- Cost to make a review. Used by the evaluator too. -- I'm using quadratic cost functions as a first attempt. -assignmentCost = \pref -> (numAsWt 10 + pref) ^ 2, +assignmentCost = \pref -> (widenInteger 10 + pref) ^ 2, -- Bonus for a first knowledgeable or expert review. knowledgeableBonus = 1000, @@ -75,6 +75,6 @@ topicZipfExponent = -0.5, -- its "unhappiness". Default is [reviewsEachProposal, ..., 1] since it's most -- important for the best review to be good. reviewEvalWeights = let rep = reviewsEachProposal pmDefaults in - map numAsWt [rep, rep-1 .. 1] + map widenInteger [rep, rep-1 .. 1] } diff --git a/program/PMInstance.hs b/program/PMInstance.hs index acb6843..70d7529 100644 --- a/program/PMInstance.hs +++ b/program/PMInstance.hs @@ -5,7 +5,7 @@ import ArrayStuff import Formatter type Wt = Double -- Can be any RealFrac. -numAsWt x = fromInteger (toInteger x) +widenInteger x = fromInteger (toInteger x) data PMInstance = PMInstance Int -- numReviewers diff --git a/program/PMInstanceGenerator.hs b/program/PMInstanceGenerator.hs index 0f78b02..4324546 100644 --- a/program/PMInstanceGenerator.hs +++ b/program/PMInstanceGenerator.hs @@ -35,7 +35,7 @@ data ProposalInfo = ProposalInfo { } randomTopic cfg = withWeight $ - map (\i -> (numAsWt (i+1) ** topicZipfExponent cfg, return i)) + map (\i -> (widenInteger (i+1) ** topicZipfExponent cfg, return i)) [0 .. numTopics cfg - 1] randomProposalInfo cfg = do diff --git a/program/ProposalMatcher.hs b/program/ProposalMatcher.hs index 96c2c32..d435d67 100644 --- a/program/ProposalMatcher.hs +++ b/program/ProposalMatcher.hs @@ -54,7 +54,7 @@ doReduction cfg (PMInstance numRvrs numProps rloadA prefA) = let totalReviews = (reviewsEachProposal cfg) * numProps totalRelativeLoad = foldl (+) 0 (map (rloadA !) [0 .. numRvrs - 1]) - targetLoad i = ceiling (numAsWt totalReviews * (rloadA ! i) / totalRelativeLoad) + targetLoad i = ceiling (widenInteger totalReviews * (rloadA ! i) / totalRelativeLoad) -- A...H refer to idea book p.429 edgesABC = do i <- [0 .. numRvrs - 1] @@ -62,13 +62,13 @@ doReduction cfg (PMInstance numRvrs numProps rloadA prefA) = let freeEdgeA = (source, rvrNode i 0, REdge undefined tl 0) let nonfreeEdgesA = do l <- [tl .. tl + (loadTolerance cfg) - 1] - let costA = marginalLoadCost cfg ((numAsWt (l - tl) + 1/2) / numAsWt (loadTolerance cfg)) + let costA = marginalLoadCost cfg ((widenInteger (l - tl) + 1/2) / widenInteger (loadTolerance cfg)) [(source, rvrNode i 0, REdge undefined 1 costA)] let edgesBC = do l <- [0 .. tl + (loadTolerance cfg) - 1] - let costB = marginalBoringCost cfg ((numAsWt l + 1/2) / numAsWt tl) + let costB = marginalBoringCost cfg ((widenInteger l + 1/2) / widenInteger tl) let edgeB = (rvrNode i 0, rvrNode i 1, REdge undefined 1 costB) - let costC = marginalVeryBoringCost cfg ((numAsWt l + 1/2) / numAsWt tl) + let costC = marginalVeryBoringCost cfg ((widenInteger l + 1/2) / widenInteger tl) let edgeC = (rvrNode i 1, rvrNode i 2, REdge undefined 1 costC) [edgeB, edgeC] [freeEdgeA] ++ nonfreeEdgesA ++ edgesBC