DeepSeek能下围棋吗?(续)
休息了一下,接着琢磨围棋,其实前面一篇里的规则有个漏洞的,就是邻居关系定义有问题,先回顾一下游戏规则:
游戏规则
定义:
1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n),如果m不等于n,那么认为(m,n)与(n,m)是两个不同的数字对。
2.游戏由两方组成,称为B方和W方,每一方拥有一个集合,称为B集合和W集合,集合中的元素是数字对,游戏开始时B集合和W集合都是空集合。
3.没有出现在B集合和W集合中的所有数字对构成一个K集合
4.两个数字对(m,n)和(a,b)邻居如果m和a只差1,或者n和b只差1,称为两个数字对是邻居关系
5.具有邻居关系的两个数字对有粘连关系,如果A与B有粘连关系,B与C也有粘连关系,称A与C也有粘连关系
6.根据粘连关系把B集合和W集合分割成若干子集合,称为粘连块
7.一个粘连块中每个数字对的邻居如果是K集合的元素,称这个数字对是该粘连块的气对
8.一个粘连块的所有气对构成的集合称为气集合
9.一个粘连块的气集合中的元素个数称为这个粘连块的气数
定义4中说
两个数字对(m,n)和(a,b)邻居如果m和a只差1,或者n和b只差1,称为两个数字对是邻居关系,
其实不够严密,我们来问问deepseek,重启一个对话(这么折腾deepseek,真是罪过啊),输入规则:
游戏规则
定义:
1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n),如果m不等于n,那么认为(m,n)与(n,m)是两个不同的数字对。
2.游戏由两方组成,称为B方和W方,每一方拥有一个集合,称为B集合和W集合,集合中的元素是数字对,游戏开始时B集合和W集合都是空集合。
3.没有出现在B集合和W集合中的所有数字对构成一个K集合
4.两个数字对(m,n)和(a,b)邻居如果m和a只差1,或者n和b只差1,称为两个数字对是邻居关系
5.具有邻居关系的两个数字对有粘连关系,如果A与B有粘连关系,B与C也有粘连关系,称A与C也有粘连关系
6.根据粘连关系把B集合和W集合分割成若干子集合,称为粘连块
7.一个粘连块中每个数字对的邻居如果是K集合的元素,称这个数字对是该粘连块的气对
8.一个粘连块的所有气对的集合称为这个粘连块的气集
9.一个粘连块的气集合中的元素个数称为这个粘连块的气数
DeepSeek回答:
游戏规则解析
定义
- 数字对:由两个1到9之间的整数组成的有序集合,记为(m,n)。若m≠n,(m,n)与(n,m)视为不同的数字对。
- 游戏双方:B方和W方,各自拥有一个数字对集合,分别为B集合和W集合。游戏开始时,这两个集合均为空。
- K集合:包含所有未出现在B集合和W集合中的数字对。
- 邻居关系:两个数字对(m,n)和(a,b)是邻居,如果m与a或n与b的差为1。
- 粘连关系:若A与B是邻居,B与C也是邻居,则A与C也有粘连关系。
- 粘连块:根据粘连关系将B集合和W集合分割成的若干子集合。
- 气对:一个粘连块中的数字对,其邻居属于K集合。
- 气集合:一个粘连块中所有气对的集合。
- 气数:气集合中元素的数量。
游戏流程
- 初始状态:B集合和W集合为空,K集合包含所有可能的数字对。
- 轮流操作:B方和W方轮流选择一个数字对加入自己的集合,并从K集合中移除。
- 更新粘连块:每次操作后,重新计算B集合和W集合的粘连块。
- 计算气数:为每个粘连块计算气数,气数为0的粘连块将被移除。
示例
(这个图不是DeepSeek配的,是我为了方便看清配的)
假设当前B集合为{(1,1), (1,2)},W集合为{(2,2)},K集合为其他所有数字对。
- 粘连块:
- B集合的粘连块为{(1,1), (1,2)}。
- W集合的粘连块为{(2,2)}。
- 气对:
- B粘连块的气对为{(1,1), (1,2)},因为它们的邻居(1,3)和(2,2)在K集合中。
- W粘连块的气对为{(2,2)},因为它的邻居(2,1)和(2,3)在K集合中。
- 气数:
- B粘连块的气数为2。
- W粘连块的气数为1。
游戏结束条件
当某一方的粘连块气数为0时,该粘连块被移除,游戏继续进行,直到无法继续操作为止。
问,(1,1)和(2,9)是邻居关系吗?
根据定义,两个数字对 (m, n) 和 (a, b) 是邻居关系,当且仅当 m 和 a 的差为 1,或者 n 和 b 的差为 1。
对于 (1, 1) 和 (2, 9):- m = 1, a = 2,它们的差为 |1 - 2| = 1,满足条件。- n = 1, b = 9,它们的差为 |1 - 9| = 8,不满足条件。由于 m 和 a 的差为 1,因此 (1, 1) 和 (2, 9) 是邻居关系。
答案
是,(1,1) 和 (2,9) 是邻居关系。
这个肯定不对嘛!但是DeepSeek判断是对的,规则有问题。
邻居关系是很重要的关系,它关系到一块棋的气数,然而前面下棋过程似乎很正常,什么地方出问题了?
W粘连块的气对为{(2,2)},因为它的邻居(2,1)和(2,3)在K集合中。- W粘连块的气数为1。
这个判断很有问题,{(2,2)}的领居其实应该包括(2,1),(2,3),(1,2)和(3,2),其中除了(1,2)外都在K中,因此这个块的气数应该是3。
原因是气对这个定义也有问题,按说气对应该是:
. 气对:一个粘连块中的数字对,其邻居属于K集合。
这个定义有问题,应该将气集改成:
7.一个粘连块中每个数字对的邻居的集合的并集与K集合的交集称为该粘连块的气集
对邻居关系的定义改为
4…两个数字对(m,n)和(a,b),如果n与b一样而且m和a只差1,或者m与a一样而且n和b只差1,称这两个数字对是邻居关系
这样我们就得到了新版的游戏规则如下:
游戏规则
定义:
1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n),如果m不等于n,那么认为(m,n)与(n,m)是两个不同的数字对。
2.游戏由两方组成,称为B方和W方,每一方拥有一个集合,称为B集合和W集合,集合中的元素是数字对,游戏开始时B集合和W集合都是空集合。
3.没有出现在B集合和W集合中的所有数字对构成一个K集合
4.两个数字对(m,n)和(a,b),如果n与b一样而且m和a只差1,或者m与a一样而且n和b只差1,称这两个数字对是邻居关系
5.具有邻居关系的两个数字对有粘连关系,如果A与B有粘连关系,B与C也有粘连关系,称A与C也有粘连关系
6.根据粘连关系把B集合和W集合分割成若干子集合,称为粘连块
7.一个粘连块中每个数字对的邻居的集合的并集与K集合的交集称为该粘连块的气集合
8.一个粘连块的气集合中的元素个数称为这个粘连块的气数
规则:
1.由B方先,W方后,交替选择一个K中的数字对加入到自己一方的集合中。
2.选择的数字对加入自己一方的集合后可能导致双方的粘连块有变化,如果变化后的某个粘连块的气数变为0,如果这个粘连块是对方的,可以将这个粘连块中的所有数字对从对方数字对集合中删除,
3.如果选择的数字对不能使对方的某个粘连块气数变成0,反而使自己一方的某个粘连块气数变成0,那这个数字对就不能选择。
4,某方选择的数字对导致对方被删除的数字对只有一个,这个数字对下一次对方不能选择
5,直到一方无法选择合法的数字对,此时游戏结束
6,结束是计算B集合中的数字对个数,收集B集合中所有数字对的邻居集合与K集合的交集中的数字对个数,两个数字加起来,称为B方的地盘数Bn,对W方也按相同的规则统计出W方地盘数Wn,如果Bn-Wn>3则称B方赢,否则称W方赢
把这个规则输入到DeepSeek中去,得到
游戏规则解析
定义
- 数字对:由两个1到9之间的整数组成的有序集合,记为(m,n)。若m≠n,则(m,n)与(n,m)视为不同的数字对。
- 游戏双方:B方和W方,各自拥有一个集合(B集合和W集合),初始为空。
- K集合:未出现在B集合和W集合中的所有数字对。
- 邻居关系:两个数字对(m,n)和(a,b),若n=b且|m-a|=1,或m=a且|n-b|=1,则称这两个数字对是邻居关系。
- 粘连关系:若A与B有邻居关系,B与C也有邻居关系,则A与C也有粘连关系。
- 粘连块:根据粘连关系将B集合和W集合分割成的若干子集合。
- 气集合:一个粘连块中每个数字对的邻居集合的并集与K集合的交集。
- 气数:气集合中的元素个数。
游戏规则
- 轮流选择:B方先手,W方后手,交替从K集合中选择一个数字对加入自己的集合。
- 粘连块变化:选择的数字对加入后,可能导致双方的粘连块发生变化。若某粘连块的气数变为0,且该粘连块属于对方,则将该粘连块中的所有数字对从对方集合中删除。
- 选择限制:若选择的数字对不能使对方的粘连块气数变为0,反而使自己的粘连块气数变为0,则该数字对不可选择。
- 删除限制:若某方选择的数字对导致对方被删除的数字对只有一个,则对方下一次不能选择该数字对。
- 游戏结束:当一方无法选择合法的数字对时,游戏结束。
- 胜负判定:计算B集合中的数字对个数,以及B集合中所有数字对的邻居集合与K集合的交集中的数字对个数,两者之和为B方的地盘数Bn。同理计算W方的地盘数Wn。若Bn - Wn > 3,则B方赢;否则,W方赢。
游戏流程示例
- 初始状态:B集合和W集合为空,K集合包含所有可能的数字对。
- B方选择:B方选择一个数字对加入B集合。
- W方选择:W方选择一个数字对加入W集合。
- 粘连块更新:每次选择后,更新双方的粘连块及其气数。
- 删除操作:若某粘连块气数变为0,且属于对方,则删除该粘连块中的所有数字对。
- 选择限制:确保选择的数字对不会使自己的粘连块气数变为0。
- 游戏结束:当一方无法选择合法的数字对时,游戏结束,计算地盘数决定胜负。
策略建议
- 控制气数:尽量选择能使对方粘连块气数减少的数字对。
- 保护粘连块:避免选择会使自己粘连块气数减少的数字对。
- 限制对方选择:通过删除操作限制对方的选择范围。通过以上规则和策略,玩家可以更好地理解和参与这个游戏。
它不举例了,只能先问问看邻居关系,看有没有改过来:
请问(1,1)和(2,9)是邻居关系吗?
问题回顾
我们需要判断数字对 (1,1) 和 (2,9) 是否是邻居关系。根据游戏规则,两个数字对 (m,n) 和 (a,b) 是邻居关系,当且仅当满足以下条件之一:
- n = b 且 |m - a| = 1
- m = a 且 |n - b| = 1
分析步骤
- 提取数字对: - 第一个数字对:(m, n) = (1, 1) - 第二个数字对:(a, b) = (2, 9)
- 检查第一个条件:
- n = b:1 ≠ 9,不满足。
- 因此,第一个条件不成立。
- 检查第二个条件:
- m = a:1 ≠ 2,不满足。
- 因此,第二个条件也不成立。
结论
由于两个条件均不满足,数字对 (1,1) 和 (2,9) 不是邻居关系。
最终答案
(1,1) 和 (2,9) 不是邻居关系。
这次判断对了,下面来下几步棋,看看是否有问题:
请你做裁判我们来做玩这个游戏
好的!我很乐意担任裁判,帮助你们进行这个游戏。以下是游戏的初始设置和规则回顾,方便你们开始游戏。
游戏初始设置
- B集合:空集合
- W集合:空集合
- K集合:包含所有可能的数字对(即从 (1,1) 到 (9,9) 的所有有序对,共 81 个数字对)。
- 当前回合:B方先手。
游戏规则回顾
- 轮流选择:B方和W方交替从K集合中选择一个数字对,加入自己的集合。
- 邻居关系:两个数字对 (m,n) 和 (a,b) 是邻居关系,当且仅当:
- n = b 且 |m - a| = 1,或
- m = a 且 |n - b| = 1。
- 粘连块与气数:
- 粘连块是由邻居关系连接的子集合。
- 气数是粘连块的邻居数字对中属于K集合的数量。
- 删除规则:
- 如果某方选择的数字对导致对方的某个粘连块气数变为0,则删除该粘连块中的所有数字对。
- 如果选择的数字对导致自己的粘连块气数变为0,则该选择无效,需重新选择。
- 限制规则:
- 如果某方选择的数字对导致对方被删除的数字对只有一个,则对方下一次不能选择该数字对。
- 游戏结束:
- 当一方无法选择合法的数字对时,游戏结束。 - 计算双方的地盘数(Bn 和 Wn),地盘数 = 自己集合中的数字对个数 + 自己集合中所有数字对的邻居与K集合的交集个数。 - 若 Bn - Wn > 3,B方赢;否则,W方赢。
游戏流程
- B方先手:请B方选择一个合法的数字对加入B集合。
- 更新K集合:将选择的数字对从K集合中移除。
- 检查粘连块和气数:
- 更新B集合和W集合的粘连块。
- 检查是否有粘连块的气数变为0,触发删除规则。
- W方回合:W方选择一个合法的数字对加入W集合。
- 重复上述步骤,直到一方无法选择合法的数字对,游戏结束。
示例
假设B方选择 (1,1):
- B集合:{(1,1)}
- K集合:移除 (1,1)
- 检查粘连块:B集合的粘连块为 {(1,1)},其邻居为 (2,1) 和 (1,2)。
- 气数:如果 (2,1) 和 (1,2) 仍在K集合中,则气数为2。接下来轮到W方选择。
开始游戏
请B方选择一个数字对(例如 (1,1)),并告诉我你的选择。我会更新游戏状态并继续裁判!
我们来走这个星位小飞挂角托连扳定式,但是第9步本来应该走白第10步位置,我们故意走错一步。来考察一下规则的反应。
下面我们按上面的定式来走,走一步分析一步先看是否有问题。
(4,4)
好的!B方选择了 (4,4)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4)}
- W集合:{}
- K集合:移除了 (4,4),剩余所有数字对(共 80 个)。
- 粘连块与气数:
- B集合的粘连块为 {(4,4)}。
- (4,4) 的邻居为 (3,4)、(5,4)、(4,3)、(4,5)。
- 气数为这些邻居中仍在K集合的数量。目前 (3,4)、(5,4)、(4,3)、(4,5) 都在K集合中,因此气数为 4。
这一步没有看出什么问题,以后没问题就接着下。
下一步
轮到 W方 选择一个合法的数字对加入W集合。请W方选择一个数字对(例如 (3,4)),并告诉我你的选择。我会继续更新游戏状态!
(6,3)
好的!W方选择了 (6,3)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4)}
- W集合:{(6,3)}
- K集合:移除了 (4,4) 和 (6,3),剩余所有数字对(共 79 个)。
- 粘连块与气数:
- B集合的粘连块:{(4,4)}。
- 邻居为 (3,4)、(5,4)、(4,3)、(4,5)。
- 这些邻居仍在K集合中,气数为 4。
- W集合的粘连块:{(6,3)}。
- 邻居为 (5,3)、(7,3)、(6,2)、(6,4)。
- 这些邻居仍在K集合中,气数为 4。
下一步
轮到 B方 选择一个合法的数字对加入B集合。请B方选择一个数字对(例如 (5,4)),并告诉我你的选择。我会继续更新游戏状态!
(3,6)
好的!B方选择了 (3,6)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4), (3,6)}
- W集合:{(6,3)}
- K集合:移除了 (4,4)、(6,3) 和 (3,6),剩余所有数字对(共 78 个)。
- 粘连块与气数:
- B集合的粘连块:
- {(4,4)} 和 {(3,6)} 目前没有邻居关系,因此是两个独立的粘连块。
- {(4,4)} 的邻居为 (3,4)、(5,4)、(4,3)、(4,5),气数为 4。
- {(3,6)} 的邻居为 (2,6)、(4,6)、(3,5)、(3,7),气数为 4。
- W集合的粘连块:
- {(6,3)} 的邻居为 (5,3)、(7,3)、(6,2)、(6,4),气数为 4。
下一步
轮到 W方 选择一个合法的数字对加入W集合。请W方选择一个数字对(例如 (5,3)),并告诉我你的选择。我会继续更新游戏状态!
(4,3)
好的!W方选择了 (4,3)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4), (3,6)}
- W集合:{(6,3), (4,3)}
- K集合:移除了 (4,4)、(6,3)、(3,6) 和 (4,3),剩余所有数字对(共 77 个)。
- 粘连块与气数:
- B集合的粘连块:
- {(4,4)} 和 {(3,6)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(4,4)} 的邻居为 (3,4)、(5,4)、(4,5),气数为 3(因为 (4,3) 已被移除)。
- {(3,6)} 的邻居为 (2,6)、(4,6)、(3,5)、(3,7),气数为 4。
- W集合的粘连块:
- {(6,3)} 和 {(4,3)} 没有邻居关系,因此是两个独立的粘连块。
- {(6,3)} 的邻居为 (5,3)、(7,3)、(6,2)、(6,4),气数为 4。
- {(4,3)} 的邻居为 (3,3)、(5,3)、(4,2)、(4,4),气数为 3(因为 (4,4) 已被移除)。
下一步
轮到 B方 选择一个合法的数字对加入B集合。请B方选择一个数字对(例如 (5,4)),并告诉我你的选择。我会继续更新游戏状态!
(3,3)
好的!B方选择了 (3,3)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4), (3,6), (3,3)}
- W集合:{(6,3), (4,3)}
- K集合:移除了 (4,4)、(6,3)、(3,6)、(4,3) 和 (3,3),剩余所有数字对(共 76 个)。
- 粘连块与气数:
- B集合的粘连块:
- {(4,4)} 和 {(3,6)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(4,4)} 的邻居为 (3,4)、(5,4)、(4,5),气数为 3。
- {(3,6)} 的邻居为 (2,6)、(4,6)、(3,5)、(3,7),气数为 4。
- {(3,3)} 是一个新的粘连块,邻居为 (2,3)、(4,3)、(3,2)、(3,4)。
- 由于 (4,3) 已被移除,气数为 3((2,3)、(3,2)、(3,4))。
- W集合的粘连块:
- {(6,3)} 和 {(4,3)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(6,3)} 的邻居为 (5,3)、(7,3)、(6,2)、(6,4),气数为 4。
- {(4,3)} 的邻居为 (3,3)、(5,3)、(4,2)、(4,4),气数为 2(因为 (3,3) 和 (4,4) 已被移除)。
- {(6,3)} 和 {(4,3)} 仍然没有邻居关系,因此是两个独立的粘连块。
检查删除规则
- W集合的粘连块 {(4,3)} 的气数现在为 2,未变为0,因此不触发删除规则。
- B集合的粘连块 气数均未变为0,因此无需删除。
下一步
轮到 W方 选择一个合法的数字对加入W集合。请W方选择一个数字对(例如 (5,3)),并告诉我你的选择。我会继续更新游戏状态!
(3,2)
好的!W方选择了 (3,2)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4), (3,6), (3,3)}
- W集合:{(6,3), (4,3), (3,2)}
- K集合:移除了 (4,4)、(6,3)、(3,6)、(4,3)、(3,3) 和 (3,2),剩余所有数字对(共 75 个)。
- 粘连块与气数:
- B集合的粘连块:
- {(4,4)} 和 {(3,6)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(4,4)} 的邻居为 (3,4)、(5,4)、(4,5),气数为 3。
- {(3,6)} 的邻居为 (2,6)、(4,6)、(3,5)、(3,7),气数为 4。
- {(3,3)} 的邻居为 (2,3)、(4,3)、(3,2)、(3,4)。 - 由于 (4,3) 和 (3,2) 已被移除,气数为 2((2,3)、(3,4))。
- W集合的粘连块:
- {(6,3)} 和 {(4,3)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(6,3)} 的邻居为 (5,3)、(7,3)、(6,2)、(6,4),气数为 4。
- {(4,3)} 的邻居为 (3,3)、(5,3)、(4,2)、(4,4),气数为 1(因为 (3,3) 和 (4,4) 已被移除)。
- {(3,2)} 是一个新的粘连块,邻居为 (2,2)、(4,2)、(3,1)、(3,3)。
- 由于 (3,3) 已被移除,气数为 3((2,2)、(4,2)、(3,1))。
检查删除规则
- W集合的粘连块 {(4,3)} 的气数现在为 1,未变为0,因此不触发删除规则。
- B集合的粘连块 气数均未变为0,因此无需删除。
(4,3)的气数计算有问题了啊,邻居是 (3,3)、(5,3)、(4,2)、(4,4),与K集合的交集是(4,2)和(5,3)照说有两口气才对呢,为何只有一口气了?
下一步
轮到 B方 选择一个合法的数字对加入B集合。请B方选择一个数字对(例如 (5,4)),并告诉我你的选择。我会继续更新游戏状态!
(5,3)
好的!B方选择了 (5,3)。以下是当前游戏状态的更新:
当前游戏状态
- B集合:{(4,4), (3,6), (3,3), (5,3)}
- W集合:{(6,3), (4,3), (3,2)}
- K集合:移除了 (4,4)、(6,3)、(3,6)、(4,3)、(3,3)、(3,2) 和 (5,3),剩余所有数字对(共 74 个)。
- 粘连块与气数:
- B集合的粘连块:
- {(4,4)} 和 {(3,6)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(4,4)} 的邻居为 (3,4)、(5,4)、(4,5),气数为 3。
- {(3,6)} 的邻居为 (2,6)、(4,6)、(3,5)、(3,7),气数为 4。
- {(3,3)} 的邻居为 (2,3)、(4,3)、(3,2)、(3,4)。
- 由于 (4,3) 和 (3,2) 已被移除,气数为 2((2,3)、(3,4))。
- {(5,3)} 是一个新的粘连块,邻居为 (4,3)、(6,3)、(5,2)、(5,4)。
- 由于 (4,3) 和 (6,3) 已被移除,气数为 2((5,2)、(5,4))。
- W集合的粘连块:
- {(6,3)} 和 {(4,3)} 仍然没有邻居关系,因此是两个独立的粘连块。
- {(6,3)} 的邻居为 (5,3)、(7,3)、(6,2)、(6,4),气数为 3(因为 (5,3) 已被移除)。
- {(4,3)} 的邻居为 (3,3)、(5,3)、(4,2)、(4,4),气数为 0(因为 (3,3)、(5,3) 和 (4,4) 已被移除)。
- {(3,2)} 的邻居为 (2,2)、(4,2)、(3,1)、(3,3),气数为 3(因为 (3,3) 已被移除)。
检查删除规则
- W集合的粘连块 {(4,3)} 的气数现在为 0,因此触发删除规则。
- 将 {(4,3)} 从W集合中删除。
- 更新W集合:{(6,3), (3,2)}。
更新后的游戏状态
- B集合:{(4,4), (3,6), (3,3), (5,3)}
- W集合:{(6,3), (3,2)}
- K集合:移除了 (4,4)、(6,3)、(3,6)、(4,3)、(3,3)、(3,2) 和 (5,3),剩余所有数字对(共 74 个)。
- 粘连块与气数:
- B集合的粘连块:
- {(4,4)} 的邻居为 (3,4)、(5,4)、(4,5),气数为 3。
- {(3,6)} 的邻居为 (2,6)、(4,6)、(3,5)、(3,7),气数为 4。
- {(3,3)} 的邻居为 (2,3)、(4,3)、(3,2)、(3,4),气数为 2。
- {(5,3)} 的邻居为 (4,3)、(6,3)、(5,2)、(5,4),气数为 2。
- W集合的粘连块:
- {(6,3)} 的邻居为 (5,3)、(7,3)、(6,2)、(6,4),气数为 3。
- {(3,2)} 的邻居为 (2,2)、(4,2)、(3,1)、(3,3),气数为 3。
- B集合的粘连块:
下一步
轮到 W方 选择一个合法的数字对加入W集合。请W方选择一个数字对(例如 (5,2)),并告诉我你的选择。我会继续更新游戏状态!
好像出问题了啊,照说应该是
第4步(4,3)的气数为何会是0,哪里出问题了?这不还有(4,2)一口气嘛
看了半天没看出来,要下车了,先这样吧,后面再琢磨吧。
汕头果然要暖和一些啊,有动力了。
住下来了,仔细看了规则,按说没有问题,再来试一遍,中间随时关注是否有错误,再努力一下看看:
重启一次对话,然后重发游戏规则
游戏规则
定义:
1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n),如果m不等于n,那么认为(m,n)与(n,m)是两个不同的数字对。
2.游戏由两方组成,称为B方和W方,每一方拥有一个集合,称为B集合和W集合,集合中的元素是数字对,游戏开始时B集合和W集合都是空集合。
3.没有出现在B集合和W集合中的所有数字对构成一个K集合
4.两个数字对(m,n)和(a,b),如果n与b一样而且m和a只差1,或者m与a一样而且n和b只差1,称这两个数字对是邻居关系
5.具有邻居关系的两个数字对有粘连关系,如果A与B有粘连关系,B与C也有粘连关系,称A与C也有粘连关系
6.根据粘连关系把B集合和W集合分割成若干子集合,称为粘连块
7.一个粘连块中每个数字对的邻居的集合的并集与K集合的交集称为该粘连块的气集合
8.一个粘连块的气集合中的元素个数称为这个粘连块的气数
规则:
1.由B方先,W方后,交替选择一个K中的数字对加入到自己一方的集合中。
2.选择的数字对加入自己一方的集合后可能导致双方的粘连块有变化,如果变化后的某个粘连块的气数变为0,如果这个粘连块是对方的,可以将这个粘连块中的所有数字对从对方数字对集合中删除,
3.如果选择的数字对不能使对方的某个粘连块气数变成0,反而使自己一方的某个粘连块气数变成0,那这个数字对就不能选择。
4,某方选择的数字对导致对方被删除的数字对只有一个,这个数字对下一次对方不能选择
5,直到一方无法选择合法的数字对,此时游戏结束
6,结束是计算B集合中的数字对个数,收集B集合中所有数字对的邻居集合与K集合的交集中的数字对个数,两个数字加起来,称为B方的地盘数Bn,对W方也按相同的规则统计出W方地盘数Wn,如果Bn-Wn>3则称B方赢,否则称W方赢
这个游戏规则描述了一个类似于围棋或五子棋的抽象策略游戏,但使用了数字对和粘连块的概念。以下是对游戏规则的详细解释和步骤总结:
1. 基本定义
- 数字对:由两个1到9之间的整数组成的有序集合,记为(m,n)。如果m≠n,则(m,n)和(n,m)是两个不同的数字对。
- B方和W方:游戏的双方,分别拥有B集合和W集合,集合中的元素是数字对。游戏开始时,B集合和W集合都是空的。
- K集合:所有未出现在B集合和W集合中的数字对构成的集合。
2. 邻居关系和粘连关系
- 邻居关系:两个数字对(m,n)和(a,b)如果满足以下条件之一,则称它们是邻居关系: - n = b 且 |m - a| = 1 - m = a 且 |n - b| = 1
- 粘连关系:如果A与B有邻居关系,B与C也有邻居关系,那么A与C也有粘连关系。粘连关系将B集合和W集合分割成若干子集合,称为粘连块。
3. 气集合和气数
- 气集合:一个粘连块中每个数字对的邻居的集合的并集与K集合的交集称为该粘连块的气集合。
- 气数:气集合中的元素个数称为这个粘连块的气数。
4. 游戏规则
- 轮流选择:B方先手,W方后手,交替从K集合中选择一个数字对加入到自己一方的集合中。
- 气数变化:选择的数字对加入自己一方的集合后,可能导致双方的粘连块发生变化。如果某个粘连块的气数变为0: - 如果这个粘连块是对方的,可以将这个粘连块中的所有数字对从对方集合中删除。
- 合法性检查:如果选择的数字对不能使对方的某个粘连块气数变成0,反而使自己一方的某个粘连块气数变成0,那么这个数字对不能选择。
- 禁止选择:如果某方选择的数字对导致对方被删除的数字对只有一个,这个数字对下一次对方不能选择。
- 游戏结束:直到一方无法选择合法的数字对,游戏结束
- 胜负判定: - 计算B集合中的数字对个数,以及B集合中所有数字对的邻居集合与K集合的交集中的数字对个数,两者相加得到B方的地盘数Bn。 - 对W方也按相同的规则统计出W方地盘数Wn。 - 如果Bn - Wn > 3,则B方赢;否则,W方赢。
5. 游戏策略
- 控制气数:玩家需要尽量增加自己粘连块的气数,同时减少对方粘连块的气数。
- 避免自杀:选择数字对时要避免使自己一方的粘连块气数变为0。
- 限制对方选择:通过选择特定数字对,限制对方的选择空间。
6. 示例
假设B方选择数字对(1,2),W方选择数字对(2,2),B方再选择数字对(1,3)。此时:
- B集合:{(1,2), (1,3)}
- W集合:{(2,2)}
- K集合:所有未选择的数字对,根据邻居关系和粘连关系,计算各粘连块的气数,并根据气数变化进行删除和选择。
总结
这个游戏规则复杂且具有策略性,玩家需要深入理解数字对、邻居关系、粘连块和气数的概念,才能在游戏中取得优势。
似乎有点不一样了,直接说有点像围棋游戏或五子棋游戏了,看来看出来点东西了啊。
请你做裁判,我们来玩一次这个游戏
好的!我将作为裁判来主持这次游戏。我们将严格按照你提供的规则进行游戏。为了方便起见,我会记录每一步的状态,包括B集合、W集合、K集合,以及各粘连块的气数和气集合。
游戏初始化
- B集合:{}
- W集合:{}
- K集合:所有可能的数字对,即{(1,1), (1,2), …, (9,9)},共81个数字对。
- 当前回合:B方先手。
第1步:B方选择
B方需要从K集合中选择一个数字对加入B集合。请B方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据B方的选择更新B集合和K集合。
- 检查B方的选择是否合法(即不会导致B方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果B方的选择导致W方的某个粘连块气数为0,则删除该粘连块。
- 轮到W方选择。请B方选择一个数字对!
这次又不一样,增加了个裁判说明,减少了很多内部信息的输出。
(4,4)
好的!B方选择了数字对 (4,4)。现在我来更新游戏状态并检查合法性。
第1步:
B方选择 (4,4)
- B集合:{(4,4)}
- W集合:{}
- K集合:K集合中移除(4,4),剩余80个数字对。
检查合法性
- 粘连块:B集合中只有一个数字对(4,4),因此B方的粘连块为{(4,4)}。
- 气集合:
- (4,4)的邻居是满足以下条件的数字对:
- (3,4) 和 (5,4)(上下邻居)
- (4,3) 和 (4,5)(左右邻居)
- 这些邻居中,未出现在B集合和W集合中的数字对是:(3,4), (5,4), (4,3), (4,5)。
- 因此,气集合为 {(3,4), (5,4), (4,3), (4,5)}。
- 气数:气集合中有4个元素,气数为4。由于B方的选择没有导致任何粘连块的气数为0,选择合法。
更新状态
- B集合:{(4,4)}
- W集合:{}
- K集合:K集合中移除(4,4)。
- 当前回合:轮到W方选择。
第2步:W方选择
W方需要从K集合中选择一个数字对加入W集合。请W方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据W方的选择更新W集合和K集合。
- 检查W方的选择是否合法(即不会导致W方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果W方的选择导致B方的某个粘连块气数为0,则删除该粘连块。
- 轮到B方选择。请W方选择一个数字对!
(6,3)
好的!W方选择了数字对 (6,3)。现在我来更新游戏状态并检查合法性。
第2步:W方选择 (6,3)
- B集合:{(4,4)}
- W集合:{(6,3)}
- K集合:K集合中移除(6,3),剩余79个数字对。
检查合法性
- 粘连块:W集合中只有一个数字对(6,3),因此W方的粘连块为{(6,3)}。
- 气集合:
- (6,3)的邻居是满足以下条件的数字对:
- (5,3) 和 (7,3)(上下邻居)
- (6,2) 和 (6,4)(左右邻居)
- 这些邻居中,未出现在B集合和W集合中的数字对是:(5,3), (7,3), (6,2), (6,4)。
- 因此,气集合为 {(5,3), (7,3), (6,2), (6,4)}。3. 气数:气集合中有4个元素,气数为4。由于W方的选择没有导致任何粘连块的气数为0,选择合法。
- (6,3)的邻居是满足以下条件的数字对:
更新状态
- B集合:{(4,4)}
- W集合:{(6,3)}
- K集合:K集合中移除(6,3)。
- 当前回合:轮到B方选择。
第3步:B方选择
B方需要从K集合中选择一个数字对加入B集合。请B方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据B方的选择更新B集合和K集合。
- 检查B方的选择是否合法(即不会导致B方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果B方的选择导致W方的某个粘连块气数为0,则删除该粘连块。
- 轮到W方选择。请B方选择一个数字对!
(3,6)
好的!B方选择了数字对 (3,6)。现在我来更新游戏状态并检查合法性。
第3步:B方选择 (3,6)
- B集合:{(4,4), (3,6)}
- W集合:{(6,3)}
- K集合:K集合中移除(3,6),剩余78个数字对。
检查合法性
- 粘连块:
- B集合中有两个数字对:(4,4) 和 (3,6)。
- 检查它们是否构成粘连关系:
- (4,4) 的邻居是 (3,4), (5,4), (4,3), (4,5)。
- (3,6) 的邻居是 (2,6), (4,6), (3,5), (3,7)。
- (4,4) 和 (3,6) 之间没有邻居关系,因此它们是两个独立的粘连块:
- 粘连块1:{(4,4)}
- 粘连块2:{(3,6)}
-
气集合:
- 粘连块1({(4,4)})的气集合为 {(3,4), (5,4), (4,3), (4,5)},气数为4。
- 粘连块2({(3,6)})的气集合为 {(2,6), (4,6), (3,5), (3,7)},气数为4。
-
合法性:B方的选择没有导致任何粘连块的气数为0,选择合法。
更新状态
- B集合:{(4,4), (3,6)}
- W集合:{(6,3)}
- K集合:K集合中移除(3,6)。
- 当前回合:轮到W方选择。
第4步:W方选择
W方需要从K集合中选择一个数字对加入W集合。请W方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据W方的选择更新W集合和K集合。
- 检查W方的选择是否合法(即不会导致W方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果W方的选择导致B方的某个粘连块气数为0,则删除该粘连块。
- 轮到B方选择。请W方选择一个数字对!
(4,3)
好的!W方选择了数字对 (4,3)。现在我来更新游戏状态并检查合法性。
第4步:W方选择 (4,3)
- B集合:{(4,4), (3,6)}
- W集合:{(6,3), (4,3)}
- K集合:K集合中移除(4,3),剩余77个数字对。
检查合法性
- 粘连块:
- W集合中有两个数字对:(6,3) 和 (4,3)。
- 检查它们是否构成粘连关系:
- (6,3) 的邻居是 (5,3), (7,3), (6,2), (6,4)。
- (4,3) 的邻居是 (3,3), (5,3), (4,2), (4,4)。
- (6,3) 和 (4,3) 之间没有邻居关系,因此它们是两个独立的粘连块:
- 粘连块1:{(6,3)}
- 粘连块2:{(4,3)}
-
气集合:
- 粘连块1({(6,3)})的气集合为 {(5,3), (7,3), (6,2), (6,4)},气数为4。
- 粘连块2({(4,3)})的气集合为 {(3,3), (5,3), (4,2), (4,4)},气数为4。
-
合法性:W方的选择没有导致任何粘连块的气数为0,选择合法。
更新状态
- B集合:{(4,4), (3,6)}
- W集合:{(6,3), (4,3)}
- K集合:K集合中移除(4,3)。
- 当前回合:轮到B方选择。
第5步:B方选择
B方需要从K集合中选择一个数字对加入B集合。请B方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据B方的选择更新B集合和K集合。
- 检查B方的选择是否合法(即不会导致B方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果B方的选择导致W方的某个粘连块气数为0,则删除该粘连块。
- 轮到W方选择。请B方选择一个数字对!
(3,3)
好的!B方选择了数字对 (3,3)。现在我来更新游戏状态并检查合法性。
第5步:B方选择 (3,3)
- B集合:{(4,4), (3,6), (3,3)}
- W集合:{(6,3), (4,3)}
- K集合:K集合中移除(3,3),剩余76个数字对。
检查合法性
-
粘连块:
- B集合中有三个数字对:(4,4), (3,6), (3,3)。
- 检查它们是否构成粘连关系:
- (4,4) 的邻居是 (3,4), (5,4), (4,3), (4,5)。
- (3,6) 的邻居是 (2,6), (4,6), (3,5), (3,7)。
- (3,3) 的邻居是 (2,3), (4,3), (3,2), (3,4)。
- (3,3) 和 (4,4) 之间没有邻居关系。
- (3,3) 和 (3,6) 之间没有邻居关系。
- 因此,B方的粘连块为:
- 粘连块1:{(4,4)}
- 粘连块2:{(3,6)}
- 粘连块3:{(3,3)}
-
气集合:
- 粘连块1({(4,4)})的气集合为 {(3,4), (5,4), (4,3), (4,5)},气数为4。
- 粘连块2({(3,6)})的气集合为 {(2,6), (4,6), (3,5), (3,7)},气数为4。
- 粘连块3({(3,3)})的气集合为 {(2,3), (4,3), (3,2), (3,4)},气数为4。
-
合法性:B方的选择没有导致任何粘连块的气数为0,选择合法。
更新状态
- B集合:{(4,4), (3,6), (3,3)}
- W集合:{(6,3), (4,3)}
- K集合:K集合中移除(3,3)。
- 当前回合:轮到W方选择。
第6步:W方选择
W方需要从K集合中选择一个数字对加入W集合。请W方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据W方的选择更新W集合和K集合。
- 检查W方的选择是否合法(即不会导致W方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果W方的选择导致B方的某个粘连块气数为0,则删除该粘连块。
- 轮到B方选择。请W方选择一个数字对!
有点不放心啊,上次就是这里开始错的,我先看看状态:
请给出目前W方的粘连块情况
目前W方的粘连块情况如下:
W方粘连块分析
- W集合:{(6,3), (4,3)}
- 粘连块:
- W集合中有两个数字对:(6,3) 和 (4,3)。
- 检查它们是否构成粘连关系:
- (6,3) 的邻居是 (5,3), (7,3), (6,2), (6,4)。
- (4,3) 的邻居是 (3,3), (5,3), (4,2), (4,4)。
- (6,3) 和 (4,3) 之间没有邻居关系,因此它们是两个独立的粘连块:
- 粘连块1:{(6,3)}
- 粘连块2:{(4,3)}
粘连块的气集合和气数
- 粘连块1:{(6,3)}
- 邻居:(5,3), (7,3), (6,2), (6,4)。
- 气集合:{(5,3), (7,3), (6,2), (6,4)}。
- 气数:4。
- 粘连块2:{(4,3)}
- 邻居:(3,3), (5,3), (4,2), (4,4)。
- 气集合:{(3,3), (5,3), (4,2), (4,4)}。
- 气数:4。
总结
-
W方有两个独立的粘连块:
- 粘连块1:{(6,3)},气数为4。
- 粘连块2:{(4,3)},气数为4。
W方需要选择一个数字对,确保不会导致自己的粘连块气数变为0,同时尽量限制B方的粘连块气数。请W方选择一个数字对!
这次果然又出错了,不过这次是把气算多了,(4,3)的气应该有2气,这里变成4气了啊。
提示他一下看看能改过来么?
(4,3)的气集合中不应该有(3,3)啊,因为(3,3)已经在B集合中
你说得对!我之前的计算有误。感谢你的指正!让我重新计算 W方粘连块2:{(4,3)} 的气集合。
修正后的粘连块2:
{(4,3)} 的气集合
- 邻居:(3,3), (5,3), (4,2), (4,4)。
- 排除已占用的数字对:
- (3,3) 已经在B集合中,因此不能算作气集合的一部分。
- 有效气集合:{(5,3), (4,2), (4,4)}。
- 气数:3。
更新后的W方粘连块情况
- 粘连块1:{(6,3)}
- 气集合:{(5,3), (7,3), (6,2), (6,4)}。
- 气数:4。2. 粘连块2:{(4,3)}
- 气集合:{(5,3), (4,2), (4,4)}。
- 气数:3。
总结
- W方有两个独立的粘连块:
- 粘连块1:{(6,3)},气数为4。
- 粘连块2:{(4,3)},气数为3。
下一步:W方选择
W方需要从K集合中选择一个数字对加入W集合。请W方选择一个数字对(格式为(m,n),例如(1,2))。
裁判说明
- 我会根据W方的选择更新W集合和K集合。
- 检查W方的选择是否合法(即不会导致W方的粘连块气数为0)。
- 更新粘连块和气数。
- 如果W方的选择导致B方的某个粘连块气数为0,则删除该粘连块。
- 轮到B方选择。请W方选择一个数字对!
坏了,内部不知道出什么问题了,还是错的,其实(4,4)也在B集合中,也应该去掉,因此(4,3)只有两气才对。
结论
看来没法做下去了,DeepSeek毕竟只是一个生成式模型,让他来挑战这么复杂的规则可能有点过分了,有点像一个经常犯错的裁判看来这条路走不通了,是否有其他方式能够让deepseek能够理解并执行围棋规则,以后有机会再来尝试吧。
当然,同样的事情让文小言来做,只能对三步,当然因此判断文小言不如DeepSeek,似乎又有点五十步笑百步了。
通过这两天的考察,一个印象是,DeepSeek是一个好的文字秘书,但是如果给他较为复杂的事情去处理,他出错的概率会增加,而且出错时并不能举一反三,所以可以从这里获得支持,但是不能相信,要随时警惕他可能包含一个非常错误的答案给你。
DeepSeek系列:
- DeepSeek能进行逻辑推理吗?
- DeepSeek能运行程序吗?
- DeepSeek能下围棋吗?
相关文章:
DeepSeek能下围棋吗?(续)
休息了一下,接着琢磨围棋,其实前面一篇里的规则有个漏洞的,就是邻居关系定义有问题,先回顾一下游戏规则: 游戏规则 定义: 1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n)&…...
51单片机(STC89C52)开发:点亮一个小灯
软件安装: 安装开发板CH340驱动。 安装KEILC51开发软件:C51V901.exe。 下载软件:PZ-ISP.exe 创建项目: 新建main.c 将main.c加入至项目中: main.c:点亮一个小灯 #include "reg52.h"sbit LED1P2^0; //P2的…...
【数据结构】并查集
1.基本操作 void makeset(){ for(int i1;i<n;i)fa[i]i; }int findd(int x){ while(fa[x]!x)xfa[x]fa[fa[x]]; return x; }void unionn(int x,int y){ int zxfindd(x);int zyfindd(y); if(zx!zy)fa[zy]zx; }2.种类并查集 Parity Game 关押罪犯 [NOIP 2010 提高组] 关押罪…...
基于Rectified Flow FLUX的图像编辑方法 RF-Solver
Diffusion Models专栏文章汇总:入门与实战 前言:现在越来越多的开源模型是基于Rectified Flow,特别是FLUX和HunYuan Video,但是Rectified Flow inversion的性质和之前有所不同,这篇博客解读一下如何使用Rectified Flow对FLUX进行编辑。 目录 RF直接逆向会出现问题 为什R…...
[创业之路-269]:《创业讨论会》- 系统之韵:从麻雀到5G系统的共通性探索
关键词: 从系统的角度,麻雀、人体系统、企业系统、软硬件系统、软件系统、通信系统、5G系统是类似的: 都有:内在看不见的规律、外在显性各种现象 都是:输入、处理、输出 都是:静态、要素、组成、结构、组织…...
C语言指针专题三 -- 指针数组
目录 1. 指针数组的核心原理 2. 指针数组与二维数组的区别 3. 编程实例 4. 常见陷阱与防御 5. 总结 1. 指针数组的核心原理 指针数组是一种特殊数组,其所有元素均为指针类型。每个元素存储一个内存地址,可指向不同类型的数据(通常指向同…...
Contrastive Imitation Learning
机器人模仿学习中对比解码的一致性采样 摘要 本文中,我们在机器人应用的对比模仿学习中,利用一致性采样来挖掘演示质量中的样本间关系。通过在排序后的演示对比解码过程中,引入相邻样本间的一致性机制,我们旨在改进用于机器人学习…...
Springboot使用AOP时,需不需要引入AspectJ?
Springboot使用AOP时,需不需要引入AspectJ? 在Spring Boot中使用AOP时,是否需要引入AspectJ取决于你选择的具体AOP实现方式。以下是详细分步说明: 1. 默认场景:使用Spring AOP(基于代理) 不需要引入AspectJ依赖&am…...
使用iis服务器模拟本地资源服务器unityaddressables热更新出错记录
editor中设置了using exculexing 模拟远程加载addressable可以实现资源热更新,build后的软件却没有成功。 iis服务器中mime中需要设置bundle的文件扩展名,时editor成功,build后失败 原因没有设置hash的扩展名,设置后editor和buil…...
17 一个高并发的系统架构如何设计
高并发系统的理解 第一:我们设计高并发系统的前提是该系统要高可用,起码整体上的高可用。 第二:高并发系统需要面对很大的流量冲击,包括瞬时的流量和黑客攻击等 第三:高并发系统常见的需要考虑的问题,如内存不足的问题,服务抖动的…...
MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)
使用 mongosh cd mongsh_bin_path mongosh “mongodb://user:passip:port/db”这样就直接进入了对应的db 直接输入: 这样 role “read_only_role" 就获得了3个 action, 分别是 查询,列举集合,集合元数据查询 P.S: 如果没有 …...
我的AI工具箱Tauri版-Custom3DModelCreationforH2Panel卡通图片2D转绘3D
本教程基于自研的AI工具箱Tauri版进行ComfyUI工作流Custom3DModelCreationforH2Panel卡通图片2D转绘3D。 Custom3DModelCreationforH2Panel卡通图片2D转绘3D 基于先进的SD模型技术,能够将2D动漫图片高效转换为高清的3D图像,满足各种创作需求。通过智能算…...
1 HDFS
1 HDFS 1. HDFS概述2. HDFS架构3. HDFS的特性4. HDFS 的命令行使用5. hdfs的高级使用命令6. HDFS 的 block 块和副本机制6.1 抽象为block块的好处6.2 块缓存6.3 hdfs的文件权限验证6.4 hdfs的副本因子 7. HDFS 文件写入过程(非常重要)7.1 网络拓扑概念7.…...
14-6-3C++STL的list
(一)list的插入 1.list.insert(pos,elem);//在pos位置插入一个elem元素的拷贝,返回新数据的位置 #include <iostream> #include <list> using namespace std; int main() { list<int> lst; lst.push_back(10); l…...
GESP2023年12月认证C++六级( 第三部分编程题(2)工作沟通)
参考程序1代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> #include <vector> using name…...
深度学习的应用
目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…...
【自学笔记】MySQL的重点知识点-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MySQL重点知识点MySQL知识点总结一、数据库基础二、MySQL的基本使用三、数据类型四、触发器(Trigger)五、存储引擎六、索引七、事务处理八、…...
计算机网络之物理层通信基础(信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念)
一、信道 信道是信号的传输媒介,一般用来表示向某一个方向传送信息的介质。信道可以按照不同标准进行分类: 按传输信号分类:可分为模拟信道和数字信道。 按传输介质分类:可分为无线信道和有线信道。无线信道以电磁波为传输介质&…...
C++初阶 -- 初识STL和string类详细使用接口的教程(万字大章)
目录 一、STL 1.1 什么是STL 1.2 STL的版本 1.3 STL的六大组件 二、string类 2.1 string类的基本介绍 2.2 string类的默认成员函数 2.2.1 构造函数 2.2.2 析构函数 2.2.3 赋值运算符重载 2.3 string类对象的容量操作 2.3.1 size和length 2.3.2 capacity 2.3.3 r…...
Cursor 背后的技术栈:从 VS Code 到 AI 集成
引言 在当今快速发展的软件开发领域,开发者工具正在经历一场由人工智能(AI)驱动的革命。Cursor 作为一款新兴的智能编程助手,凭借其强大的 AI 能力和高效的开发体验,迅速吸引了大量开发者的关注。Cursor 不仅继承了 V…...
ESP32和STM32在处理中断方面的区别
为了通俗地讲解ESP32和STM32在处理中断方面的区别,我们可以把它们想象成两个不同的“智能管家”系统,各自负责管理一个家庭(即嵌入式项目)的各种任务。我们将重点放在如何处理突发事件(即中断)上。 ESP32 …...
99.23 金融难点通俗解释:小卖部经营比喻PPI(生产者物价指数)vsCPI(消费者物价指数)
目录 0. 承前1. 简述:价格指数对比2. 比喻:两大指数对比2.1 简单对比2.2 生动比喻 3. 实际应用3.1 价格传导现象 4. 总结5. 有趣的对比6. 数据获取实现代码7. 数据可视化实现代码 0. 承前 本文主旨: 本文使用小卖部比喻PPI和CPI,…...
计算机网络概述
1. 计算机网络的定义 计算机网络是指由多个通过物理介质或无线方式互相连接的计算设备组成的系统。其主要目的是实现数据的传输和资源共享。网络中的计算设备可以包括台式机、笔记本电脑、服务器、手机、打印机、智能设备等。 网络的广义定义 首先要理解“网络”的广义含义。网…...
169 多数元素
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 class Solution { public int majorityElement(int[] nums) { // 存储每个数字的…...
线程配置经验
工作时,时常会遇到,线程相关的问题与解法,本人会持续对开发过程中遇到的关于线程相关的问题及解决记录更新记录在此篇博客中。 目录 一、线程基本知识 1. 线程和进程 二、问题与解法 1. 避免乘法级别数量线程并行 1)使用线程池…...
算法随笔_34: 最后一个单词的长度
上一篇:算法随笔_33: 132模式-CSDN博客 题目描述如下: 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入&am…...
java 正则表达式匹配Matcher 类
Matcher 类 用法 在 Java 中,Matcher 类是用于匹配正则表达式的工具,而 group() 方法是 Matcher 类中的一个重要方法,用于提取匹配结果中的捕获组(captured groups)。以下是对 group() 方法的详细解释: 1.…...
【Blazor学习笔记】.NET Blazor学习笔记
我是大标题 我学习Blazor的顺序是基于Blazor University,然后实际内容不完全基于它,因为它的例子还是基于.NET Core 3.1做的,距离现在很遥远了。 截至本文撰写的时间,2025年,最新的.NET是.NET9了都,可能1…...
python 使用Whisper模型进行语音翻译
目录 一、Whisper 是什么? 二、Whisper 的基本命令行用法 三、代码实践 四、是否保留Token标记 五、翻译长度问题 六、性能分析 一、Whisper 是什么? Whisper 是由 OpenAI 开源的一个自动语音识别(Automatic Speech Recognition, ASR)系统。它的主要特点是: 多语言…...
pytorch实现循环神经网络
人工智能例子汇总:AI常见的算法和例子-CSDN博客 PyTorch 提供三种主要的 RNN 变体: nn.RNN:最基本的循环神经网络,适用于短时依赖任务。nn.LSTM:长短时记忆网络,适用于长序列数据,能有效解决…...
侯捷 C++ 课程学习笔记:深入理解 C++ 核心技术与实战应用
目录 引言 第一章:C 基础回顾 1.1 C 的历史与发展 1.2 C 的核心特性 1.3 C 的编译与执行 第二章:面向对象编程 2.1 类与对象 2.2 构造函数与析构函数 2.3 继承与多态 第三章:泛型编程与模板 3.1 函数模板 3.2 类模板 3.3 STL 容器…...
大厂面试题备份20250131
20250131 模型压缩怎么做?除了知识蒸馏 模型压缩是为了减少深度学习模型的计算和存储需求,提高推理效率。除了知识蒸馏,常见的模型压缩方法包括: 1. 剪枝(Pruning) 非结构化剪枝(Unstructur…...
(三)QT——信号与槽机制——计数器程序
目录 前言 信号(Signal)与槽(Slot)的定义 一、系统自带的信号和槽 二、自定义信号和槽 三、信号和槽的扩展 四、Lambda 表达式 总结 前言 信号与槽机制是 Qt 中的一种重要的通信机制,用于不同对象之间的事件响…...
玩转大语言模型——配置图数据库Neo4j(含apoc插件)并导入GraphRAG生成的知识图谱
系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…...
从0开始,来看看怎么去linux排查Java程序故障
一,前提准备 最基本前提:你需要有liunx环境,如果没有请参考其它文献在自己得到local建立一个虚拟机去进行测试。 有了虚拟机之后,你还需要安装jdk和配置环境变量 1. 安装JDK(以OpenJDK 17为例) 下载JDK…...
Java实现LFU缓存策略实战
LFU算法原理在Java中示例实现集成Caffeine的W-TinyLFU策略缓存实战总结LFU与LRU稍有不同,LFU是根据数据被访问的频率来决定去留。尽管它考虑了数据的近期使用,但它不会区分数据的首次访问和后续访问,淘汰那些访问次数最少的数据。 这种缓存策略主要用来处理以下场景: 数据…...
LeetCode--84. 柱状图中最大的矩形【单调栈】
84. 柱状图中最大的矩形 正文 题目如下 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 这道题暴力很简单,但是时间复杂度是O(N^2)…...
感悟人生路
匆匆复匆匆,新春时光沙漏里,过了又来,只是那时和此时。累了,行过百公里,灯光交汇处,都是向往幸福之所。一路长虹,速度跟上节奏,福祉盈门,出入平安。 跨越时空ÿ…...
Autogen_core源码:_agent_instantiation.py
目录 _agent_instantiation.py代码代码解释代码示例示例 1:使用 populate_context 正确设置上下文示例 2:尝试在上下文之外调用 current_runtime 和 current_agent_id示例 3:模拟 AgentRuntime 使用 AgentInstantiationContext _agent_instan…...
开源智慧园区管理系统如何重塑企业管理模式与运营效率
内容概要 在如今快速发展的商业环境中,企业面临着日益复杂的管理挑战。开源智慧园区管理系统应运而生,旨在通过技术创新来应对这些挑战。它不仅是一个简单的软件工具,而是一个全面整合大数据、物联网和智能化功能的综合平台,为企…...
网络工程师 (9)文件管理
一、树形目录结构 (一)定义与构成 树形目录结构由一个根目录和若干层子文件夹(或称为子目录)组成,它像一棵倒置的树。这棵树的根称为根文件夹(也叫根目录),从根向下,每一…...
Java小白入门教程:内置数据类型(四类八种)和引用数据类型
目录 一、内置数据类型(四类八种) 1. 整数类型(四种子类型) 2. 浮点类型(两种子类型) 3. 字符类型(一种子类型) 4. 布尔类型(一种子类型) 二、引用数据类…...
pytorch图神经网络处理图结构数据
人工智能例子汇总:AI常见的算法和例子-CSDN博客 图神经网络(Graph Neural Networks,GNNs)是一类能够处理图结构数据的深度学习模型。图结构数据由节点(vertices)和边(edges)组成&a…...
CRC校验详解
CRC校验即循环冗余校验(Cyclic Redundancy Check),是基于数据计算一组效验码,用于核对数据传输过程中是否被更改或传输错误。首先看两个概念,后续会用到。 模2除法:也叫模2运算,就是结果除以2后取余数。模2除法每一位除的结果不影响其它位,即不向上一位借位,所以实际…...
使用where子句筛选记录
默认情况下,SearchCursor将返回一个表或要素类的所有行.然而在很多情况下,常常需要某些条件来限制返回行数. 操作方法: 1.打开IDLE,加载先前编写的SearchCursor.py脚本 2.添加where子句,更新SearchCursor()函数,查找记录中有<>文本的<>字段 with arcpy.da.Searc…...
人工智能导论--第1章-知识点与学习笔记
请根据教材内容,完成进行下面的作业任务。必须包含有教材的具体内容,不能是生成式AI系统的生成内容。 参考教材1.1节的内容介绍,谈谈你对“智能”的认识。思维能力是智能的重要特征之一,结合教材1.1.2节内容,从思维的…...
半导体SAP管理系统:数字化转型的驱动力
在当今全球科技竞争日益激烈的背景下,半导体行业作为信息技术的基石,其生产效率、质量控制和成本优化直接关系到企业的市场竞争力和可持续发展。随着数字化转型的深入,半导体企业纷纷寻求高效、智能的管理系统以提升运营效率。SAP管理系统&am…...
Cursor 简介:AI 如何改变编程体验
在软件开发领域,效率和质量始终是开发者们追求的目标。随着人工智能技术的飞速发展,编程工具也在不断进化,Cursor 便是这一趋势下的产物。它不仅仅是一个代码编辑器,更是一个集成了 AI 能力的智能编程助手,旨在通过 AI…...
苯乙醇苷类化合物的从头生物合成-文献精读108
Complete pathway elucidation of echinacoside in Cistanche tubulosa and de novo biosynthesis of phenylethanoid glycosides 管花肉苁蓉中松果菊苷全生物合成途径解析及苯乙醇苷类化合物的从头生物合成 摘要 松果菊苷(ECH)是最具代表性的苯乙醇苷…...
CSS:跑马灯
<div class"swiper-container"><div class"swiper-wrapper"><!-- 第一组 --><div class"item" v-for"item in cardList" :key"first-item.id"><img :src"item.image" alt""…...