1

如何基于元素的值在 scala 函数中返回值?也就是说,根据这段代码,根据“Str”元素的值,必须指定“Unseen”变量的值,并根据“Unseen”的值是真还是假返回一些值.

var Unseen =Apply(Str,(s:String)=> {
    var test = true
    var usBuffer = ArrayBuffer[Int]()
    for(t <- 0 to (T.length - 1)){
      usBuffer += S(s,Pair(pos.toString(),T(t)).toString())
    }

    for(k <- 0 to (usBuffer.length - 1)){
      if(usBuffer(k)!= 0){
        test = false
      }
    }
    if(test){
      true
    }
    else{
      false
    }
  })
4

1 回答 1

0

这个问题有点不清楚。

Figaro 模型由元素组成。要从元素中检索值,您应该在模型上运行推理算法。

在上面的代码片段中,您将确定性函数应用于元素Str

你可以做类似的事情

val p_false = VariableElimination.probability(unseen, false)

这将告诉您unseen错误的概率。

你也可以这样做:

val ve = MPEVariableElimination()
ve.start()
ve.stop()
val most_likely_state = ve.mostLikelyValue(unseen)

鉴于您提供给模型的任何证据,那么most_likely_state将是最有可能的值。unseen

val顺便说一句,使用不可变s 而不是s是一种更惯用的 Scala 风格(在实践中更安全)var

于 2019-11-16T00:52:41.340 回答