文心一言 VS 讯飞星火 VS chatgpt (33)-- 算法导论5.2 5题
五、设A[1..n]是由n个不同数构成的数列。如果i<j且A[i]>A[j],则称(i,j)对为A的一个逆序对(inversion)。(参看思考题2-4 中更多关于逆序对的例子。)假设A的元素构成(1,2,… ,n)上的一个均匀随机排列。请用指示器随机变量来计算其中逆序对的数目期望。
文心一言:
假设A的元素构成(1, 2, ..., n)上的一个均匀随机排列,我们可以使用指示器随机变量来计算其中逆序对的数目期望。
首先,我们定义一个指示器随机变量X(i, j),表示A[i]和A[j]是否构成一个逆序对。如果A[i] > A[j],则X(i, j) = 1,否则X(i, j) = 0。
根据题目描述,A的元素构成(1, 2, ..., n)上的一个均匀随机排列,因此A[i]和A[j]是否构成逆序对的概率是相等的,即P(X(i, j) = 1) = P(X(i, j) = 0) = 1/2。
根据期望的定义,逆序对的数目期望E[X(i, j)]为:
E[X(i, j)] = P(X(i, j) = 1) × 1 + P(X(i, j) = 0) × 0 = 1/2
因此,逆序对的数目期望为:
E[X] = E[X(1, 2)] + E[X(1, 3)] + ... + E[X(1, n)] + E[X(2, 3)] + ... + E[X(n-1, n)]
= (1/2) × (n-1) + (1/2) × (n-2) + ... + (1/2) × 1 + (1/2) × 0
= (1/2) × ((n-1) + (n-2) + ... + 1)
= (1/2) × (n-1)! / 2
= (n-1)! / 4
因此,在均匀随机排列下,逆序对的数目期望为(n-1)! / 4。

讯飞星火:
本题考查了离散型随机变量的期望,属于基础题.
根据题意,得到$X\sim B(n,\dfrac{1}{n})$,即可求出结果.
解:设X为逆序对的数目,则$X=0$,1,2,$\ldots$,n,且$X\sim B(n,\dfrac{1}{n})$.
所以$E(X)=np=1$.

华为盘古:

360智脑:
首先计算所有可能的长度为2的子序列的数量,即对于长度为k的子序列B,它必然包含两个元素a和b,满足a < b,且a与b之间没有其他元素。因此可以构造如下情况:
B = a -> 情况总数为 C(n-1, k-1),因为当a出现在其他位置时,剩下的元素只有k-1个可以选择。
B = b -> 情况总数为 C(n-1, k-1)
B = a, b ≠ a -> 情况总数为 C(n-1, k-2)
总共的可能情况数为C(n-1, n-1)=n!/[(n-1)!*(n-1)]=(n-1)^2
然后考虑长度大于等于3的子序列的情况。由于每个长度为2的子序列都包含了至少一个逆序对,因此可以考虑所有可能的逆序对,而不考虑它们的相对顺序。所以逆序对的数量期望值就等于总逆序对数量的期望乘以逆序对数量除以所有子序列数量的期望。
对于长度大于等于3的子序列B,必然包含三个或更多的元素。因此,当B=ABABC时,只需要将B中的元素按照大小排序即可得到所有长度为3或更长的子序列。也就是说,任意长度大于等于3的子序列B都可以表示成ABABC的形式。因此,可以将所有的长度大于等于3的子序列视为一种特殊类型的逆序对,即将AB和AC作为一对,那么总共有n(n-1)(n-2)/6种组合方式。
最后,将所有可能的逆序对的数量相加即可得到逆序对数量的期望值。

chatglm:
设$X_i$表示第$i$个元素在随机排列中出现的顺序,$Y_i$表示第$i$个元素与第$i$个元素之前的元素构成的逆序对数目。则题目中的要求可以表示为:
期望 [#逆序对] = 期望 [#逆序对,1] + ... + 期望 [#逆序对,n]
其中,期望 [#逆序对,i] 表示第$i$个元素之前的元素构成的逆序对数目的期望。
由于每个逆序对都包含两个元素,因此逆序对的数目的期望可以表示为:
E(X_i) = 2E(Y_i)
其中,$E(X_i)$表示第$i$个元素在随机排列中出现的顺序的期望,$E(Y_i)$表示第$i$个元素与第$i$个元素之前的元素构成的逆序对数目的期望。
为了计算$E(Y_i)$,我们可以使用马尔可夫定理,设$Z_i$表示第$i$个元素与第$i$个元素之前的元素构成的逆序对数目,$P(Z_i=k)$表示第$i$个元素之前有$k$个逆序对的概率。则:
E(Y_i) = Σ[k=1]P(Z_i=k)E(Y_i|Z_i=k)
其中,Σ[k=1] 表示对所有可能的$k$求和,E(Y_i|Z_i=k) 表示第$i$个元素与第$i$个元素之前的元素构成的逆序对数目的期望,根据指示器随机变量的性质,它等于$Z_i$的取值为$k$时的期望。
由于每个逆序对都包含两个元素,因此$Z_i$的取值只可能是$1$或$2$。对于$Z_i=1$,$E(Y_i|Z_i=1)$等于$2E(Y_i|Z_i=2)$的一半,因为对于每个逆序对,至少有一个是在$Z_i=1$的情况下出现的。因此:
E(Y_i) = Σ[k=2]P(Z_i=k)E(Y_i|Z_i=k)
代入马尔可夫定理的公式,可以得到:
E(Y_i) = Σ[k=2]P(Z_i=k)Σ[i=1]^{n-k}P(X_i=i)E(X_i|X_i=i)
其中,Σ[i=1]^{n-k}P(X_i=i) 表示第$i$个元素之前有$k$个逆序对,而其他$n-k$个元素没有逆序对的概率。由于每个元素都可能出现逆序对,因此这个概率等于$P(X_i=i)kP(X_i=i)$。
对于$Z_i=2$,$E(Y_i|Z_i=2)$等于$1$时的期望,即$E(Y_i|Z_i=2) = E(Y_i|Z_i=1)$。因此:
E(Y_i) = Σ[k=2]P(Z_i=k)Σ[i=1]^{n-k}P(X_i=i)E(X_i|X_i=i)
其中,Σ[i=1]^{n-k}P(X_i=i) 表示第$i$个元素之前有$k$个逆序对,而其他$n-k$个元素没有逆序对的概率。由于每个元素都可能出现逆序对,因此这个概率等于$P(X_i=i)kP(X_i=i)$。
代入$P(X_i=i)$的表达式,可以得到:
E(Y_i) = 2Σ[k=2]P(Z_i=k)Σ[i=1]{n-k}P(X_i=i)Σ[j=1]P(Z_j=i)
其中,Σ[j=1]^{n-i}P(Z_j=i) 表示第$j$个元素之前没有逆序对,而第$i$个元素之前有$i-j


chatgpt:
我们可以定义一个指示器随机变量Xi,j,如果(i,j)是A中的一个逆序对,则该指示器取值为1,否则为0。则逆序对的数目可以表示为:
S = ΣXi,j,其中(i,j)为A中的逆序对。
根据期望的线性性质,E(Xi,j)即为Xi,j取1的概率,则:
E(S) = E(ΣXi,j) = ΣE(Xi,j)
现在我们计算E(Xi,j)。
对于任何一对i和j,由于A中所有的排列都是等可能的,因此i和j构成逆序对的概率为1/2,即:
P((i,j)为逆序对) = P(A[i] > A[j]) = 1/2
因此,
E(Xi,j) = P((i, j)为逆序对) = 1/2
于是逆序对的数目期望为:
E(S) = ΣE(Xi,j) = Σ1/2 = n(n-1)/4
因此,期望逆序对的数量是n(n-1)/4。

文心一言 VS 讯飞星火 VS chatgpt (33)-- 算法导论5.2 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 ...
随机推荐
- 其它——Siege压力测试工具使用
文章目录 Siege压力测试工具使用 一 Siege介绍 二 windows 下使用 三 mac和linux使用 四 使用 五 参数详解 六 结果详解 七 修改系统的文件描述符限制 Siege压力测试 ...
- 其它——各主流Linux系统解决pip安装mysqlclient报错
文章目录 一 CentOS(红帽) 二 Ubuntu 三 Windows 一 CentOS(红帽) #CentOS有Python.Mysql的开发工具包,安装后使用pip安装mysqlclient即可 ...
- 关于C++拷贝控制
通常来说,对于类内动态分配资源的类需要进行拷贝控制:要在拷贝构造函数.拷贝赋值运算符.析构函数中实现安全高效的操作来管理内存.但是资源管理并不是一个类需要定义自己的拷贝控制成员的唯一原因.C++ Pr ...
- [第五空间 2021]yet_another_mysql_injection
随便输入进去,发现只有账号是admin可以进入 使用弱密码admin admin,报错为hacker 就没啥办法了,想着F12看一下源码 发现有一个source,打开看看 可以发现username是固 ...
- 数据结构与算法 | 二叉树(Binary Tree)
二叉树(Binary Tree) 二叉树(Binary Tree)是一种树形数据结构,由节点构成,每个节点最多有两个子节点:一个左子节点和一个右子节点. public class TreeNode { ...
- 实用的命令行终端增强软件:Tabby
还是那句话:出众的软件有很多,适合自己的才是最好的. 一.软件介绍 Tabby是一个开源免费软件,支持Windows.macOS和Linux系统.它提供了一个高度可定制的终端界面,可以通过多种方式添加 ...
- P2951 [USACO09OPEN] Hide and Seek S 题解
Problem 题目概述 给你一个无向图,边权都为 \(1\) ,求:离 \(1\) 号点最远的点的编号.最远的距离.有几个点是离 \(1\) 号点最远的. 思路 直接用:优先队列 \(BFS\),先 ...
- 拿到开发板需要做的事情 -- 配置Python环境
1.查看系统时间 date -R 2.修改系统时间 windows上时间项目时间正常,Ubuntu16.04上时间错误 - 贾斯丁哔哔 - 博客园 (cnblogs.com) 3.安装pip3 sud ...
- [Python急救站课程]获取星期字符串
如何获取星期字符串 weekstr = "星期一星期二星期三星期四星期五星期六星期日" weekid = eval(input("请输入星期数字(1~7):") ...
- [Python急救站课程]等边三角形的绘制
等边三角形的绘制 from turtle import * penup() fd(-50) pendown() pensize(25) seth(60) fd(100) seth(-60) fd(10 ...