奇趣编程|你不能不知的博弈论

博弈论(Game Theory),是生活中无处不在的理论。今天奇趣编程腾讯qq在线和大家分享关注于博弈论的一些知识。

去菜市场买菜是顾客与菜贩之间的博弈;考试,是和其它考生之间的博弈;求职,是和其它求职者和招聘公司之间的博弈;恋爱,是双方个体及双方家庭、家族之间的博弈;战争,是国与国或联盟与联盟之间的博弈;股票,是多空双方的博弈;在各种游戏中也会存在着博弈。

我国最早的一部可以看作是战争博弈的专著是《孙子兵法》,它系统地讲解了国与国之间的博弈,细分到谋划、后勤、战术、情报等各个方面。目前国外对博弈论的研究,不仅在军事战略方面,在金融、股票、经济、外交、政治、计算机科学、生物学、游戏等各方面都有大量的人在研究应用。

博弈论
博弈论

一、博弈论里有几个要素:

1、局中人。在一局博弈中,参与者是局中人,只有两个参与者的是两人博弈,有多个参与者的是多人博弈。

2、策略。每个参与者都有为自己谋取最大利益的策略,如果所有参与者的策略都是有限的,则为有博弈,如果策略是无限的,则是无限博弈。

3、得失。每一局下来,每个参与者的得失,得失的多少与参与者的策略有关。

4、结果。每局博弈下来必定存在着结果。

5、均衡。各方参与者得失处于平衡状态的稳定值。比如买菜,顾客想物美价廉,菜贩想多赚钱,大多数情况下交易价格会达到一个双方利益平衡的稳定值。

二、博弈论的基础,是基于以下前提的:

1、参与者都是理性的,各自追求自己的利益最大化。

2、参与者都认为所有参与者都是理性决策的。

3、每个参与者都懂博弈论。

三、博弈论的分类:

1、按合作来分,可以分为合作博弈和非合作博弈。

2、按时间序列性来分,可以分为静态博弈和动态博弈。

3、按参与者对其它参与者的信息了解程度来分,可以分为完全信息博弈和不完全信息博弈。

4、按博弈次数和持续时间长短来分,可以分为有限博弈和无限博弈。

5、按博弈的逻辑基础来分,可以分为传统博弈和演化博弈。

四、博弈论中的均衡状态有:

1、纳什均衡。

2、子博弈精炼纳什均衡。

4、贝叶斯纳什均衡。

5、精炼贝叶斯均衡。

五、博弈论里常用的案例有:

1、囚徒困境。

2、智猪博弈。

3、美女的硬币。

目前国内关于博弈论的书籍也有很多,在这个人人都懂点博弈论的大环境下,如果不学点博弈论的知识,只会被人算死陷入被动局面处处失利,所以,多学点东西很有必要。

奇趣编程|概率论中的联合概率是什么?

在概率论里面,联合概率指的是在多元的概率分布中多个随机变量分别满足各自条件的概率。通俗地说,联合概率就是两个事件共同发生的概率。

奇趣编程腾讯qq在线给大家举个例子。

比如说,盒子里面有五角和一元两种硬币,每种硬币都有正反面,那么随机从盒子里拿出一个硬币,那么币值和正反面都是随机的,这就满足了两个随机的概率,所以是联合概率。

有概率就有分布,联合概率的分布简称联合分布,它有两种表示形式。一种是对于离散型的随机变量,联合分布以列表的形式表示,也可以用函数的形式表示,机器学习中的联合概率就通常是离散型的。一种是连续型随机变量,通过非负函数的积分来表示。

奇趣编程|随机图理论是什么?

随机图理论是一个比较有趣的领域,今天奇趣编程腾讯qq在线和大家普及一下相关的知识。

随机图ggjgjygjyw理论

在随机图(Random Graph)理论是融合了概率论和组合数学的一个数学领域分支,属于概率随机过程与图论的交叉学科。通俗地说,随机图是将一堆零散的点用线随机连接起来,而点与点之间是否连接是根据某个概率值来确定。在随机图中,边的出现成为了概率事件。

对于某个点,与它连接的边的条数,就是随机图的“度”。若随机图中任意两个点都有边相连,整个图就是完全图,连通分支的个数是1。

生活中是否有随机图呢?在六度人脉理论中,地球上任意的两个人,他们之间最多相隔六个相识关系,这也是一种随机图。

随机图理论有很好的应用前景,比如复杂网络、拓朴图、模糊识别、离散数学等。复杂网络是有大量结点的动态的发展的随机图,生活中主要的复杂网络有:

1、信息网络:万维网、专利网、共享网

2、技术网络:电力网、电话网、电视网、无线网

3、交通网络:航线网、铁路网、公路网、河流网

4、社会网络:企业关系网、金融关系网、论文引用网、人际关系网、科研合作网

5、生物网络:食物链网、生物社经网、新陈代谢网、蛋白质网、基因网、细胞网。

欢迎大家向奇趣编程补充更多资料。

奇趣编程|30岁以上零基础还能学会编程吗?

最近有学员问奇趣编程,30岁以上零基础还能学会编程吗?今天奇趣编程腾讯qq在线就和大家一起分享下对这个问题的看法。

首先要明确你为什么学。

有的人想学编程是在本行业做不下去,听别人说程序员工资高,想学编程去大公司应聘做程序员。这种情况可能就有点不合适,因为公司招聘的软件开发岗位肯定是要招计算机专业出来的,如果是自学出来的,很受嫌。

有的人想学编程是工作需要,比如说做股票、金融、网店运营、学术研究等,这种情况不是工作刚需,但学会编程能提高工作效率,是锦上添花。这种情况就适合学编程,在工作中学习编程,只需要学习工作中需要用到的知识点就行,用学习编程来提高工作能力,学习量不大,还见效快,实用性强。

有的人是出于兴趣,就是纯粹的喜欢作为一个创造者的快乐,看到创作作品出来时的成就感。比如说,他喜欢做一些小工具,免费分享给别人,当有人使用了,他就感觉到很有成就感。学编程,确实是会让有人产生一种造物者的感觉,因为编写出来的程序,是有交互性的、自动化的,有点智能,让人的成就感是比较强的。这种情况也适合学编程。

有的人是出于某种目的,比如想研究某个问题的规律,或是想用于自动化,或是想替代人工操作。只要目的是明确的,那解决问题的路径基本上也是明确的,所以只需要围绕着解决问题来学习所需要的知识点就行。这种情况也适合学编程。

可见,除了去求职,其它的情况都和年龄无关,也和是否计算机专来出身无关,有关的是你的学习目的。

其次是你的学习编程的态度和过程。

学习编程的态度,最重要的是要坐得住、学得进,不要急躁。有些人遇到一丁点问题就暴躁不安,但世界上有什么事情是一帆风顺的呢?没有任何一件事情是没有波折的,高速路还有上坡下坡拐弯呢。要接受这种学习的曲线,正确面对所遇到的挫折,放平心态。

学习编程要以点带面,当学习到赠个知识点时,若有精力应围绕这个知识点学习相关的知识。如果不知道学什么,就应该找一个在这方面最专业的人来带,即使是收费的也比自己瞎摸索浪费大量时间要强,比如说奇趣编程就是围绕研究随机数规律来展开统计学、概率论、大数据、人工智能相关知识的。

学习编程要有持续性,写程序不要隔太久时间,不然可能会产生一种陌生感,遗忘很多东西,回不到写程序的状态。学习编程最好是和工作或生活结合,当所学的编程对生活产生了正反馈,比如帮助收入增长了啥的,就有动力持续学习了。

奇趣编程|石头剪刀布游戏人工智能AI的设计思路

在本文中,奇趣编程用石头剪刀布游戏来阐述人工智能AI的设计思路,腾讯qq在线欢迎大家交流探讨。

石头剪刀布游戏游戏中,我们要解决的问题是,当对方上一次出某一个动作时,我方本次应出什么动作获胜的概率比较大?比如说,对方上次出石头,我方本次出石头、剪刀、布三者的胜率各是多少?知道了这三个的胜率,我们就可以决定出胜率最大的那个。

可以按下面的步骤设计训练以根据历史数据统计获胜概率。

第一步,随机游戏100万次,并将每次双方出的动作和对战结果记录到数据库。

第二步,分别统计出对方出了石头、剪刀、布之后下一次出的是哪一个,得到对方出了某个动作之后再出某个动作的概率。比如对方出了石头之后,有40%的可能出剪刀,有36%的可能出布,有24%的可能继续出石头。

第三步,知道了对方出了某个动作之后会出哪个动作的概率,就可以针对这个可能的动作来出手了。比如说,对方出了石头之后,有40%的可能出剪刀,那我方可以出石头,就有60%的获胜概率。

这个人工智能AI,本质上是用模拟的训练来生产数据,然后从历史数据中统计出某种连续模式出现的概率,然后以此作为未来对战时的决策依据。奇趣编程的这个人工智能设计思路中并没有使用到复杂的算法,仅仅是利用中心极限定理,用历史大数据的概率来预测未来大数据的概率,训练量用的是100万次,未来对战的次数也是100万次,可能会获得比较好的战果,这个只是构想,还没有写代码进行验证。

奇趣编程|如何使用深度学习进行时间序列分类?

深度学习在很多方面都有着广泛的应用场景,比如人脸识别、图像分类、物体识别、语音识别、文本分类、推荐系统等,今天奇趣编程腾讯qq在线和大家分享一下深度学习在时间序列分类上的应用。

大体上看,用深度学习来进行时间序列分类的过程分为三个步骤:输入时间序列-使用某个深度学习算法进行训练-输出分类概率。这里的深度学习算法有两种,一种是生成式(Generative),一种是判别式(Discriminative)。

时间序列的分类算法思路有以下几种:

1、基于距离的思路。

2、基于特征的思路。

3、基于神经网络的思路。

时间序列降维可视化方法有以下两种:

1、分段聚合,使用局部平均等方法进行降维。

2、核变换,使用BG核或均值核来进行降维。

就目前来看,深度学习在时间序列分类上的应用是一个比较新的领域,很多思路和方法需要大量的各行各业的专业人士去研究。

奇趣编程|什么是时间序列分析?

时间序列是指半某种现象的某一个统计指标在不同的时间上的各个数值按时间先后顺序排列而形成的序列,主要由时间和指标数值两者构成。

时间序列分析
时间序列分析

时间序列的特点是:

1.是基于现实的数据,而不是由模拟实验产生的数据。

2.是基于时间动态变化的数据。

奇趣编程腾讯qq在线和大家分享一下什么是时间序列分析。

时间序列分析的英文是“Time-Series Analysis”,时间序列分析是对时间序列的分析,是对动态数据处理的统计方法,基于随机过程理论和统计学方法,研究随机数据序列的规律,通过建立模型进行过滤、预测、控制。

常见的时间序列分析有天气预报、股票、销量预测等。时间序列通常会有显而易见的周期性特征,比如天气预报,会有季节性,这是由地球公转和地理原因造成的;股票,会有季报性,每逢年报即将发布的月份为了数据好看通常会涨一波;销量,各行各业都有淡季旺季节假日之分。所以时间序列分析的模型通常需要有季节性项、节假日项、噪音项、趋势项,也就是时间序列上的数据周期性通常是由这几个大的因素造成的,找出重要时间点,从而实现预测。

时间序列分析,可以用于短期、中期、长期的预测,又分为简单序时平均数法和加权序时平均数法。简单平均数法,就是把近期和远期的数据等同看待求平均值,适用于周期性数据变化不大的的情况,比如天气预测。加权平均数法,就是把历史各个时期按影响程序来加上权重再求出平均值,以作为近期的预测,比如宏观经济预测、环境污染。

时间序列分析在宏观经济预测、区域发展、经营管理、气象预报、水文预报、地震预报、农业灾害预报、环境污染、海洋学、天文学、生态学等各个方面都有广泛应用,值得学习和深入研究。

奇趣编程|大案牍术——古代的大数据统计学

某部国产剧里虚构的“大案牍术”,相当于今天的大数据、统计学、概率论、人工智能、统计与决策,它是通过对数据的收集、整理、分析,预测事情的起因、发展和趋势。

“大案牍术”是虚构的,但唐代的数据统计技术却是真实的。今天奇趣编程腾讯qq在线和大家说说古代的统计。在唐代的《国计簿》里有这样的记载:

史官李吉甫撰《元和国计簿》,总计天下方镇凡四十八,管州府二百九十五,县一千四百五十三,户二百四十四万二百五十四…… 吉甫都纂其事,成书十卷。

《旧唐书·本纪十四》

可见这些官方文献已经有了基础的大数据功能,是官方有组织地收集、整理、分析出来的数据,统计了地域、人口、经济、产量等国家整体的情况。

国家统计这些有什么用?

一是战争。战争就是国家人力、物力、财力、生产能力、技术的大比拼,一场战争有多少胜算,是开战前就能通过对战争各项影响因素统计就能分析出来的。

二是税收。有多少人口,产量如何,能收上多少税,要不要加税减税,这些都要有统计数据作为决策依据。

三是政策的调整。人口有越来越少的趋势,就要鼓励生育;生产能力低力,就是出激励政策;技术发展停滞,就要培育人才。

还有其它很多方面都需要统计来辅助决策,欢迎大家补充。

奇趣编程|利用随机数大数定律和小数定律的偏态打法

什么是大数定律?

大数定律就是在随机事件的大量重复出现中必然出现的规律。简单点说就是随机数大数据里呈现出来的规律。

什么是小数定律?

小数定律是人类往往把大数据呈现出来的规律套用到小样本中的不理性行为。简单点说就是随机数大数据里才有的规律在少量的随机数里是体现不出来的。

比如说,抛1万次硬币,它的正反面出现次数接近50%,这是大数定律,数据量足够大才有的规律。接下来还抛10次,如果前面五次抛出来的都是正面,就断定后面的五次都是反面,肯定是错误的,这就是小数定律,数据量不够,所以是小数定律,只抛10次并不能体现出抛1万次的规律。

那怎么解决这个问题呢?奇趣编程腾讯qq在线和大家分享一下。

前面抛一万次出现的规律,后面还要用相同的次数才能体现出来。也就是说,前面抛1万次出现的规律是正反面出现的次数是各50%,那后面不能只抛10次,而要继续抛1万次,才能用上“正反面出现的次数是各50%”这个规律,否则就会陷入小数定律的陷阱。

现在你知道那些打短线、中线、加仓减仓的人是怎么亏损的了。

要想稳定,就只有打长线、仓位固定。

奇趣编程|随机漫步的随机数曲线怎么预测趋势?

如果把随机数以曲线的形式表现出来,那未来即将发生的随机数是呈现随机漫步的特点的,就像一个醉汉,他的下一步是随机的。那么有什么办法可以预测趋势呢?今天奇趣编程腾讯qq在线和大家一起分享。

随机数曲线的下一个随机数,是随机漫步的,所以只针对未来的一个随机数,是无法准确预测的,但是从随机数曲线整体上来看,它是呈现出一定的规律性的。

在股票中,股票的价格曲线虽然是随机漫步的,但它本质上是多空双方的资金博弈,股票价格会走向阻力小的一方,股票的曲线,就是最小阻力路线,所以股票中有阻力位和支撑位的概念。

但股票的价格并不是纯由随机数驱动的数据,它有很多现实因素决定着它的价格趋势。比如说,公司的所处行业环境、国际环境、产能、盈利水平、技术更新、人事调动、新闻事件等,都会对股票的价格曲线造成影响。

我们奇趣编程只研究单纯的只有随机数这一个因素影响的曲线,所以对这种随机数曲线趋势的预测,不需要像股票那样考虑太多太复杂的东西,只考虑纯数学意义上的东西就行,用统计学、概率论等就能为我们提供很多预测趋势的方法。