五、设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之间没有其他元素。因此可以构造如下情况:

  1. B = a -> 情况总数为 C(n-1, k-1),因为当a出现在其他位置时,剩下的元素只有k-1个可以选择。

  2. B = b -> 情况总数为 C(n-1, k-1)

  3. 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题的更多相关文章

  1. 【对比】文心一言对飚ChatGPT实操对比体验

    前言 缘由 百度[文心一言]体验申请通过 本狗中午干饭时,天降短信,告知可以体验文心一言,苦等一个月的实操终于到来.心中这好奇的对比心理油然而生,到底是老美的[ChatGPT]厉害,还是咱度娘的[文心 ...

  2. 【个人首测】百度文心一言 VS ChatGPT GPT-4

    昨天我写了一篇文章GPT-4牛是牛,但这几天先别急,文中我测试了用GPT-4回答ChatGPT 3.5 和 Notion AI的问题,大家期待的图片输入也没有出现. 昨天下午百度发布了文心一言,对标C ...

  3. 文心一言,通营销之学,成一家之言,百度人工智能AI大数据模型文心一言Python3.10接入

    "文心"取自<文心雕龙>一书的开篇,作者刘勰在书中引述了一个古代典故:春秋时期,鲁国有一位名叫孔文子的大夫,他在学问上非常有造诣,但是他的儿子却不学无术,孔文子非常痛心 ...

  4. 获取了文心一言的内测及与其ChatGPT、GPT-4 对比结果

    百度在3月16日召开了关于文心一言(知识增强大语言模型)的发布会,但是会上并没现场展示demo.如果要测试的文心一言 也要获取邀请码,才能进行测试的. 我这边通过预约得到了邀请码,大概是在3月17日晚 ...

  5. 百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)

    目录 中国版ChatGPT上线发布 强大中文理解能力 智能文学创作.商业文案创作 图片.视频智能生成 中国生成式AI三大产业机会 新型云计算公司 行业模型精调公司 应用服务提供商 总结 获取文心一言邀 ...

  6. 阿里版ChatGPT:通义千问pk文心一言

    随着 ChatGPT 热潮卷起来,百度发布了文心一言.Google 发布了 Bard,「阿里云」官方终于也宣布了,旗下的 AI 大模型"通义千问"正式开启测试! 申请地址:http ...

  7. 基于讯飞语音API应用开发之——离线词典构建

    最近实习在做一个跟语音相关的项目,就在度娘上搜索了很多关于语音的API,顺藤摸瓜找到了科大讯飞,虽然度娘自家也有语音识别.语义理解这块,但感觉应该不是很好用,毕竟之前用过百度地图的API,有问题也找不 ...

  8. android用讯飞实现TTS语音合成 实现中文版

    Android系统从1.6版本开始就支持TTS(Text-To-Speech),即语音合成.但是android系统默认的TTS引擎:Pic TTS不支持中文.所以我们得安装自己的TTS引擎和语音包. ...

  9. android讯飞语音开发常遇到的问题

    场景:android项目中共使用了3个语音组件:在线语音听写.离线语音合成.离线语音识别 11208:遇到这个错误,授权应用失败,先检查装机量(3台测试权限),以及appid的申请时间(35天期限), ...

  10. 初探机器学习之使用讯飞TTS服务实现在线语音合成

    最近在调研使用各个云平台提供的AI服务,有个语音合成的需求因此就使用了一下科大讯飞的TTS服务,也用.NET Core写了一个小示例,下面就是这个小示例及其相关背景知识的介绍. 一.什么是语音合成(T ...

随机推荐

  1. 【Flutter】如何优美地实现一个悬浮NavigationBar

    [Flutter]如何优美地实现一个悬浮NavigationBar 最近写代码的时候遇到了一个如下的需求: 整体来说,底部的条是一个浮动的悬浮窗,有如下的三个按钮: 点击左边的要进入"主页& ...

  2. 文本编辑器vi使用命令

    使用对象: 用于编辑任何ASCII文本,对于编辑源程序尤其有用.可以对文本进行创建]查找.替换.删除.复制和粘贴等操作. 三种工作模式 命令模式:进入vi编辑器默认处于命令模式.命令模式下控制屏幕光标 ...

  3. ECS搭建FTP服务

    实验云账号,创建资源后生成收起 子用户名称: u-7ngohee5@1111971854401817 子用户密码: Jp1Ho5Aj5Ek5Yx1P AK ID: LTAI5tGc6fVMJj44H4 ...

  4. client-go实战之八:更新资源时的冲突错误处理

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<client-go实战> ...

  5. 每天5分钟复习OpenStack(五)CPU虚拟化

    KVM 虚拟化之CPU 虚拟化存在是为了更高效的利用物理机的资源,而虚拟机技术主要是针对三大组件,分别是CPU虚拟化.存储虚拟化.网络虚拟化.下面我们分别介绍下三大组件的常用知识. CPU 虚拟化 1 ...

  6. 由mysql转为oracle注意事项

    1. text类型->nclob 2. 表名是关键字   引号 3. 字段名是关键字 引号 4. 日期型和mysql不同,hh24:mi:ss  就是HH:mm:ss,库里存日期型也可以(查询时 ...

  7. 如何为你的WSL2更换最新的6.5.7kernel

    1.如果你像我一样,喜欢折腾你的 WSL2 ,这里是安装内核 6.X 的方法. 2.这是一个坏主意,可能会导致系统不稳定.数据损坏和其他问题.也可能会没事的,但不要怪我. Arch linux的wsl ...

  8. addEventListener学习

    场景:给input框添加事件,但是里面的function得抽取出来复用,并且这个function还要传递参数 userId.addEventListener('input', idTest(userI ...

  9. 实战攻防演练-Linux写入ssh密钥,利用密钥登录

    前言 密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥.将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录.这样一来,没有私钥,任何人都无法通过 SSH 暴力破解 ...

  10. Molecule 在构建工具中的选择

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:修能 朝闻道,夕死可矣 何为 Molecule? 轻量级的 ...