📝 博弈论
99篇技术文档📅  最后修改于: 2021-09-24 04:58:11        🧑  作者: Mango
给定图的“n”个顶点和“m”条边。找出图中可能的孤立顶点的最小数量和最大数量。例子:对于最少数量的孤立顶点,我们仅通过一条边连接两个顶点。每个顶点应该只连接到另一个顶点,并且每个顶点都应该有一个度数因此,如果边的数量是 ‘m’,并且如果 ‘n’ 顶点 <=2 * ‘m’ 边,则没有孤立顶点,如果此条件为假,则有 n-2*m 个孤立顶点。为了获得最大数量的孤立顶点,我们创建了一个多边形,这样每个顶点...
📅  最后修改于: 2021-09-24 04:58:19        🧑  作者: Mango
本文讨论如何通过混合策略的优势属性解决博弈。考虑下面的游戏:解决方案:找出行最小值和列最大值。这里的 Minimax 值不等于 Maximin,所以这个游戏没有鞍点。现在继续使用优势属性来减少行和列。减少游戏的行和列在这篇文章中有解释。因此,在减少行和列之后,将剩下以下游戏。注意:我们还可以将特定行X的元素与其他两行或更多行的平均值进行比较,如果取平均值后 X行的元素小于或等于相应元素,则删除X行...
📅  最后修改于: 2021-09-24 04:58:26        🧑  作者: Mango
零和博弈:零和游戏是一种不创造也不破坏财富的游戏。因此,在两人零和游戏中,无论一个玩家赢了,另一个都输了。在这个游戏中,我们可以包括至少两个和最多无限数量的参赛者。它假设了一个完全竞争和完全信息的版本。让我们考虑一个有n 个参赛者参与的游戏,而参赛者i有Ni个行动方案可供他使用。那么游戏的结果数将是N1,N2,……………, Nn。因此,考虑一个可能的结果θ导致向参赛者i支付 p(i, θ)。那么,...
📅  最后修改于: 2021-09-24 04:58:34        🧑  作者: Mango
给定一个正整数N,表示玩游戏的玩家人数和一个字符串数组arr[],由范围[‘1’, ‘N’]中的数字组成的数字字符串组成。考虑到第i个玩家被分配了字符串arr[i],任务是在所有N 个玩家按照以下规则进行最佳游戏时找到游戏的获胜者:玩家 1开始游戏,删除字符串arr[1](基于1的索引)的第一个字符,比如X,然后在下一轮第X个玩家将玩游戏并删除arr[X]的第一个字符和很快。无法从指定字符串移除任...
📅  最后修改于: 2021-09-24 04:58:41        🧑  作者: Mango
给定一个由N 个整数组成的数组arr[],每个整数代表一堆石头的大小。任务是当两个玩家A和B根据以下条件进行最佳游戏时,确定游戏的获胜者:玩家A总是开始游戏。在一次移动中,玩家可以从具有最小索引的第一个非空堆中移除任意数量的石头(至少 1 个)。第一个不能移动的玩家输掉游戏。如果玩家 A 赢得游戏,则打印“A”。否则,打印“B”。例子:Input:arr[] = {1, 1, 1, 1, 1, 1...
📅  最后修改于: 2021-09-24 04:58:49        🧑  作者: Mango
在某些游戏中,可以通过分别消除由其他行(或列)支配的行(或列)来减小收益矩阵的大小。行的支配属性:X ≤ Y 即如果特定行X 的所有元素小于或等于另一行Y的相应元素,则删除行X(行X由行Y支配)。特定行X的元素也可以与两个或更多其他行的平均值进行比较,如果行X的元素在取平均值后小于或等于相应元素,则删除行X。列的支配属性:X ≥ Y 即如果特定列X 的所有元素都大于或等于另一列Y的相应元素,则删除...
📅  最后修改于: 2021-09-24 04:58:57        🧑  作者: Mango
给定四个整数N、X、P和Q,任务是通过以下两个操作找到使N为1的最小成本:从 N 中减去1,成本为P。将N 除以 X(如果 N 可被 X 整除),成本为Q。例子:Input:N = 5, X = 2, P = 2, Q = 3Output:7Explanation:Operation 1: 5 – 1 -> cost = 2Operation 2: 4 / 2 -> cost = 3Operati...
📅  最后修改于: 2021-09-24 04:59:05        🧑  作者: Mango
给定一个长度为N的二进制字符串S,任务是通过选择任何子字符串“10”并从该子字符串中删除任何一个字符,任意次数地修改该字符串后,按字典顺序找到最小的字符串。例子:Input:S = “0101”Output:001Explanation:Removing the S[1](=1) from the substring, “10” over the range [1, 2] modifies the...
📅  最后修改于: 2021-09-24 04:59:12        🧑  作者: Mango
给定两个分别由N和M 个整数组成的 H[]和B[]数组,分别表示孔和球的直径。使M个球在有N个孔的斜面上从A滚动到B,每个球具有不同的深度,如下图所示:任务是按照球释放的顺序找到每个球的最终位置,考虑以下因素:如果球的直径小于或等于孔的直径,则球将落入孔中。如果 i个球落入一个洞Hi 中,它就会被填满。如果一个洞是满的,那么就不会再有球掉进去了。一个球将从A到达 B,当且仅当它没有落入任何一个孔中...
📅  最后修改于: 2021-09-24 04:59:20        🧑  作者: Mango
两名球员,PLAYER1和player2,都打在一个给定的数字序列S一个游戏,PLAYER1开始第一和他们都发挥最佳状态。任务是找出玩家 1 是赢还是输。如果他赢了,打印“是”,否则打印“否”。游戏规则如下:玩家的交替回合。在每一回合中,当前玩家必须选择当前序列 S 中的一个或多个元素,使得所有所选元素的值相同,并将这些元素从 S 中删除。当一个玩家不能选择任何东西时(序列 S 已经是空的),这个...
📅  最后修改于: 2021-09-24 04:59:28        🧑  作者: Mango
给定一个由N 个正整数组成的数组arr[],其中arr[i]代表硬币的价值,任务是找到当两个玩家A和B玩游戏时每个玩家可以获得的最大金额按照以下规则进行最佳游戏:玩家A总是开始游戏。在每一轮中,玩家必须从给定的数组中取出1 个硬币。在每一轮中,玩家B必须从给定的数组中移除恰好 2 个硬币。例子:Input:arr[] = {1, 1, 1, 1}Output:(A : 2), (B : 2)Exp...
📅  最后修改于: 2021-09-24 04:59:36        🧑  作者: Mango
给定两个整数X和Y以及一个包含N 个整数的数组。玩家 A可以将数组的任何元素减少X,玩家 B可以将数组的任何元素增加Y。任务是计算A可以减少到0或更少的元素数。他们都在无限时间内以最佳方式进行游戏,而 A 采取了第一步。注意:曾经减少到零或更少的数字不能增加。例子:Input:a[] = {1, 2, 4, 2, 3}, X = 3, Y = 3Output:2A reduces 2 to -1B...
📅  最后修改于: 2021-09-24 04:59:43        🧑  作者: Mango
给定两个数字N和M,任务是找到将N更改为M或-1(如果不可能)的最小移动次数。在一步中,将任何不等于 1 的除数和数字本身添加到当前数字上。例子:Input:N = 4, M = 24Output:5Explanation:the number 24 can be reached starting from 4 using 5 operations: 4->6->8->12->18->24.Inp...
📅  最后修改于: 2021-09-24 04:59:51        🧑  作者: Mango
有两个玩家 A 和 B 对玩数字游戏感兴趣。在每次移动中,玩家选择两个不同的数字,假设a1和a2,然后将所有a2替换为a1或将a1替换为a2。如果他们中的任何一个无法选择两个数字,则他们停止玩游戏,并且无法在数组中选择两个不同数字的玩家输掉游戏。第一个玩家总是先移动,然后再移动。任务是找出哪个玩家获胜。例子:从上面的例子中,我们可以观察到,如果不同元素的数量是偶数,那么第一个玩家总是获胜。否则第二...
📅  最后修改于: 2021-09-24 04:59:59        🧑  作者: Mango
给定维度为M * N的矩阵grid[][],三个整数X, Y和K,任务是检查是否存在从单元格(X, Y)到矩阵的任何边界单元格的任何路径,使得路径中存在的矩阵元素的总和最多为 K。如果不存在这样的路径,则打印“No”。否则,打印“是”。任何单元格的可能移动是向上、向下、向左或向右。例子:Input:grid[][] = {{25, 5, 25, 25, 25, 25}, {25, 1, 1, 5...