trueskill-ranked 1.0 → 1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,4 +14,7 @@ class Factor
14
14
  def var
15
15
  @vars[0]
16
16
  end
17
+ def to_s
18
+ return "<Factor "+self.object_id.to_s+">"
19
+ end
17
20
  end
@@ -24,4 +24,7 @@ class LikelihoodFactor < Factor
24
24
  a=1.0/(1.0+@variance*msg.pi)
25
25
  return @mean.update_message(self,a*msg.pi,a*msg.tau)
26
26
  end
27
+ def to_s
28
+ return "<LiklihoodFactor "+self.object_id.to_s+">"
29
+ end
27
30
  end
@@ -14,4 +14,7 @@ class PriorFactor < Factor
14
14
  value=Gaussian.new @val.mu,sigma
15
15
  var.update_value self,0,0,value
16
16
  end
17
+ def to_s
18
+ return "<PriorFactor "+self.object_id.to_s+">"
19
+ end
17
20
  end
@@ -60,6 +60,8 @@ class SumFactor < Factor
60
60
  tau=pi*tausum.inject{|sum,x| sum + x }
61
61
  return var.update_message(self,pi,tau)
62
62
  end
63
-
63
+ def to_s
64
+ return "<SumFactor "+self.object_id.to_s+">"
65
+ end
64
66
  end
65
67
 
@@ -25,4 +25,7 @@ class TruncateFactor < Factor
25
25
  tau=(div.tau+sqrt_pi*v)/denom
26
26
  return var.update_value(self,pi,tau)
27
27
  end
28
+ def to_s
29
+ return "<TruncateFactor "+self.object_id.to_s+">"
30
+ end
28
31
  end
@@ -42,6 +42,8 @@ class Variable < Gaussian
42
42
  def []=(y,value)
43
43
  @messages[y]=value
44
44
  end
45
-
45
+ def to_s
46
+ return "<Variable "+self.object_id.to_s+" mu="+self.mu.to_s+" sigma= "+self.sigma.to_s+">"
47
+ end
46
48
  end
47
49
 
@@ -138,13 +138,13 @@ class TrueSkillObject
138
138
  delta=0
139
139
  (teamdiff_len-1).times do |x2|
140
140
  teamdiff_layer[x2].down
141
- delta=[delta,trunc_layer[x].up].max
142
- teamdiff_layer[x].up(1)
141
+ delta=[delta,trunc_layer[x2].up].max
142
+ teamdiff_layer[x2].up(1)
143
143
  end
144
144
  (teamdiff_len-1).step(0,-1) do |x2|
145
145
  teamdiff_layer[x2].down
146
- delta=[delta,trunc_layer[x].up].max
147
- teamdiff_layer[x].up(0)
146
+ delta=[delta,trunc_layer[x2].up].max
147
+ teamdiff_layer[x2].up(0)
148
148
  end
149
149
  end
150
150
  if delta<=min_delta
@@ -164,6 +164,8 @@ class TrueSkillObject
164
164
  end
165
165
  def transform_ratings(rating_groups, ranks=nil, min_delta=DELTA)
166
166
  rating_groups=validate_rating_groups(rating_groups)
167
+ #pp "Start groups"
168
+ #pp rating_groups
167
169
  group_size=rating_groups.length
168
170
  if ranks.nil?
169
171
  ranks=Array(0..group_size-1)
@@ -178,17 +180,27 @@ class TrueSkillObject
178
180
  sorting.each do |x,g|
179
181
  unsorting_hint << x
180
182
  end
183
+ #pp "Sorted Groups"
184
+ #pp sorted_groups
185
+ #pp "Sorted Ranks"
186
+ #pp sorted_ranks
181
187
  layers=build_factor_graph(sorted_groups,sorted_ranks)
182
188
  run_schedule(layers[0],layers[1],layers[2],layers[3],layers[4])
183
189
  rating_layer,team_sizes=layers[0],_team_sizes(sorted_groups)
190
+ #pp "Team Sizes"
191
+ #pp team_sizes
192
+ #pp "Rating Layer"
193
+ #pp rating_layer
184
194
  transformed_groups=[]
185
195
  ([0]+team_sizes.take(team_sizes.size - 1)).zip(team_sizes).each do |start,ending|
186
196
  group=[]
187
- rating_layer[start,ending].each do |f|
197
+ rating_layer[start...ending].each do |f|
188
198
  group << Rating.new(f.var.mu,f.var.sigma)
189
199
  end
190
200
  transformed_groups << Array(group)
191
201
  end
202
+ #pp "Transformed"
203
+ #pp transformed_groups
192
204
  unsorting=unsorting_hint.zip(transformed_groups).sort { |x,y| x[0]<=>y[0]}
193
205
  output=[]
194
206
  unsorting.each do |x,g|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trueskill-ranked
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '1.1'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: