haskell - Haskell 函数为非确定性转换系统打印随机生成的轨迹
问题描述
我在让随机数生成器工作时遇到问题,我不知道为什么。我必须在学校的实验室中执行此操作,并且该程序应该通过随机选择下一个状态来打印非确定性转换系统的轨迹。谁能告诉我这有什么问题?
import qualified Data.Set as Set
import System.Random (StdGen)
import qualified System.Random as Random
rngTrace :: Int -> TrSys a -> a -> [a]
rngTrace r tr c =
c : List.unfoldr next c
where
next c =
let cs = tr c in
if null cs then Nothing else Just (Set.elemAt s cs, Set.elemAt s cs )
where
s:ss = Random.randomRs (0, Set.size (tr c) ) (Random.mkStdGen r)
解决方案
推荐阅读
- docker - Docker 摘要应该是不可变的,但构建步骤不同
- mongodb - 我需要将数组元素推送到 mongo Db 文档中的内部元素中
- php - 在 Codeigniter 中更新多个数据
- internet-explorer - 我在用nuxt.js ie11出现错误
- java - JFrame 未在 Eclipse Mac 中打开
- git - 来自 repo 的某个分支的“ git pull ”将获取所有数据还是仅获取该分支?
- format - ZXing 支持的条码格式
- javascript - 向空对象添加新的键值对抛出 TypeError is null 错误
- c# - 当文件输入为空时如何将模型状态设置为有效
- angular - Angular7上集成的AdminLTE的routerLink问题