文心一言 VS 讯飞星火 VS chatgpt (28)-- 算法导论5.1 3题
三、假设你希望以1/2的概率输出0与 1。你可以自由使用一个输出0或1的过程 BIASED-RANDOM。它以某概率 p 输出1,概率 1-p 输出0,其中 0<p<1 ,但是 p 的值未知。请给出一个利用 BIASED-RANDOM 作为子程序的算法,返回一个无偏的结果,能以概率1/2返回0,以概率 1/2 返回1。作为 p 的函数,你的算法的期望运行时间是多少?
文心一言:
可以使用贝叶斯公式来计算无偏的结果。假设我们进行了n次试验,其中BIASED-RANDOM以概率p输出1,以概率1-p输出0。设N0为输出0的次数,N1为输出1的次数,则有N0+N1=n。根据贝叶斯公式,可以得到:
p(N0, N1|p) = p(N0, N1, p) / p(p)
其中,p(N0, N1, p)表示在n次试验中,N0次试验输出0,N1次试验输出1,且BIASED-RANDOM以概率p输出1的概率。p(p)表示概率p的概率密度函数,可以在已知p的范围的情况下计算得到。
由于要求无偏的结果,因此N0和N1的概率分布应该是相等的。因此,可以取p(N0, N1|p) = 1 / (n+1),并将此值作为算法的输出结果。
该算法的期望运行时间取决于n的大小。在最坏情况下,即n非常大时,每次试验都需要很长时间才能得到结果。因此,该算法的期望运行时间可能会非常大。但是,当n比较小的时候,该算法的运行时间是O(1)的。

讯飞星火:
我们可以使用 BIASED-RANDOM 作为子过程,来生成一个无偏的随机数。具体来说,我们可以利用 BIASED-RANDOM 生成两个独立的随机数 x 和 y,然后根据以下条件计算出一个新的随机数 z:
如果 x 输出了 1,y 输出了 0,则 z 输出 0;
如果 x 输出了 0,y 输出了 1,则 z 输出 1;
否则,z 输出 x*y。
这个新的随机数 z 就是我们需要的结果。由于 BIASED-RANDOM 是无偏的,因此这个新随机数 z 也是无偏的。同时,由于 BIASED-RANDOM 只依赖于 p 和 x、y 两个独立的过程,因此它的期望运行时间是 O(p)。
现在我们来计算一下这个新随机数 z 的期望值。由于 BIASED-RANDOM 是一个二元过程,因此它的期望值为 pp+(1-p)(1-p)=2p^2-2p+1。而根据上面的条件,z 的期望值为:
E(z) = p(xy) + (1-p)(x(1-y)) + (1-p)(y(1-x))
= pxy + (1-p)x + (1-p)y
= pxy + px + py
= p(xy + x + y)
= p*z
因此,我们得到了一个新的期望运行时间为 O(p),并且能够以概率 1/2 返回 0、以概率 1/2 返回 1 的无偏随机数生成函数。

华为盘古:


360智脑:
可以使用Bernoulli-Monte Carlo方法来实现。具体来说,可以设置BIASED-RANDOM过程的初始值为0,并不断迭代直到达到所需的输出结果。在每个迭代步骤中,将BIASED-RANDOM过程的输出乘以p并将结果加上 BIASED-RANDOM过程的当前值。重复此操作直到最终结果满足要求为止。这个算法的预期时间复杂度取决于BIASED-RANDOM过程的期望时间复杂度。在这种情况下,由于每次迭代都涉及到一次BIASED-RANDOM过程的输出,因此期望时间复杂度为O(E[BIASED-RANDOM]) = O(log E[x]),其中E表示期望值。由于 BIASED-RANDOM 是一个二项分布,其期望值可以通过二项分布的性质来计算。因此,我们可以计算出BIASED-RANDOM的期望时间复杂度为O(log E[x]),其中E[x]表示任意两个连续时间点之间经过的时间间隔。

chatglm:
算法如下:
1.调用 BIASED-RANDOM 过程,得到概率 p 的值。
2.如果 p > 0.5,则返回 0。
3.如果 p < 0.5,则返回 1。
这种算法是无偏的,因为它不考虑 BIASED-RANDOM 过程的输出,而是根据 p 的值随机选择返回 0 或 1。
对于每个 p 的值,算法都需要调用 BIASED-RANDOM 过程一次,因此时间复杂度为 O(1)。
由于 BIASED-RANDOM 过程的输出是随机的,因此算法的期望运行时间与 p 的值有关。当 p 接近 0 或 1 时,算法的期望运行时间会相应缩短,因为在这种情况下,BIASED-RANDOM 过程的输出更可能接近 0 或 1。

chatgpt:
为了以 1/2 的概率输出 0 和 1,我们可以利用 BIASED-RANDOM 过程来实现。具体算法如下:
1.调用 BIASED-RANDOM 过程两次;
2.如果两次结果都是相同的,则返回这个结果;
3.否则,重复步骤 1。
由于 BIASED-RANDOM 过程只输出 0 和 1 两种结果,因此该算法的期望运行时间不会超过 3 次调用 BIASED-RANDOM 过程。接下来,我们分别考虑前两次调用 BIASED-RANDOM 过程的情况:
1.如果第一次和第二次调用的结果都是 0 或者都是 1,则直接返回这个结果即可;
2.如果第一次和第二次调用的结果不同,则需要再次调用 BIASED-RANDOM 过程,重复上述步骤。
由于 BIASED-RANDOM 过程的输出概率为 p 和 1-p,因此两次调用结果相同的概率为 p^2 + (1-p)^2,结果不同的概率为 2p(1-p)。因此,需要多次调用 BIASED-RANDOM 过程的概率为 2p(1-p),即:
P(需要多次调用) = 2p(1-p)
第一次和第二次调用结果相同的概率为 p^2 + (1-p)^2,即:
P(第一次和第二次结果相同) = p^2 + (1-p)^2
因此,算法的期望运行时间为:
E(T) = P(需要多次调用) * [2 + E(T)] + P(第一次和第二次结果相同)
展开得到:
E(T) = 2p(1-p)*[2+E(T)] + (p^2 + (1-p)^2)
整理可得:
E(T) = 2 + 2p - 4p^2
因此,该算法的期望运行时间为 O(1),只需要进行常数次 BIASED-RANDOM 过程调用即可得到无偏结果。

文心一言 VS 讯飞星火 VS chatgpt (28)-- 算法导论5.1 3题的更多相关文章
- 【对比】文心一言对飚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 ...
随机推荐
- 一次.net code中的placeholder导致的高cpu诊断
背景 最近一位朋友找到我,让我帮看他们的一个aspnet core service无端cpu高的问题.从描述上看,这个service之前没有出现过cpu高的情况,最近也没有改过实际的什么code.很奇 ...
- Windows7蓝牙音响连接成功,但是无法播放音乐,没有声音
本人使用的蓝牙是博通94360CD的无线网卡集成的,在Windows7系统,成功安装蓝牙驱动,但是无论连接什么蓝牙音响设备,都可以连接成功,但是在音频管理却没有蓝牙音响的设备,自然就没有声音.后来找到 ...
- 人工智能机器学习底层原理剖析,人造神经元,您一定能看懂,通俗解释把AI“黑话”转化为“白话文”
按照固有思维方式,人们总以为人工智能是一个莫测高深的行业,这个行业的人都是高智商人群,无论是写文章还是和人讲话,总是讳莫如深,接着就是蹦出一些"高级"词汇,什么"神经网络 ...
- Flask框架cbv的写法、请求与响应、请求扩展、session源码分析、闪现
本篇文章将会详细讲在flask框架如何写cbv.请求与响应.请求扩展.session源码分析.闪现等知识点. 目录 一.flask写CBV 二.请求与响应 三.session 四.闪现flash 五. ...
- 逍遥自在学C语言 | 关系运算符
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.构成和表示方式 关系运算符的作用是判断符号两边大小的关系 ...
- 系统评价——主成分分析PCA的R语言实现(六)
主成分分析(Principal Component Analysis,PCA),是将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法,起到数据约减和集成的作用.在许多领域的研究与应用中 ...
- [MYSQL/JDBC]mysql-connector-java与MySQL、JDK对应的兼容版本[转载]
1 文由 MYSQL 数据库版本 与 驱动版本之间的兼容性,可能会涉及到 部分数据库特性(函数.语法)等是否能够正常使用的问题. 2 兼容性: mysql-connector-java VS Mysq ...
- [MAUI 项目实战] 手势控制音乐播放器(四):圆形进度条
@ 目录 关于图形绘制 创建自定义控件 使用控件 创建专辑封面 项目地址 我们将绘制一个圆形的音乐播放控件,它包含一个圆形的进度条.专辑页面和播放按钮. 关于图形绘制 使用MAUI的绘制功能,需要Mi ...
- Burp Suite最新版本专业版激活2022.12.1附原文件
Burp Suite 攻击web 应用程序的集成平台 Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具.Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程 ...
- windows安装zabbix错误代码
zabbix安装:windows安装zabbix客户端很多坑,设计到很多问题,常见的问题有安装完成防火墙没有关闭,zabbix服务端接收不到客户端的信息.zabbix在cmd中安装的时候报错误代码,安 ...