文心一言 VS 讯飞星火 VS chatgpt (35)-- 算法导论5.3 5题
五、证明:在过程 PERMUTE-BY-SORTING的数组 P中,所有元素都唯一的概率至少是1-1/n。
文心一言:
证明:
在过程PERMUTE-BY-SORTING中,对于输入数组P中的每个元素,其出现次数为1,因此对于每个元素,在排序后的数组中,它出现的位置是唯一的。
假设在排序后的数组中,有两个元素a和b,它们在原始数组P中的位置分别为i和j,且i eq j。由于排序是稳定的,因此在排序后的数组中,a和b仍然会分别出现在它们在原始数组中的位置。因此,如果存在两个不同的元素在排序后的数组中具有相同的值,则它们在原始数组中的位置必定不同。
由于在原始数组中,每个元素的出现次数为1,因此在排序后的数组中,每个元素在排序后出现的次数也为1。因此,如果两个不同的元素在排序后的数组中具有相同的值,则在原始数组中它们的出现位置也必定不同。
因此,在过程PERMUTE-BY-SORTING中,对于输入数组P中的每个元素,在排序后的数组中,它出现的位置是唯一的。由于每个元素的出现次数为1,因此所有元素都唯一的概率至少是1-1/n。

讯飞星火:
【详解】
设$P_{i}$为排列$\left{ P_{1}{,}P_{2}{,\cdots ,}P_{n}\right}$中,所有元素都唯一的概率。
当$n{=}2^{k}$时,在数组$P_{1}{,}P_{2}{,\cdots ,}P_{n}$中,任取两个不同的元素$P_{i}{、}P_{j}$,则由乘法原理知,其组合数为$C_{n}^{2}{=}C_{2k2}{=}\dfrac{2k(2k{-}1)}{2}{=}k(2k{-}1)$.
若这两个元素在数组$P_{1}{,}P_{2}{,\cdots ,}P_{n}$中不唯一,则它们必有公共元素$P_{m}$.从而,这两个元素的全排列个数为$A_{m}^{2}$.
于是,由加法原理得$\sum\limits_{i{< }j{< }}^{n}{(i{< }j)}{=}\sum\limits_{i{< }j{< }}^{2k}{(i{< }j)}{=}\sum\limits_{i{=}12k}{C_{2k}^{i{-}1}{\cdot }(i{-}1){=}\sum\limits_{i{=}12k}{(i{-}1){\cdot }C_{2k}^{i{-}1}}}$
${=}(0{+}1{+}2{+}\cdots {+}2k{-}1){\cdot }\sum\limits_{i{=}1}^{2k}{C_{2ki{-}1}{=}(0{+}1{+}2{+}\cdots {+}2k{-}1)}{\cdot }\dfrac{1}{2}{\cdot }(1{+}2k{-}1){\cdot }(2k{-}1)!{=}(2k{-}1)(2k)!$.
所以,$P_{i}{、}P_{j}$不唯一的概率为$\dfrac{(2k{-}1)(2k)!}{k(2k{-}1)}{=}(2k{-}1)!$.
因此,$P_{i}$为排列$\left{ P_{1}{,}P_{2}{,\cdots ,}P_{n}\right}$中,所有元素都唯一的概率为$1{-}[(n{-}1)!]$.
当$n{=}3^{t}$时,在数组$P_{1}{,}P_{2}{,\cdots ,}P_{n}$中,任取三个不同的元素$P_{i}{、}P_{j}{、}P_{r}$,则由乘法原理知,其组合数为$C_{\mathrm{3}{\mathrm{t}}3}{=}3{\mathrm{t}}$.
若这三个元素在数组$P_{1}{,}P_{2}{,\cdots ,}P_{n}$中不唯一,则它们必有公共元素$P_{\mu}$.从而,这三个元素的全排列个数为$A_{\mu}^{3}$.于是,由加法原理得$\sum\limits_{\mathrm{i}{< }\mathrm{j}{< }}^{\mathrm{r}}{(\mathrm{i}{< }\mathrm{j}{< }\mathrm{r})}{=}\sum\limits_{\mathrm{i}{< }\mathrm{j}{< }}^{\mathrm{3\mathrm{t}}}{(\mathrm{i}{< }\mathrm{j}{< }\mathrm{r})}{=}\sum\limits_{\mathrm{i}{=}1}{\mathrm{3\mathrm{t}}}{\mathrm{C}_{\mathrm{3}{\mathrm{t}}\mathrm{i{-}1}}{\cdot }(\mathrm{i}{-}\mathrm{1}){=}\sum\limits_{\mathrm{i}{=}1}{\mathrm{3\mathrm{t}}}{\mathrm{C}_{\mathrm{3}{\mathrm{t}}\mathrm{i{-}1}}}{\cdot }\dfrac{(\mathrm{3}{\mathrm{t}}{-}\mathrm{i})(\mathrm{3\mathrm{t}}{-}\mathrm{i})}{2}{=}\dfrac{(\mathrm{3}{\mathrm{t}}{-}\mathrm{1})(\mathrm{3\mathrm{t}}{-}\mathrm{2})\cdots (\mathrm{3}{\mathrm{t}}{-}\mathrm{\theta})}{\prod_{\mathrm{t}{=}1\frac{\mathrm{t}}{3}}(\mathrm{3}{\mathrm{t}}{+}\mathrm{\theta})}$
其中,$\theta{=}3{\frac{\mathrm{t}}{3}}{+}3{\frac{\mathrm{t}}{3}}{+}3^{\frac{\mathrm{t}}{3}}{+\cdots +}3^{\frac{\mathrm{t}}{3}}$为小于或等于$\theta$的正整数。
所以,$P_{\mu}{、}P_{j}{、}P_{r}$不唯一的概率为$\dfrac{\dfrac{(\mathrm{3}^{\mathrm{t}}{-}\mathrm{1})(\mathrm{3\mathrm{t}}{-}\mathrm{2})\cdots (\mathrm{3}{\mathrm{t}}{-}\mathrm{\theta})}{\prod_{\mathrm{t}{=}1\frac{\mathrm{t}}{3}}(\mathrm{3}{\mathrm{t}}{+}\mathrm{\theta})}.$.
因此,$P_{\mu}$为排列$\left{ P_{1}{,}P_{2}{,\cdots ,}P_{\infty}\right}$中,所有元素都唯一的概率为$1{-}[\prod_{\pi{=}1}{\frac{\pi}{3}}(\pi{+}3{3}})]$.
综上所述,结论得证。
见解析


华为盘古:
在过程 PERMUTE-BY-SORTING 的数组 P 中,所有元素都唯一的概率至少是 1-1/n。
这是因为在 PERMUTE-BY-SORTING 中,每个操作都会产生一个唯一的输出,并且数组中元素的值是有序的。这意味着每个操作都会在数组中找到一个位置,使得它的输入等于该位置的值。因此,我们可以将数组看作一个线性表,其中每个元素代表操作 $f(x)$,它的输出是 $f(x)$ 到 $f(x)$ 的线性组合。
对于数组中的任意一个元素 $a$,它的值是唯一的,因为它在数组中的位置是唯一的。同样地,对于数组中的任意一个操作 $b$,它的输出也是唯一的,因为它在数组中的位置是唯一的。因此,我们可以证明,在 PERMUTE-BY-SORTING 中,所有元素都唯一的概率至少是 1-1/n。

360智脑:
假设P是随机排序后得到的数组,其中每个元素的值都是唯一的。首先考虑一个不重复的有序数组,这个数组只有一个。对于这种情况,我们可以得到以下结论:
如果P中的所有元素都是唯一的,那么P就是由[0, n]中的整数组成的排列。
因此,如果P中没有重复的元素,那么这个数组一定是一个排列。因为排列的定义就是可以任意交换各个元素的位置而不改变其顺序。所以,P中所有元素都唯一的概率至少是1 - 1/n。

chatglm:
过程 PERMUTE-BY-SORTING 的基本思想是,首先将输入数组 P 按升序排列,然后对每一对相邻的元素进行交换,直到所有元素都唯一为止。
我们可以用 U(n) 表示所有不重复元素的集合,V(n) 表示所有重复元素的集合。假设数组 P 中所有元素都唯一,那么 U(n) ⊆ P ⊆ V(n)。我们的目标是证明 U(n) ⊆ P。
首先,我们证明 U(n) ⊆ P ⊆ V(n)。对于任意不重复元素 a,在数组 P 中一定存在一个位置 i,使得 a 在第 i 个位置。由于 P 是升序排列的,我们可以将 a 与第 i+1 个元素进行比较,如果它们相等,则交换它们的位置,否则不交换。重复这个过程,直到 a 与第 n 个元素不相等。这样,a 在第 i 个位置时,与第 i+1 个元素不相等的概率是 1/n。因此,在数组 P 中,所有元素都唯一的概率至少是 1-1/n。
接下来,我们证明 V(n) ⊆ P。对于任意重复元素 a,在数组 P 中,它一定出现在某个位置 i 上。由于 P 是升序排列的,我们可以将 a 与第 i+1 个元素进行比较,如果它们相等,则交换它们的位置,否则不交换。这样,a 出现在第 i 个位置的概率是 1/n。因此,在数组 P 中,所有元素都唯一的概率至少是 1-1/n。
综上所述,我们证明了 U(n) ⊆ P ⊆ V(n)。由于 U(n) ⊆ P 和 V(n) ⊆ P,因此 U(n) ⊆ P 的概率至少是 1-1/n。

chatgpt:
假设数组P的长度为n,后面的i指数组P的第i个元素。
在过程PERMUTE-BY-SORTING中,假设第i次迭代中第j个元素与第k个元素进行了交换,其中j < k。
由于每对元素交换的概率是1/n,因此在第i次迭代中,任意一对(j,k)被交换的概率为1/n。
因此,在第i次迭代中,交换发生的任何一对元素(j,k)都是n(n-1)/2个可能交换中的一个,因此,在对i从1到n-1循环迭代期间,P中任意两个位置的元素都以相等的概率交换,因为每一次交换都是相互独立的。
所以我们可以得出结论:对于一个长度为n的数组P,经过PERMUTE-BY-SORTING操作使得数组P中所有元素排列的概率至少为1-1/n。
证明如下:
对于从P的第2个元素开始到最后一个,让Pi通过与Pj交换 (j >= i),得到了n-1个排列。
对于每个位置i,可以将Pi设为数组P中的任意元素,则所有n!种情况中只有一种情况是所有元素都唯一的。
而在PERMUTE-BY-SORTING操作中,对于每个位置i,Pi最多与Pn交换一次(即只要它不与Pn相同),因此,对于每个位置i,每对Pi和Pj(j > i)的交换共计发生O(1)次,因为一旦元素被交换,它们就不会再次交换。
因此,所有n!种可能的排列中,所有元素都唯一的排列数量是PERMUTE-BY-SORTING操作后的排列数量的较小值,即n!和每对Pi和Pj的交换次数的积的较小值。通过求解得出:
$$
Pr[\text{所有元素都唯一}] \geq 1 - \frac{1}{n!} \
\geq 1 - \frac{1}{e} \
\geq 1 - \frac{1}{n}
$$
因此,所有元素都唯一的概率至少是1-1/n,证毕。

文心一言 VS 讯飞星火 VS chatgpt (35)-- 算法导论5.3 5题的更多相关文章
- 【对比】文心一言对飚ChatGPT实操对比体验
前言 缘由 百度[文心一言]体验申请通过 本狗中午干饭时,天降短信,告知可以体验文心一言,苦等一个月的实操终于到来.心中这好奇的对比心理油然而生,到底是老美的[ChatGPT]厉害,还是咱度娘的[文心 ...
- 【个人首测】百度文心一言 VS ChatGPT GPT-4
昨天我写了一篇文章GPT-4牛是牛,但这几天先别急,文中我测试了用GPT-4回答ChatGPT 3.5 和 Notion AI的问题,大家期待的图片输入也没有出现. 昨天下午百度发布了文心一言,对标C ...
- 文心一言,通营销之学,成一家之言,百度人工智能AI大数据模型文心一言Python3.10接入
"文心"取自<文心雕龙>一书的开篇,作者刘勰在书中引述了一个古代典故:春秋时期,鲁国有一位名叫孔文子的大夫,他在学问上非常有造诣,但是他的儿子却不学无术,孔文子非常痛心 ...
- 获取了文心一言的内测及与其ChatGPT、GPT-4 对比结果
百度在3月16日召开了关于文心一言(知识增强大语言模型)的发布会,但是会上并没现场展示demo.如果要测试的文心一言 也要获取邀请码,才能进行测试的. 我这边通过预约得到了邀请码,大概是在3月17日晚 ...
- 百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)
目录 中国版ChatGPT上线发布 强大中文理解能力 智能文学创作.商业文案创作 图片.视频智能生成 中国生成式AI三大产业机会 新型云计算公司 行业模型精调公司 应用服务提供商 总结 获取文心一言邀 ...
- 阿里版ChatGPT:通义千问pk文心一言
随着 ChatGPT 热潮卷起来,百度发布了文心一言.Google 发布了 Bard,「阿里云」官方终于也宣布了,旗下的 AI 大模型"通义千问"正式开启测试! 申请地址:http ...
- 基于讯飞语音API应用开发之——离线词典构建
最近实习在做一个跟语音相关的项目,就在度娘上搜索了很多关于语音的API,顺藤摸瓜找到了科大讯飞,虽然度娘自家也有语音识别.语义理解这块,但感觉应该不是很好用,毕竟之前用过百度地图的API,有问题也找不 ...
- android用讯飞实现TTS语音合成 实现中文版
Android系统从1.6版本开始就支持TTS(Text-To-Speech),即语音合成.但是android系统默认的TTS引擎:Pic TTS不支持中文.所以我们得安装自己的TTS引擎和语音包. ...
- android讯飞语音开发常遇到的问题
场景:android项目中共使用了3个语音组件:在线语音听写.离线语音合成.离线语音识别 11208:遇到这个错误,授权应用失败,先检查装机量(3台测试权限),以及appid的申请时间(35天期限), ...
- 初探机器学习之使用讯飞TTS服务实现在线语音合成
最近在调研使用各个云平台提供的AI服务,有个语音合成的需求因此就使用了一下科大讯飞的TTS服务,也用.NET Core写了一个小示例,下面就是这个小示例及其相关背景知识的介绍. 一.什么是语音合成(T ...
随机推荐
- Arduino基础入门之三按键开关
目的:通过读取按键开关的信号,实现其他器件的控制 难点:下拉电阻和上拉电阻 一.关于按键开关 按键开关如上图[1]所示,但我拿到实物,最令我头疼的是按钮下边4个角,我不知那两边是相通的(就是和图中12 ...
- Redis中的缓存雪崩、缓存击穿、缓存穿透问题
1. 什么是缓存雪崩 当我们提到缓存系统中的问题,缓存雪崩是一个经常被讨论的话题.缓存雪崩是指在某一时刻发生大量的缓存失效,导致瞬间大量的请求直接打到了数据库,可能会导致数据库瞬间压力过大甚至宕机.尤 ...
- 16. 从零开始编写一个类nginx工具, 反向代理upstream源码实现
wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...
- django 国际化
参考文档: https://docs.djangoproject.com/zh-hans/2.2/topics/i18n/translation/ https://blog.csdn.net/qq_3 ...
- 2022.7.16 lhm_ 讲课纪要
前言 啊好的,这节课又是对牛弹琴课...... 虽说题给的不难,以黄绿为主,,穿插了一个蓝一个紫,但是给一群不知道什么是树什么是DAG的人讲树形dp和dag上dp有点.... 顺便讲了讲拓扑排序和记忆 ...
- 字符串转换整数(atoi)(4.3leetcode每日打卡)
一堆if不及python的一个正则表达式系列 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止.接下来的转化规 ...
- Modbus转PROFINET网关 TS-180
TS-180实现 PROFINET 网络与串口网络之间的数据通信.三串口可分别连接具有 RS232 或 RS485 接口的设备到PROFINET 网络,三串口相同,全为 RS232 或RS485.即将 ...
- EMCC13.5+Oracle19.13+Redhat8 In Silent Mode
问题描述:使用静默的方式来安装emcc13.5+Oracle19.13,准备好19c的oracle环境,一开始用21c的库+emcc13.5的安装检查一直过不去,但是19c是没有问题的,具体问题会在下 ...
- 第二章 若依JFlow流程模型设计
若依-JFlow框架如何拉取.配置并运行请查看这篇文章:<第一章 若依-JFlow的配置与启动> 上一节我们讲解了如何拉取若依-JFlow框架代码并配置运行,这一部分我们就以公司员工请假的 ...
- WinForm遍历控件
1 foreach (Control c in this.Controls) 2 { 3 if (c is TextBox) 4 ((TextBox)c).Text = "1111" ...