张维迎《博弈与社会》笔记(3)个体理性行为

news2024/11/16 19:29:34

博弈论的方法论

经济学、社会学、心理学的区别

上一节我们分析了社会的两个基本问题,从中可以发现,无论是解决协调问题还是合作问题,都需要我们对个人行为有深入认识。实际上,所有的社会科学都可看成是有关人类行为的科学,它们旨在揭示人类行为的规律、特点和影响。当然,不同学科的视角、方法以及前提假设可能大相径庭。在这些学科当中,有着鲜明特色的方法论的学科主要有三种:经济学、社会学、心理学。经济学一般是从个人的行为出发解释社会现象(from micro to macro)。社会学的传统方法则是从社会的角度来解释个人的行为(from macro to micro)。对于某个人的具体行为,经济学认为他是为了追求自己的利益所做出的最好选择。社会学则认为他之所以这样做是因为社会规则如此。芝加哥大学的政治科学和哲学讲席教授埃尔斯特(Elster)在《社会规范和经济理论》一文中对此做了如下精辟的总结:在社会科学中,最为持久的分野是亚当·斯密的“经济人”(homo economicus)和艾米尔·涂尔干的“社会人”(homo sociologicus)两条思想路线的背道而驰。经济人的行为由工具理性所引导,而社会人的行为则受社会规范的指引。前者受未来回报的“拉动”(pulled),后者则受各种类似惯性(quasi-inertial)力量的“推动”(pushed)。前者主动适应变化的环境,总是不断地寻求改善;后者则对环境变化麻木无措,即使新的、更好的选择出现,也固守先前的行为。前者被描绘为一个能够自我约束的社会原子,后者被刻画成由社会力量所左右的没有头脑的玩偶。

经济学和社会学的方法有着巨大的差异,但也有着共同特点,那就是它们解释个人行为通常是采用逻辑演绎方式。即从一定的假设前提出发,经过因果链条的推理,得出相应的结论。这一点和被称为行为科学基础的心理学有着很大的不同。心理学主要通过实验以及观察的方法来考察人们实际上如何行为及其潜在的心理机制。把这种实验的方法扩大到其他的领域就成为行为科学,如行为金融学(behavioral finance)、行为经济学(behavioral economics)、行为的法和经济学(behavioral law and economics)以及组织行为学(organizational behavior)等。这些学科可以被归结到行为学的范畴。

博弈论的位置

本书的研究对象同样是人的行为。其不同之处在于,我将使用博弈论(game theory)的方法从人际互动的角度来考察人的行为。根据前文,我们知道社会的两大基本问题——协调和合作,实际上都是人们如何互动的问题。

或许是因为经济学中广泛运用博弈论的缘故,很多人误认为博弈论是经济学的范式。实际上,博弈论只是进行人类行为研究的一种分析工具。如果把它视为一个学科的话,称之为互动行为学更为妥帖。著名博弈论学者罗伯特·奥曼(Robert J.Aumann)和瑟吉由·哈特(Sergiu Hart)在其合编的《博弈论及其应用手册》第一卷的前言中,对博弈论做了精辟的介绍:博弈论研究那些决策会相互影响的决策者们[参与人(players)]的行为。正如研究单人决策那样,对多人决策的分析也是从理性的角度出发,而非心理学的或社会学的角度。术语“博弈”一词来自互动决策问题和室内游戏之间的形式上的相似之处,如对弈、桥牌、扑克、垄断、外交、战争。到目前为止,博弈论最主要的应用领域一直是经济学,其他重要应用方面有政治科学(有关国内的和国际的)、演进生物学、计算机科学、基础数学、统计学、会计、法学、社会心理学以及认识论、伦理学等哲学分支。……博弈论可以视为社会科学中理性一脉的罩伞,或者说为其提供了一个“统一场”理论。其中,“社会”可以作宽泛的理解,既包括由人类个人组成的社会,也包括其他各种参与人组成的群体(如公司、国家、动物、植物、计算机等)。博弈论不像经济学或政治科学等学科的其他分析工具那样,采用不同的、就事论事的框架来对各种具体问题进行分析,如完全竞争、垄断、寡头、国际贸易、税收、选举、遏制、动物行为等等。相反,博弈论先提出在原理上适用一切互动的情形的方法,然后考察这些方法在具体应用上会产生何种结果。(Aumann and Hart,1992)

如他们的介绍,博弈论把小到喝酒时的划拳游戏、大到国家间的战争等每一种互动的情形都视为一个博弈(game);把参与互动情形的当事者,无论是个人还是企业,都称为“参与人”(player),然后考察博弈的参与人如何进行决策,以此预测博弈的结局如何。这样一种对所有互动情形统一的处理方法正是博弈论有别于其他分析框架的核心所在,这也是为什么说博弈论是一个“统一场理论”的原因。

正是由于能够为所有的互动情形提供一个统一的分析框架,博弈论现在已经渐渐成为社会科学研究的一种基本方法。坦白地讲,如果对博弈论不了解的话,那么,我们在经济学、法学、社会学、政治学等学科上都很难进行前沿问题的研究。同时,博弈论也给我们提供了一种思考问题的方法,这种方法对于我们处理各种需要与人打交道的事情尤为重要。所以,即使是出于工作实践的考虑,我们也需要学习和了解一些博弈论知识。实际上,国外大学里的商学院、法学院、政府管理学院等培养实用型人才的学院也已经纷纷开设了博弈论的课程。

博弈论的三个假设

作为研究互动行为的一种方法,博弈论有着特色鲜明的前提假设。这些假设主要有三个:(1)博弈的每一个参与人是工具理性的;

(2)“每一个参与人是工具理性的”这一点是所有参与人的共同知识(common knowledge);(3)所有的参与人都了解博弈的规则。

假设3非常容易理解,从一些游戏来看,也似乎是一个很合理的要求。比如,不懂得下象棋的规则,自然就无法玩象棋游戏。但是,在现实中的很多互动情形,当事人可能并不知道所有相关的规则。比如,某人犯罪了,法官审理时,他还认为自己并没有触犯法律。实际上,如果当事人知道所有相关规则的话,律师、会计师等行业的工作量就大大减少了。

假设2是共同知识假设。关于这一假设我们会在下一章详细论述,这里仅作一个简单的描述。共同知识意味着什么呢?如果现实社会中满足这一假设的话,一方想在博弈中赢得另一方都不是一件很容易的事情。好比下棋,赢意味着赢的人至少要比输的人看远一步:我知道我这一步走了以后你下一步会怎么样走,而你不知道我已经知道你该如何走,即你落入了我的算计当中还不知道。但共同知识假设则是说,双方都有无限的推理能力,都看得很远,谁也不比谁差。这样一来,一方就没有办法凭借自己的更强的推理能力(或者说更聪明)来打败对方了。比如,我们中国有一个成语叫做“将计就计”。将计就计是什么呢?假定A设计了一个计谋来骗B,然后B知道A设计了这样的一个计谋来骗自己,所以B就利用这个计谋再去骗A。这就意味着B知道A很聪明,但是A不知道B知道A很聪明。如果A知道B知道A的伎俩,那么这个计谋就没有什么用处了。

看到这里,读者不免会有疑问,共同知识假设太不现实了,基于这样不现实的假设的理论能有说服力么?但是,我们在第二章将会看到,这是一个在理论分析上相当有用的假设,而且就分析问题来说,基于这一假设的博弈论能够提供富有启发的洞见。

工具理性假设

这里,我们要重点要讨论假设1,即工具理性假设。理性人是一个什么概念呢?简单来说,首先,我们说理性人要有一个明确的(well-defined)偏好。然后在给定约束条件下,该人总是追求自我偏好满足的最大化。这就是我们对理性人最简单的定义,有时候我们叫做最大化问题。简言之,就是假设人在每一项活动中都追求自身偏好满足的最大化。需要说明的是,“偏好”在经济学里面是一个内涵非常广泛的概念,甚至任何行为我们都可以解释为在追求自己偏好的最大化。比如自杀行为。一个人觉得活着不如死了好,所以他就会自杀。同样地,一个人总是帮助别人这样的利他主义行为也可以解释为个人在追求自身偏好的最大化行为,只不过他的偏好是那种“幸福着别人的幸福,痛苦着别人的痛苦”的较为高尚的偏好。所以说,理性人并不意味着这个人是自私自利的,只关心自己,不关心别人。从这个角度来说,理性人假设是一个由很窄到很宽泛(thin tothick)的假设

前面提到偏好是给定的。但是,一个重要的问题是偏好是如何形成的。一些偏好可能跟人小时候的习惯有关。比如北方人喜欢吃面食,南方人喜欢吃米饭。还有一些偏好,可能一开始并不是偏好,只是约束条件,但经过一段时间后,逐渐由约束转变成偏好。一些社会规范可以内在化为个人偏好,这一点对理解人的行为非常重要。比如社会提倡不吃野生保护动物。一开始你不去吃可能并不是因为你不喜欢吃,而是因为觉得吃了有些内疚。但随着时间的推移,你就可能真的不喜欢做这类事情了。人的一些宗教行为可以从这个角度解释。所以偏好的形成是一个很复杂的过程。

前面还提到偏好是“明确的”。所谓“明确的”是指偏好具有如下两个基本特性:一是完备性假设,也就是说行为主体对任何两个选择之间的喜爱程度是可以进行比较的。比如,给定两个水果,苹果和梨,你知道自己更喜欢哪一个。二是传递性假设:如果你认为A比B好,你也认为B比C好,那么,你肯定认为A比C好。这就是偏好的传递性,实际上是要求一个人的偏好要前后一致

如果一个人的偏好满足了我们上面提到的假设,我们就说该人具有明确的偏好,从而可以认为该人为理性人。为了使用数学工具研究理性人的行为,经济学家又对理性人的偏好添加了一些假设。其中最重要的一个假设是偏好的连续性,它假定物品消费给你带来的满足程度不会有跳跃,或者说不会有大喜大悲。如果一个人的偏好满足了这一假设后,我们就可以用函数来刻画一个人的选择和他的满足程度之间的关系。这一函数被称为效用函数

我们知道有一些偏好是不满足连续性假设的。比如,有一种偏好被经济学家叫做“词典序偏好”(lexicographic preference)。词典序偏好是说一个人对于不同事物的偏好排序就像英文词典中的单词排序一样,总是把一种事物排在另一种事物前面。比如某个人有两个商品组合可供选择,这两个商品组合都是由酒和面包组成的。如果该人对酒和面包有词典序偏好,也就是说,只要两个商品组合中有一个组合里面的酒多,哪怕只多一点点,他也要酒多的那个商品组合;只有两个组合中酒一样多时,他才会选择面包多的那一个组合。他按照自己偏好对商品组合的排序就像英文词典中对单词的排序,字母A开头的单词一定是排在B开头的单词的前边。对于这类词典序偏好,因为它不满足连续性假设,我们就没有办法用效用函数来刻画它。

对于存在效用函数的偏好,我们可以定义一个无差异曲线(indifference curve)来表示它。所谓无差异是指不同的“商品组合”给消费者所带来的满足程度是一样的。无差异曲线则代表所有这些商品组合的集合。如下图所示,X表示梨,Y表示桃子,则图中平面上的每一点都表示不同数量的梨和桃子的商品组合。而连接A、B两点的曲线就是一条无差异曲线,在这条线上每一点所带来的效用水平都是相等的。比如,A点表示3个梨和5个桃子的组合,B点表示8个梨和2个桃子的组合,它们在同一条线上表示它们给这个消费者所带来的效用水平相等。位置更高的无差异曲线则代表更高的效用水平。

研究人的行为除了需要知道他的偏好外,还需要知道他面临的约束条件。一般来说,除了我们前面提到的财富约束外,还有其他约束条件:首先是技术性约束。比如我们每天的工作或学习时间不可以超过24小时,我们的消费需要有健康的身体等。其次是制度上的约束。比如产权制度规定你所消费的商品不可以偷抢,只能花钱购买。最后,信息的约束也是一种非常重要的约束。比如当我们面对不同的商品组合时,由于不知道质量等信息,就会难以选择。

个人的最优选择是由偏好和约束条件共同决定的。现实中人们的选择不一样,既可能是因为偏好不一样所致,也可能是因为约束条件不一样造成。在我看来,现实中人们偏好之间的差异小于人们面临的约束条件的差异,人们之间不同的选择往往是约束条件不同所致。比如,有人买大房子、开豪华车,有人买小房子、开经济车,主要原因不是他们的偏好不同,而是由于收入不同。当然,也可能是偏好不同,比如有的人更在乎保护环境,喜欢勤俭节约。有好多人只买环保的混合动力汽车,不是收入问题,而是理念(偏好)问题。

法律和社会规范等游戏规则对个人的选择影响,既可以通过约束条件发挥作用,也可以通过偏好发挥作用,视情况而定。比如说,一个人遵守法律只是由于害怕违法后受到法律的惩罚,法律对他就只是个约束条件。但如果一个人养成了守法的习惯,干了违法的事会感到内疚、痛苦,我们可以说守法是他的偏好。

如果一个人的偏好可以用一个效用函数表达,再进一步明确了约束条件,个人的最优选择就变成在满足约束条件的情况下最大化自己偏好的问题,我们就可以运用数学上的最优化方法来计算一个人的最优行为了。最优选择是边际效用等于边际成本之处决定的。在经济学上,如果自变量代表商品数量,因变量代表效用水平,边际效用是指消费的商品数量增加一点的话,效用水平所增加的量;边际成本则是指消费的商品的数量增加所带来的成本增加量(表现为由于其他消费品的减少而牺牲的效用)。经济学中的边际概念就是数学上的微分概念。根据微积分的知识,我们知道最优的商品消费数量一定使得边际效用和边际成本相等。

上面讲的都是确定环境下的个人选择。其实我们大量的选择都是在不确定的环境下进行的,即选择与结果之间并没有一一的对应关系。比如说你投资股票,其实你并不知道未来的收益是多少。对于不确定环境下人们的选择,经济学家常用的分析工具是预期效用理论(expected utility theory)。预期效用是指某一选择在不同事件下得到的效用水平的加权,权数是事件出现的概率。我们这里用一个例子来说明。比如,你准备出门,但一会儿有可能下雨,假定可能性为50%,现在需要决定带不带伞。如果带伞,若下雨,你得到的效用是u1,若不下雨,你得到的效用是u2;如果不带伞,若下雨,你得到的效用是u3,若不下雨,你得到的效用是u4。预期效用理论是指在这种情况下,你决定带不带伞取决于两种选择下的预期效用的比较。带伞的预期效用为0.5×u1+0.5×u2,不带伞的预期效用为0.5×u3+0.5×u4。如果0.5×u1+0.5×u2大于0.5×u3+0.5×u4,则应该带伞,否则应选择不带伞。

不确定情况下的选择涉及人们对待风险的态度。我们知道,对于给定的不确定性,有的人喜欢冒险,愿意接受不确定性的挑战;有的人则保守一些,不愿意承担风险;有的人则介于二者之间。比如,现在有两种选择:一是你没有任何风险得到确定的100元钱;二是你根据抛硬币的结果来得到收入,如果正面朝上,你得到200元钱,如果反面朝上,你得到的是0。抛硬币的收入是一种不确定的收入,其预期收入也为100元。喜欢冒险的人会选择抛硬币,在经济学中称他们为风险爱好者(risk lover);保守一些的人则会选择没有风险的100元,被称为是风险回避者(risk averser);如果某一个人对这两个选择是无所谓的话,我们说这个人是风险中性的(risk neutral)。

批注:一、偏好、约束(确定环境下的个人选择)。二、期望效用理论、风险(不确定环境下的个人选择)。虽然说这样会显得内容比较多,但也比较全面和严谨吧。

有限理性

以上是经济学中对理性的界定和描述,被称为完全理性假设。我们可以看到,完全理性是一个非常理想化的假设,它对人的认知能力和决策能力有很高的要求。但在现实中,人的行为并不是完全理性的。因此,人们很自然地对理性人假设提出批评。这些批评可以归结为三个方面。

有限理性

第一个是有限理性。诺贝尔经济学奖得主西蒙(Herbert Simon)创造了一个有限理性(bounded rationality)的概念来描述人的行为。他认为,人的大脑加工能力、记忆能力均有限,所以人不可能是完全理性的,只能是有限理性。所以,我们可以观察到人们经常模仿别人的所作所为,以致出现盲从和迷信等现象。

有限毅力

第二个是有限毅力(bounded willpower)。完全理性意味着人们能在眼前利益与长远利益之间进行精确的计算,但现实中人们做一些事情经常是由于毅力不够,抵挡不住眼前诱惑所致。比如说很多人戒烟不成功,减肥不成功,原因就在于缺乏足够的毅力。吸毒者也知道吸毒对自己身体不好,但是就是经不住短期的诱惑。再比如,对于一个完全理性的人,花钱消费时刷信用卡付费和现金支付应该完全一样的,但实际上不一样,刷卡往往会让人们更倾向于接受较高的价格以及多消费。

如果有限毅力带来的问题严重到一定程度,就给政府干预提供了一定的理由。比如在英国,一个靠领救济金过日子的人,星期一领到救济金,一周7天的生活费,他到第三天的时候就全部花光了,这样的人你是不能将生活费一次性全部给他的。小孩子也一样。你一年预备给他们2400元零花钱,如果在年初都给了他,他可能两个月就花光了。所以你只能每个月给他200元,告诉他这是本月的零花钱。对于最没有自制力的孩子,你应该按天给他零花钱并且告诉他,这是你今天的零花钱,明天的零花钱明天再给你。

为了减少这种自身毅力不足导致的问题,人们就会采取一些措施。比如,为了防止自己乱花钱,最好少用信用卡,口袋里少带现金。你要是想限制自己抽烟,那你出门时就应该少带香烟,确实有些烟民是这样做的。有一个有趣的例子是曾在“文化大革命”期间播放过的一部朝鲜电影《永生的战士》,讲的是有一个革命者被敌人抓住之后,他自己把自己的舌头咬掉。为什么?就是害怕没有足够的意志控制自己,在被敌人拷打得难以忍受的时候会出卖同志。如果把自己的舌头咬掉,就没有办法说话了,所以敌人拷打得再厉害,自己也不会招认了。这种行为实际上是一种承诺行为(commitment)——博弈论的一个重要概念,我们后面会讲到

批注:这点有意思。对于行为的调控,,,

有限自利

第三个是有限自利(bounded self interest)。有限自利包含很多的含义,一种含义是利他主义,一种是情绪化行为(emotional behavior)。很多人都有情绪化行为。比如大学生们在教室占座,一个学生把另一个学生用来占座的书给扔掉了,然后坐下来。另一个学生过来后就和该生吵架,然后又动手打起来,结果两个人都受伤了,都进了医院,医药费就花了不少。仔细想想,值得吗?我们经常讲鸡蛋碰不过石头,胳膊拧不过大腿,为什么有人就要碰一下呢?为什么有人非要拧一下呢?因此,我们好多人的行为不是完全理性的。情绪化行为的存在也是对理性人假设的批评。但如我们将看到的,在重复博弈中,情绪化行为也可能是非常理性的,有些社会规范是通过情绪化行为维持的

理性人假设的意义

尽管理性人假设有些极端,但建立在理性人假设基础上的选择理论仍然为我们预测人的行为和评价制度的优劣提供了很好的分析工具。经济学家并没有幼稚到相信现实的人像他们假设的那样具有完全理性,但他们仍然坚持这个假设。为什么?诺贝尔经济学奖得主、芝加哥大学教授Myerson(1999)提出了三个理由:

第一个理由是,在没有更好的其他可选择的理论的时候,接受理性人假设是一个退而求其次的办法。尽管我们知道人不是完全理性的,甚至经常会干傻事,但目前还没有发展出来一个建立在非理性假设上的、可以信赖的、准确的、具有更好处理能力的研究框架。虽然有限理性更符合现实,但以此构造理论的努力目前并不成功。非理性假设可以描述许多现象,但不可能建立起一个有分析能力的理论体系。在思想市场上,在众多可选择的假设中,理性人假设仍然是最具竞争优势的假设。这是所谓的“经济学帝国主义”出现的根本原因

第二个理由是,从社会演进的角度来看,尽管人不是每时每刻都是理性的,但是如果一个人长期不理性的话,他(她)就很难生存。比如,现在有一个人,他的偏好不满足一致性假设。具体说来,设想有苹果、梨、桃子三种水果让他进行选择。先问他喜欢梨还是苹果?他说喜欢梨。再问他喜欢苹果还是桃子?他说喜欢苹果。最后问他桃子和梨喜欢哪一个?按照偏好一致性的要求,如果他是理性的话,他应该喜欢梨。现在假如这个人不理性,就意味着现在他喜欢桃子而不喜欢梨。结果会怎样呢?那他就会在市场交易中一败涂地。比如,一开始他手里有一个苹果,你手里有一个梨和一个桃子。你先拿一个梨去和他交换,并要求他除了把苹果给你外,再给你一分钱。因为按照前面的假设他在苹果和梨之间更喜欢梨,这时他肯定会同意和你交换。现在他的手里有一个梨了,你手里有一个苹果和一个桃子。你现在再拿来一个桃子让他用梨与你交换。因为他在梨与桃子之间更喜欢梨,因此,他会愿意再给你一分钱。结果三次交换后现在回到了一开始的状态:他有一个苹果,你有一个梨和一个桃子。不同的是他少了3分钱,你多了3分钱。你再开始新一轮的交换,这样一直换下去,他纵有万贯家财也会变成穷光蛋,在生存竞争中可能没有办法存活下去。所以说,一个人尽管不是每时每刻都是理性的,但是从长期来看,人们应该从生活中习得理性。

第三个理由是,我们整个社会科学的目的不仅仅是要预测人是如何行为的,还要分析社会制度的优劣,评价各种政策和改革方案。为此,我们要对人性有一个前提假设和判断。如果我们假定人都是不理性的话,什么社会弊端都可以归结到人的问题,那么制度就没有办法设计了,人类也就没有办法改进了。比如说,如果中国与美国相比,不仅资源效率低,而且道德水平也差,我们就只能说是中国人的思想觉悟有问题,甚至人种有问题,解决问题的办法就是像“文化大革命”期间那样,进行思想改造,“灵魂深处闹革命”,甚至像有些人主张的那样,改造人种。这显然是没有说服力的。如果我们假定人是理性的,我们经济落后,我们道德水平低,就说明我们的体制有问题,我们的激励制度有问题,我们的政策有问题,当然,也可能是我们的文化有问题。解决问题的办法就是进行体制和制度变革,改变我们的政策,改造我们的文化。因此,有了理性假设,我们就可以更多地关注制度、政策的作用,从而使社会科学可以更好地造福于人类。

还需要指出的一点是,有些其他领域的学者和社会活动家把生活中出现的损人利己行为和道德堕落现象归罪于经济学家对人的理性假设。这些批评者是大错特错了。如前所述,理性人并不意味着人总是自私自利的。退一步讲,即使经济学家假定理性人是自私自利的,损人利己行为也不是经济学家做出这一假设的结果。如果理论家的假设可以改变人性,从古到今有那么多的道德卫士宣称人是利他主义的,为什么人性没有变得更善,偏偏经济学家的一个理性人假设就使人性变恶了呢(自亚当·斯密发表《国富论》以来不过236年)?对人性的准确判断是为了找到改进社会的基础,找到最有利于人与人合作的制度,以便使人类社会可以长久不衰地存在,正如医生诊断出病人有病是为了挽救人的生命一样。怎么能因为医生告诉病人有病就将其死亡的责任归罪于医生呢?恰恰相反,把有病的人说成没病,才会促进病人的死亡。在这个意义上,正是经济学家的理性人假设才促进了人类合作精神和道德水准的提升,而不是相反。两百多年前,亚当·斯密在理性人假设的基础上证明市场是人与人合作最有效的手段。今天我们看到,在真正实行市场经济的国家,人们的合作精神和道德水准比非市场经济国家高得多。同样,如果说像基督教这样的宗教有助于改善信徒的道德,不是因为它假定人性是善的,而是因为它假定人是生来有罪的。计划经济建立在“利他主义”的假设上,结果给数亿人带来灾难;国有经济和政府干预建立在政府官员“大公无私”的假设上,结果导致严重的贪污腐败和收入分配不公。认识到这一点,对理解当今中国社会的道德危机有重要意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1414191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CTFshow元旦水友赛web部分题解

1.easy_include 看题目是一个文件包含题 post的内容被过滤掉.,而且开头必须是字母,但是如果想要文件包含需要file:///xxxx,这里开头就是/了,所以需要绕过,file伪协议可以用file://localhost路径让绕过开头必须是字母。 可以看…

移动Web——平面转换-平移

1、平面转换-平移 取值 像素单位数值百分比&#xff08;参照盒子自身尺寸计算结果&#xff09;正负均可 技巧 translate()只写一个值&#xff0c;表示沿着X轴移动单独设置X或Y轴移动距离&#xff1a;translateX()或translateY() <!DOCTYPE html> <html lang"en&q…

微信小程序开发 调查问卷

1. 需求 开发一个“调查问卷”的案例来学习常用表单组件的使用&#xff0c;收集用户填写胡表单信息提交给服务器&#xff0c;或者从服务器获取数据后显示在表单中。调查问卷分为单选、多选、单行填空、多行填空&#xff0c;选项为必填时候&#xff0c;提交弹出必填项未提交提示…

Redis2-事务 连接Java 整合springboot 注解缓存

一、订阅和发布 Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff1a;发送者 (pub) 发送消息&#xff0c;订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 客户端订阅频道发布的消息 频道发布消息 订阅者就可以收到消息 发布订阅的代…

蓝桥杯备赛 week 4 —— DP 背包问题

目录 &#x1f308;前言&#x1f308;&#xff1a; &#x1f4c1; 01背包问题 分析&#xff1a; dp数组求解&#xff1a; 优化&#xff1a;滚动数组&#xff1a; &#x1f4c1; 完全背包问题 &#x1f4c1; 总结 &#x1f308;前言&#x1f308;&#xff1a; 这篇文章主…

联合 Maxlinear 迈凌 与 Elitestek 易灵思 - WPI 世平推出基于 FPGA 芯片的好用高效电源解决方案

近期 WPI 世平公司联合 Maxlinear 迈凌电源产品搭配 Elitestek 易灵思 FPGA 共同合作推出基于 FPGA 芯片的好用高效电源解决方案。 Elitestek 易灵思 FPGA 核心产品有 2 大系列 : Trion 系列与钛金系列。Trion 系列主要特点是 : 1. 40nm 工艺 2. 超低功耗 ( 可低至竞争对手的 …

修复idea,eclipse ,clion控制台中文乱码

控制台乱码问题主要原因并不在编译器IDE身上&#xff0c;还主要是Windows的控制台默认编码问题。。。 Powershell&#xff0c;cmd等默认编码可能不是UTF-8&#xff0c;无需改动IDE的settings或者properties&#xff08;这治标不治本&#xff09;&#xff0c;直接让Windows系统…

上位机图像处理和嵌入式模块部署(python opencv)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们谈到了qt&#xff0c;谈到了opencv&#xff0c;也谈到了嵌入式&#xff0c;但是没有说明python在这个过程当中应该扮演什么样的角色。open…

TCP的连接和关闭的那些事

一、基础概念 1、啥是TCP&#xff1f; 它是面向连接的一种协议&#xff0c;任何数据发送之前都需要建立连接。 2、TCP/IP协议的四层中那一层&#xff1f; TCP位于运输层&#xff0c;详见下图 3、TCP协议的状态机有哪些? 在链接建立和断开不同阶段都有不同的状态&#xf…

ES 分布式搜索的运行机制

ES 分布式搜索的运行机制-腾讯云开发者社区-腾讯云 ES 分布式搜索的运行机制 ES 有两种 search_type 即搜索类型&#xff1a; •query_then_fetch &#xff08;默认&#xff09;•dfs_query_then_fetch query_then_fetch query_then_fetch 1.用户发起搜索&#xff0c;请求…

RabbitMQ 笔记二

1.Spring 整合RabbitMQ 生产者消费者 创建生产者工程添加依赖配置整合编写代码发送消息 创建消费者工程添加依赖配置整合编写消息监听器 2.创建工程RabbitMQ Producers spring-rabbitmq-producers <?xml version"1.0" encoding"UTF-8"?> <pr…

SQL注入:报错注入

SQL注入系列文章&#xff1a;初识SQL注入-CSDN博客 SQL注入&#xff1a;联合查询的三个绕过技巧-CSDN博客 目录 什么是报错注入&#xff1f; 报错注入常用的3个函数 UpdateXML ExtractValue Floor rand&#xff08;随机数&#xff09; floor&#xff08;向上取整&…

海外多语言盲盒APP开发:跨越语言障碍的创新解决方案

随着全球化的加速和信息技术的迅猛发展&#xff0c;跨语言沟通的重要性日益凸显。为了满足这一市场需求&#xff0c;海外多语言盲盒APP应运而生。这一创新性的应用软件&#xff0c;旨在帮助用户跨越语言障碍&#xff0c;实现无障碍的交流与互动。 一、海外多语言盲盒APP的核心…

Python中lambda表达式的用法

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 lambda表达式本身是一个非常基础的python函数语法&#xff0c; 其基本功能跟使用def所定义的python函数是一样的&#xff0c; 只是lambda表达式基本在一行以内就完整的表达了整个函数的运算逻辑。 这里我们简单展示一些lam…

C#,恩廷格尔组合数(Entringer Number)的算法与源程序

恩廷格尔组合数&#xff08;Entringer Number&#xff09;组合数学的序列数字之一。 E&#xff08;n&#xff0c;k&#xff09;是{1&#xff0c;2&#xff0c;…&#xff0c;n1}的排列数&#xff0c;从k1开始&#xff0c;先下降后上升。 计算结果&#xff1a; 源代码&#xf…

五、Flask学习之MySQL

五、Flask学习之MySQL 1. 下载MySQL 下载教程&#xff1a;MySQL安装及可视化工具SQLyog下载 2.常用指令 2.1. 查看已有数据库 show databases;2.2. 创建数据库 create database 名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;2.3. 删除数据库 drop database 名字;…

计算机毕业设计 | SSM 凌云招聘平台(附源码)

1&#xff0c;绪论 人力资源是企业产生效益、创造利润的必不可少的、最重要的资源。人作为人力资源的个体可看作是一个承载着有效知识、能力的信息单元。这样的信息单元可看作是一个为企业产生价值和利润的个体。从而使得这样的信息单元所具有的信息就是一个有价值的信息。 校…

stripped文件描述以及gdb反汇编工具使用

往期地址&#xff1a; 操作系统系列一 —— 操作系统概述操作系统系列二 —— 进程操作系统系列三 —— 编译与链接关系操作系统系列四 —— 栈与函数调用关系操作系统系列五 —— 目标文件详解操作系统系列六 —— 详细解释【静态链接】操作系统系列七 —— 装载操作系统系列…

缓存问题 | 缓存穿透,缓存击穿,缓存雪崩

缓存穿透 关键字&#xff1a;强调缓存和数据库都没有数据并发访问 缓存穿透是指数据库和缓存都没有的数据&#xff0c;每次都要经过缓存去访问数据库&#xff0c;大量的请求有可能导致DB宕机。 应对策略&#xff1a; 使用布隆过滤器&#xff08;Bloom Filter&#xff09;&am…

PythonPDF编辑库之pypdf使用详解

概要 PDF&#xff08;Portable Document Format&#xff09;是一种常见的文档格式&#xff0c;广泛用于存储和共享文本和图像数据。在 Python 中&#xff0c;有许多库可以用于处理 PDF 文件&#xff0c;其中之一就是 PyPDF。PyPDF 是一个功能强大的库&#xff0c;它允许你读取…