概率编程——Figaro的HelloWorld示例

阅读: 评论:0

概率编程——Figaro的HelloWorld示例

概率编程——Figaro的HelloWorld示例

文章目录

  • 概率编程——Figaro的HelloWorld示例
    • 0. 导包
    • 1. 定义概率模型
    • 2. 推测方法
    • 3. Main 预测

概率编程——Figaro的HelloWorld示例

0. 导包

a.figaro.algorithm.factored.VariableElimination
a.figaro.language.{Flip, Select}
a.figaro.librarypound.If

1. 定义概率模型

  // 今天天气的概率:晴天0.9,不是晴天0.1val sunnyToday = Flip(0.9)val greetToday = If(sunnyToday,// 如果今天是晴天:说Hello的概率是0.6,说Howdy的概率是0.4Select(0.6 -> "Hello World!", 0.4 -> "Howdy, universe!"),// 如果今天不是晴天:说Hello的概率是0.2,说Howdy的概率是0.8Select(0.2 -> "Hello World!", 0.8 -> "Howdy, universe!"))val sunnyTomorrow = If(sunnyToday,// 如果今天是晴天:明天是晴天的概率是0.8Flip(0.8),// 如果今天是晴天:明天是晴天的概率是0.05Flip(0.05))val greetingTomorrow = If(sunnyTomorrow,// 如果明天是晴天:说Hello的概率是0.6,说Howdy的概率是0.4Select(0.6 -> "Hello World!", 0.4 -> "Howdy, universe!"),// 如果明天是晴天:说Hello的概率是0.2,说Howdy的概率是0.8Select(0.2 -> "Hello World!", 0.8 -> "Howdy, universe!"))

2. 推测方法

  • 预测今天的问候语
  def predict(): Unit = {val result = VariableElimination.probability(greetToday, "Hello World!")println(s"Today's greeting is 'Hello World' with probability $result.")}
  • 根据今天问候语是Hello World这一事实,推断今天的天气
  def infer(): Unit = {greetToday.observe("Hello World!")val result = VariableElimination.probability(sunnyToday, true)println("If today's greeting is 'Hello World', " +s"today's weather is sunny with probability $result.")}
  • 根据今天问候语是Hello World这一事实,预测明天的问候语
  def learnAndPredict(): Unit = {greetToday.observe("Hello World!")val result = VariableElimination.probability(greetingTomorrow, "Hello World!")println("If today's greeting is 'Hello World', " +s"tomorrow's greeting will be 'Hello World' with probability $result.")}

3. Main 预测

  def main(args: Array[String]): Unit = {predict()infer()learnAndPredict()}

本文发布于:2024-02-05 04:48:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170724493163170.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:示例   概率   Figaro   HelloWorld
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23