WebPPL:return 只有一个结果
WebPPL: return just one result
我有以下内容:
var rand = Infer({method: 'enumerate'}, function() {
var A = randomInteger({n: 4})
var B = randomInteger({n: 4})
condition(A == B)
return {A:A, B:B}
})
$ webppl test.wppl
Marginal:
{"A":3,"B":3} : 0.25
{"A":2,"B":2} : 0.25
{"A":1,"B":1} : 0.25
{"A":0,"B":0} : 0.25
我想测试 n > 1000,但我会得到 > 1000 行的结果。
我应该使用什么作为 return 来只返回一个结果 f.e。
{"A":_,"B":_} : 0.25
这行得通,但看起来很老套
condition(A == B)
return A == 1 ? {A:A, B:B} : 'rest'
我有以下内容:
var rand = Infer({method: 'enumerate'}, function() {
var A = randomInteger({n: 4})
var B = randomInteger({n: 4})
condition(A == B)
return {A:A, B:B}
})
$ webppl test.wppl
Marginal:
{"A":3,"B":3} : 0.25
{"A":2,"B":2} : 0.25
{"A":1,"B":1} : 0.25
{"A":0,"B":0} : 0.25
我想测试 n > 1000,但我会得到 > 1000 行的结果。
我应该使用什么作为 return 来只返回一个结果 f.e。
{"A":_,"B":_} : 0.25
这行得通,但看起来很老套
condition(A == B)
return A == 1 ? {A:A, B:B} : 'rest'