Skip to contents

N' = N + nvl * pending; W' = W - nvl * pending; Q' = W'/N'.

Usage

Virtloss(W, N, pending, nvl = 1)

Arguments

W

Accumulated action values (total, not mean).

N

Visit counts.

pending

Threads currently inside each child.

nvl

Virtual losses charged per in-flight thread.

Value

List with Q, N, W, Qclean, k, nvl.

References

Chaslot, Winands and van den Herik (2008), Computers and Games 2008, LNCS 5131, 60-71, Sect. 3.3, read from the authors' own PDF. They describe the rule qualitatively; the arithmetic here is its counter form and nothing further is claimed.

Examples

Virtloss(W = c(1, 2, 3, 4, 5, 6, 7, 8), N = c(1, 2, 3, 4, 5, 6, 7, 8),
  pending = c(1, 2, 3, 4, 5, 6, 7, 8))
#> $Q
#> [1] 0 0 0 0 0 0 0 0
#> 
#> $N
#> [1]  2  4  6  8 10 12 14 16
#> 
#> $W
#> [1] 0 0 0 0 0 0 0 0
#> 
#> $Qclean
#> [1] 1 1 1 1 1 1 1 1
#> 
#> $k
#> [1] 8
#> 
#> $nvl
#> [1] 1
#> 
#> $method
#> [1] "Virtual loss in parallel MCTS (Chaslot et al. 2008 Sect. 3.3)"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"