我们刚刚在我的数据结构类中分配了一个新项目 – 使用马尔可夫链生成文本.

概观

给定输入文本文件,我们创建长度为n个字符的初始种子.我们将它添加到输出字符串中,并根据频率分析选择下一个字符.

This is the cat and there are two dogs.

Initial seed: "Th"

Possible next letters -- i, e, e

Therefore, probability of choosing i is 1/3, e is 2/3.

Now, say we choose i. We add "i" to the output string. Then our seed becomes

hi and the process continues.

我的解决方案

我有3个类,Node,ConcreteTrie和Driver

当然,ConcreteTrie类不是传统意义上的Trie.下面是它的工作原理:

鉴于k = 2的句子:

This is the cat and there are two dogs.

我生成节点Th,嗨,是……,…,gs,s.

这些节点中的每个节点都有子节点,这些子节点跟随它们.例如,Node Th将有孩子i和e.我在每个节点中维护计数,以便稍后我可以生成选择下一个字母的概率.

我的问题:

首先,完成这个项目最有效的方法是什么?我的解决方案似乎非常快,但我真的想把我的教授打掉. (在我的上一个项目编辑距离问题的一个变体,我做了A *,遗传算法,BFS和模拟退火 – 我知道问题是NP-Hard)

第二,这项任务的重点是什么?它似乎与我们课堂上所涉及的很多内容无关.我们应该学习什么?

java实现马尔科夫链_java – 马尔可夫链文本生成相关推荐

  1. 通过Python实现马尔科夫链蒙特卡罗方法的入门级应用

    通过把马尔科夫链蒙特卡罗(MCMC)应用于一个具体问题,本文介绍了 Python 中 MCMC 的入门级应用. GitHub 地址:https://github.com/WillKoehrsen/ai ...

  2. 阿尔法狗怎么用机器学习做决策:马尔科夫链减少搜索空间说起(附PDF公号发“马链搜索”下载)...

    阿尔法狗怎么用机器学习做决策:马尔科夫链减少搜索空间说起(附PDF公号发"马链搜索"下载) 以色列理工Dr许铁 数据简化DataSimp 今天 数据简化DataSimp导读:Alp ...

  3. 结对编程-马尔科夫链作业成绩

    结对编程-马尔科夫链作业成绩 作业博客:http://www.cnblogs.com/vertextao/p/6881960.html 问题 本次作业仅有三位同学按时提交,两位同学延迟提交,出人意料, ...

  4. 第十五课.马尔科夫链蒙特卡洛方法

    目录 M-H采样 Metropolis-Hastings采样原理 M-H采样步骤 Gibbs方法 Gibbs核心流程 Gibbs采样的合理性证明 Gibbs采样实验 在 第十四课中讲述了马尔科夫链与其 ...

  5. 第十四课.马尔科夫链

    目录 马尔科夫链 马尔科夫链的平稳分布 马尔科夫链进入稳态的转移过程 马尔科夫链稳态的意义 稳态判定:细致平稳条件 马尔科夫链 随机过程指的是一个随机变量序列:{Xt}\left\{X_{t}\rig ...

  6. MCMC+马尔科夫链蒙特卡罗

    MCMC+马尔科夫链蒙特卡罗 为了解决什么问题,所以出现了这一种方法? 后来又因为出现了什么新情况,所以产生了对应的变种?

  7. 从马尔科夫链到吉布斯采样与PageRank

    马尔科夫链表示state的链式关系,下一个state只跟上一个state有关. 吉布斯采样通过采样条件概率分布得到的样本点,近似估计概率分布P(z)P(z).PageRank通过节点间的连接,估计节点 ...

  8. 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!

    来源:新智元 本文共2100字,建议阅读9分钟. 本文用可视化的方式来解释抽象的理论概念,使这些抽象概念变得生动而立体! [ 导读 ]马尔科夫链.主成分分析以及条件概率等概念,是计算机学生必学的知识点 ...

  9. MCMC(二)马尔科夫链

    在MCMC(一)蒙特卡罗方法中,我们讲到了如何用蒙特卡罗方法来随机模拟求解一些复杂的连续积分或者离散求和的方法,但是这个方法需要得到对应的概率分布的样本集,而想得到这样的样本集很困难.因此我们需要本篇 ...

最新文章

  1. 用了3年Apollo,这次我选择了Nacos,原因不多说了
  2. 关于ANSI和UTF-8,windows和unix的行结束符
  3. 关联关系和依赖关系的区别
  4. delphi 怎么获取工程版本号
  5. LAMP架构(七)配置防盗链,访问控制
  6. 服务器400_瓜分400万filecoin的入门条件:现货服务器
  7. 软件测试—软件测试基础知识—测试用例设计的方法之等价类和边界值
  8. python12_Python 12 基础知识
  9. java的反射机制(第二篇)
  10. 【机器学习】端到端机器学习实践
  11. switchHosts下载
  12. Linux串口驱动分析及移植
  13. 数据库设计--企业人事管理系统(有关数据库的课程设计)
  14. node.js 下载速度慢问题
  15. manjaro安装与配置(vscode,微信,美化,输入法)
  16. Python3快速入门-Python是什么
  17. android支持的语言
  18. JMeter对接口进行压力测试
  19. 2021秋招嵌入式笔试面试题目汇总
  20. MATLAB学习笔记1——函数调用、参数传递、全局变量使用

热门文章

  1. golang中base64编码_golang中自带base64编码和解码
  2. flask-mail异步发送邮件_使用 python 发送邮件
  3. 3件Unreal Engine 3不得不说的故事
  4. C++_IO与文件5-文件的输入与输出
  5. Spring boot中使用aop详解
  6. sed、head、grep、tail、EOF
  7. java 工作一年_干java工作了快一年,到底会了什么
  8. 怎么让网页中的文字两边留出空白_横线、方格、点阵、空白本,谁才是笔记本中的C位?...
  9. burst什么意思_为什么Windows/iOS操作很流畅而Linux/Android却很卡顿呢?
  10. 程序员说的demo是什么意思_“黄龄说的什么意思”???