首页 > 其他分享 >play wordle

play wordle

时间:2023-11-14 21:56:56浏览次数:30  
标签:返回 play wordle text 单词 我们 neq

好像烂大街了。。。

这里用的词库有 \(8869\) 个词。

先形式化 wordle 游戏:给定词库 \(S\),所有词的长度为 \(5\),要求你猜一个词 \(w\),每一轮可以输入一个词 \(s\),并返回一个长为 \(5\) 的数列 \(r\):

\[r_i=\begin{cases} 0,& s_i\neq w_i,\forall j,s_i\neq w_j\\ 1,& s_i\neq w_i,\exist j,s_i=w_j\\ 2,& s_i=w_i \end{cases}\]

你需要根据 \(r\) 在 \(6\) 轮之内猜出 \(w\)。

首先我们有一个很简单的做法:我们用集合 \(T\) 保存所有的可行词汇,每次等概率随机一个词出来,并根据返回的信息把 \(T\) 中不满足的词排除掉,直到只有一个词。

这里用了 \(\text{other}\),\(\text{snail}\),\(\text{crane}\) 这样包含一些比较常见字母组合的词来作第一个,经过测试,大约 \(4300\) 个词可以在六次猜测之内得到。

仔细考虑一下,我们选择的词不同,实际上能把集合 \(T\) 缩小的程度也不同。例如同样返回是 \(\forall i,r_i=0\),\(\text{crane}\) 和 \(\text{guggl}\) (似乎是咯咯笑的意思) 这两种词给我们的反馈就不同,不包含 \(\text{g,u,l}\) 的单词似乎很多,而不包含 \(\text{c,r,a,n,e}\) 的词则很少。

所以我们可以让这个选择的过程聪明一点,我们不妨给每个单词 \(s\in T\) 估一个价值 \(w(s)\) 表示 “选择这个单词大概能把 \(S\) 缩减的程度”,每次选价值最大的单词。

那么该如何具体量化这个价值呢?

现在我们设定一个要输出的词 \(s\),考察一下返回的 \(r\) 会是什么样子,我们知道 \(r\) 有 \(3^5\) 种可能,通过枚举哪些词是答案,我们可以计算出返回使得返回某个特定 \(r\) 的概率的答案词汇有多少个,记为 \(f(r)\)。也就是说,询问 \(s\) 后 \(T\) 的大小会被减少到 \(f(r)\),同时因为成为答案的单词在 \(T\) 中等概率随机,返回这个 \(r\) 的概率会是 \(\frac{f(r)}{T}\)。

标签:返回,play,wordle,text,单词,我们,neq
From: https://www.cnblogs.com/yukari1735/p/17832674.html

相关文章

  • PotPlayer如何外挂中英文双字幕及使用自动翻译功能[转]
     文章来源:https://www.xiaoheiwoo.com/video-players-double-subtitle-setting/ 疯狂的小黑 • 2022年9月19日上午1:27 • 软件/工具 • 阅读10557在口袋资源网下载过视频教程的同学都知道,我们的课程都是配中文字幕的。但是如何在播放视频的时候,挂载上中文字幕呢......
  • 从DPlayer说起,有哪些开源的H5播放器
    引言​ H5指的是HTML5,也就是介绍网页播放器(只是列出而已)。首先我不是什么大佬,并没有完全体验过以下我会介绍的全部播放器;其次,因为我水平比较低,主要介绍拥有中文文档的播放器,不了解开发的朋友当成科普看看就行,平常用不到,了解的可以补充一下还有哪些,毕竟我收集的肯定不全,最好能补......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-27-处理单选和多选按钮-番外篇
    1.简介前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何使用playwright来处理单选按钮和多选按钮进行自动化测试,想必大家都已经掌握的八九不离十了吧。这一篇其实也很简单:就是宏哥在网上找了一个问卷调查例子......
  • selenium和playwright的区别和使用方法
    Selenium和Playwright都是自动化测试工具,可以用于模拟用户操作、执行测试脚本、验证网站功能和性能等。它们的主要区别在于实现方式和功能特性。1.实现方法Selenium是基于浏览器驱动的自动化测试工具,支持多种编程语言和多种浏览器。Selenium通过启动浏览器驱动程序(如Chrome......
  • VB.NET 添加控件方法-“Windows Media Player”组件
    “工具箱”——“所有Windows窗体”中单击右键,选择“选择项”菜单 打开“选择工具箱项”窗口,选择“COM组件”标签,在列表中找到并勾选“WindowsMediaPlayer”组件,单击“确定”按钮  将该组件添加到指定的工具箱选项卡中然后在工具箱里面找WindowsMediaPlayer控件......
  • playwright操作iframe
    先定位到iframe,赋值给frame,在通过fram进行定位元素即可可以使用page.frame_locator()或locator.frame_locator()frame=page.fram_locator('[id^=x-URS-iframe]')接下来就正常的定位元素frame=page.get_by_placeholder('输入账号').fill('test') ......
  • playwright页面元素操作
    一、fill()输入page.locator('#username').fill('输入内容')  #先定位在输入page.get_by_label("用户名").fill('输入内容')  #先定位在输入page.fill('#username','test') #直接调用fill这里需要注意,第1,3两种定位方式只可以使用以下四种定位方式1.css选择器:......
  • 软件测试|web自动化测试神器playwright教程(三十八)
    简介在我们使用selenium时,我们可以获取元素的属性,元素的文本值,以及输入框的内容等,作为比selenium更为强大的web自动化测试神器,playwright也可以实现对元素属性,文本值和输入框内容的抓取,并且实现比selenium更为简单,本文我们就为大家介绍一下使用playwright获取元素属性,元素文本值以......
  • playwright启动一个浏览器
    一、start()和stop()的方式:fromplaywright.sync_apiimportsync_playwrightplaywright=sync_playwright().start()browser=playwright.chromium.launch(headless=False)#启动chromium浏览器page=browser.new_page()#打开一个标签页page.goto("http://xxx.xx.......
  • playwright录制脚本启动运行
    安装好playwright:pipinstallplaywright终端输入启动命令:playwrightcodegenhttp://xxx.xx.xxx:xx/login点击回车,启动运行,操作后右侧有操作脚本 ......