Compare commits
No commits in common. "58efb6fec886dad1c72b2b81293cdf7dd7eaa1b1" and "5f052f8d98fe534a37a4c66e96e134e04fa21b87" have entirely different histories.
58efb6fec8
...
5f052f8d98
@ -29,6 +29,7 @@ func RunAuction(g BidderGenerator) (float64, Bidder) {
|
|||||||
return prevBid, highBidder
|
return prevBid, highBidder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RunAuctionVerbosely simulates a single-bid second-price auction with no
|
* RunAuctionVerbosely simulates a single-bid second-price auction with no
|
||||||
* reserve price between all bidders emitted by the provided generator,
|
* reserve price between all bidders emitted by the provided generator,
|
||||||
@ -38,7 +39,7 @@ func RunAuction(g BidderGenerator) (float64, Bidder) {
|
|||||||
* Use CappedBidderGenerator to limit the size of the auction and therefore
|
* Use CappedBidderGenerator to limit the size of the auction and therefore
|
||||||
* the number of bidders on the list.
|
* the number of bidders on the list.
|
||||||
*/
|
*/
|
||||||
func RunAuctionVerbosely(g BidderGenerator) (float64, []Bidder) {
|
func RunAuctionVerbosely(g BidderGenerator) float64, []Bidder {
|
||||||
var bidders []Bidder
|
var bidders []Bidder
|
||||||
for b, ok := g.Generate(); ok; b, ok = g.Generate() {
|
for b, ok := g.Generate(); ok; b, ok = g.Generate() {
|
||||||
bidders = append(bidders, b)
|
bidders = append(bidders, b)
|
||||||
|
@ -57,9 +57,8 @@ type Bidder struct {
|
|||||||
/**
|
/**
|
||||||
* ValueBelief returns how much the bidder *thinks* the item is worth to them.
|
* ValueBelief returns how much the bidder *thinks* the item is worth to them.
|
||||||
* The actual value to them is b.Value.
|
* The actual value to them is b.Value.
|
||||||
*/
|
|
||||||
func (b Bidder) ValueBelief() float64 {
|
func (b Bidder) ValueBelief() float64 {
|
||||||
return b.Value + b.Irrationality
|
return b.Value + b.Irrationality;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -80,7 +79,7 @@ func (b Bidder) BidCeiling() float64 {
|
|||||||
* than their calculated ceiling if they had the money to do so, but they don't.
|
* than their calculated ceiling if they had the money to do so, but they don't.
|
||||||
*/
|
*/
|
||||||
func (b Bidder) CashCapped() bool {
|
func (b Bidder) CashCapped() bool {
|
||||||
return b.ValueBelief() > b.Cash
|
return b.ValueBelief() > b.Cash;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -12,7 +12,7 @@ type Distribution interface {
|
|||||||
* Draw returns the next float64 from the distribution and true, or
|
* Draw returns the next float64 from the distribution and true, or
|
||||||
* zero and false if the distribution is exhausted or otherwise unusable.
|
* zero and false if the distribution is exhausted or otherwise unusable.
|
||||||
*/
|
*/
|
||||||
Draw() (float64, bool)
|
Draw() float64, bool
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,7 +23,7 @@ type BidderGenerator interface {
|
|||||||
* Generate returns the next Bidder and true, or a zero Bidder and false if
|
* Generate returns the next Bidder and true, or a zero Bidder and false if
|
||||||
* the generator is exhausted or otherwise unusable.
|
* the generator is exhausted or otherwise unusable.
|
||||||
*/
|
*/
|
||||||
Generate() (Bidder, bool)
|
Generate() Bidder, bool
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,7 +53,7 @@ func (b *BiddersFromDistributions) Generate() (Bidder, bool) {
|
|||||||
return Bidder{}, false
|
return Bidder{}, false
|
||||||
}
|
}
|
||||||
|
|
||||||
return Bidder{
|
return Bidder {
|
||||||
Value: value,
|
Value: value,
|
||||||
Irrationality: irrationality,
|
Irrationality: irrationality,
|
||||||
Cash: cash,
|
Cash: cash,
|
||||||
@ -76,7 +76,7 @@ type NormalDistribution struct {
|
|||||||
* Draw implements Distribution.
|
* Draw implements Distribution.
|
||||||
*/
|
*/
|
||||||
func (n *NormalDistribution) Draw() (float64, bool) {
|
func (n *NormalDistribution) Draw() (float64, bool) {
|
||||||
return n.Rand.NormFloat64()*n.StdDev + n.Mean, true
|
return n.Rand.NormFloat64() * n.StdDev + n.Mean, true
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -88,7 +88,7 @@ type ConstDistribution float64
|
|||||||
* Draw implements Distribution.
|
* Draw implements Distribution.
|
||||||
*/
|
*/
|
||||||
func (c ConstDistribution) Draw() (float64, bool) {
|
func (c ConstDistribution) Draw() (float64, bool) {
|
||||||
return float64(c), true
|
return (float64)c, true
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user