【文件属性】:
文件名称:Multi-armed-Bandit-Algorithms:Golang中的多臂Bandit算法
文件大小:755KB
文件格式:ZIP
更新时间:2021-05-11 10:43:32
Go
多臂强盗算法
Golang中的多臂强盗算法。
这是什么
这是解决多武装匪徒问题的算法。
尽管有很多算法可以解决此问题,但到目前为止,我还是实现了UCB1和epsilon-greedy策略。
简单来说,我想武器的所有成功概率都将遵循bernoulli分布。
如何编译
$ go build main.go
如何使用
$ ./main -s=[FilePath] -i=[Number]
-s = prob.d的文件路径
-i =
0:Epsilon贪婪,
1:UCB1,
2:Softmax,
3:汤普森采样
例如, $ ./main -s=./arms/prob.d -i=1
您还可以修改试验次数和最大武器数。 (它们在main.go中定义为常量。)
如果要添加另一条手臂,则需要修改“ ./arms/prob.d”并添加该手臂的成功概率。
结果(使用UCB算法时)
----
【文件预览】:
Multi-armed-Bandit-Algorithms-master
----algs()
--------epsilon_greedy.go(993B)
--------ucb1.go(696B)
--------common.go(498B)
--------softmax.go(1KB)
--------thompson.go(1KB)
----agent()
--------agent.go(85B)
----arms()
--------prob.d(15B)
--------arms.go(549B)
----main(2.03MB)
----main.go(4KB)
----README.md(2KB)
----clean.sh(65B)