人工智能 :一种现代的方法 第七章 逻辑智能体
文章目录
- 前言
- 人工智能 :一种现代的方法 第七章 逻辑智能体
- 7.1 基于知识的智能体
- 7.2 Wumpus世界
- 7.4 命题逻辑
- 7.5 命题逻辑定理证明
- 7.5.1推导和证明
- 7.5.2 归结原理
- 7.5.3 horn子句和限定子句
- 7.5.4 前向链接和后向链接
- 7.6 有效命题逻辑模型求解
- 7.6.1完备的回溯算法
- 7.6.2 不完备的回溯算法
- 7.7 基于命题逻辑的Agent
- 7.7.1 世界的当前状态
前言
本文旨在讲清楚:
- KBA(knowledge based agent)与逻辑
- 模型,有效性,可满足性,蕴含,推理过程
- 如何证明KB蕴含a(模型检验,逻辑等价,推理规则)
- 基于命题逻辑的Agent如何工作的
人工智能 :一种现代的方法 第七章 逻辑智能体
7.1 基于知识的智能体
基于知识的系统
def KB_AGENT(percept):# 定义持久化变量persistent KB, tcounter = 0 # 初始时间为0# 告知知识库当前感知到的信息Tell(KB, MAKE_PERCEPT_SENTENCE(percept, t))# 提出询问action = ASK(KB, MAKE_ACTION_QUERY())# 告知知识库当前执行的动作Tell(KB, MAKE_ACTION_SENTENCE(action, t))t += 1 # 时间步进return action
基于知识的Agent的核心部件是其知识库,或称KB。
知识库(KB):是一个语句(用知识表示语言表达,表示了关于世界的某些断言)集合。有时,当某语句是直接给定而不是推导得到的时候,我们将其尊称为公理。
Ask:查询目前所知内容
Tell:将新语句添加到知识库
KBA(Knowledge based agent),即基于知识的Agent,通过感知器,把感知信息加入知识库,向知识库询问最好改采取哪个行动,并告诉知识库它会实施该行动。
以基于知识的旅行规划助手为例
- 知识表示:旅行知识库可以使用图谱或本体表示来存储城市、景点、交通路线等信息。图谱可以表示城市之间的关系、景点之间的关联,本体可以定义旅行相关的概念和属性。
- 知识获取:旅行知识可以通过多种途径获取,包括从旅游网站、旅游指南、用户评论等抽取数据,并将其转化为可用的知识表示形式。
用户输入处理:系统需要解析用户提供的旅行起点、终点,以及偏好和时间限制等信息。 - 知识推理:系统可以利用推理技术从旅行知识库中提取有用的信息。例如,通过图谱的关系和规则的逻辑推理,找到连接起点和终点的最佳路线;通过用户偏好和景点属性的匹配,筛选出符合用户偏好的景点。
- 结果生成:根据推理的结果,系统可以生成旅行规划建议,包括路线、景点选择、交通方式等。这些建议可以按照用户的偏好和时间限制进行排序和过滤。
- 用户交互:系统可以提供用户界面,让用户查看和选择旅行规划建议。用户可以与系统进行交互,提供反馈和调整,系统也可以根据用户的反馈进行进一步的推荐和优化。
最重要的是知识表示和知识推理(本章节是以命题逻辑为例,是最基础的表示方法)
7.2 Wumpus世界
Wumpus世界是由多个房间组成并相连接起来的山洞;
- 某处隐藏着一只Wumpus怪兽,会吃掉进入它房间的任何人;
- Agent可以射杀Wumpus,但只有一支箭;
- 某些房间是无底洞,任何人进入这些房间会被无底洞吞噬;
- 生活在该环境的唯一希望是发现一堆金子。
在与无底洞相邻的方格内,Agent能感知到微风;
在与Wumpus相邻的方格内,Agent能感受到臭气;
在金子所处方格,Agent能感受到闪闪金光;
当Agent碰到墙时,它感知到碰撞;
当Wumpus被杀死后,它发出的嚎叫声在洞穴(所有房间组成一个山洞)内的任何地方都能感受到;
问题定义(PEAS):
- 性能度量:带着金子爬出洞口+1000;掉入无底洞或被Wumpus吃掉-1000;采取一个行动-1;用掉箭-10;Agent死亡或Agent出洞,游戏结束。
- 环境:4*4的房间网格。Agent从(1,1)出发,面向右方。金子和Wumpus、无底洞随机选择在除了起始方格的任一方格;
- 执行器:Agent可以向前、左转、右转。可以捡起所处方格内的物体;可以向正对方向射箭;箭向前运动直到击中Wumpus;Agent只能从(1,1)中爬出。
- 传感器:有5个传感器[臭气,微风,金光,撞击,嚎叫]例:[Stench, Breeze, None, None, None]
环境情况
环境情况:离散的、静态的、单个Agent、部分可观察的;
7.4 命题逻辑
基本语法
原子语句:单个命题词组成,每个命题词代表一个真或假的命题
复合句:简单语句和逻辑连接词构造而成
文字:原子命题及其否定。
互补文字:一个文字是另一文字的否定。
子句:文字的析取式。单个文字可以被视为只有一个文字的析取式,也叫单元子句。
合取范式公式:若干子句的合取
归并:去除文字的多余副本。
5种常用逻辑连接词:
1)非 ¬,否定式
2)与 ∧,合取式
3)或 ∨,析取式
4)蕴含 ⇒或→或⊃,蕴含式
蕴含式也称为规则或if-then语句。
5)当且仅当 ⇔(英文:If and only if, 或者:iff),双向蕴含式
一个简单的知识库
简单的推理过程
递归蕴含算法
def TT_ENTAILS(KB, a):# 获取KB和a中的命题符号列表symbols = get_proposition_symbols(KB, a)return TT_CHECK_ALL(KB, a, symbols, {})def TT_CHECK_ALL(KB, a, symbols, model):if not symbols:if PL_TRUE(KB, model):return PL_TRUE(a, model)else:return True # 当KB为假时,总是返回Trueelse:P = symbols[0]rest = symbols[1:]return (TT_CHECK_ALL(KB, a, rest, extend_model(model, P, True)) andTT_CHECK_ALL(KB, a, rest, extend_model(model, P, False)))# 获取KB和a中的命题符号列表
def get_proposition_symbols(KB, a):symbols = set()symbols.update(get_symbols(KB))symbols.update(get_symbols(a))return list(symbols)# 获取句子中的命题符号列表
def get_symbols(sentence):symbols = []# 实现获取命题符号的逻辑return symbols# 将命题符号与取值扩展到模型中
def extend_model(model, symbol, value):model_extended = model.copy()model_extended[symbol] = valuereturn model_extended# 判断句子在给定模型下是否为真
def PL_TRUE(sentence, model):# 返回句子在给定模型下的真值结果return True or False # 根据实际情况进行实现
7.5 命题逻辑定理证明
7.5.1推导和证明
推导规则:
1)假言推理规则(Modus Ponens,拉丁文): α ⇒ β , α β \frac{\alpha \Rightarrow \beta , \alpha}{\beta} βα⇒β,α
2)消去合取词 : α ∧ β α \frac{\alpha \wedge \beta}{\alpha} αα∧β
3)逻辑等价:如果两个语句在同样的模型集合中为真,则二者逻辑等价。
任意搜索算法来找出证明序列,只需定义如下证明问题:
- 初始状态:初始KB
- 行动:行动集合由应用于语句的所有推理规则组成
- 结果:将推理规则下半部分的语句实例加入KB
- 目标:要证明的语句状态
(这叫搜索证明,是模型枚举的一个替代方法)
7.5.2 归结原理
如果有两个子句 C 1 C_1 C1和 C 2 C_2 C2,其中 C 1 C_1 C1包含文字 l l l, C 2 C_2 C2包含互补文字 ¬ l \neg l ¬l,则可以通过合一操作生成一个新的子句 C C C,其中不包含 l l l和 ¬ l \neg l ¬l。
具体地,可以表示为:
C 1 ∨ l C 2 ∨ ¬ l C 1 ∨ C 2 \frac{C_1 \vee l \quad C_2 \vee \neg l}{C_1 \vee C_2} C1∨C2C1∨lC2∨¬l
这个公式表示了单元归结的规则:选择两个子句,一个包含文字 l l l,另一个包含互补文字 ¬ l \neg l ¬l,然后通过合一操作生成一个新的子句 C C C,其中不包含 l l l和 ¬ l \neg l ¬l
from sympy.logic.boolalg import Or, Not
from sympy.logic.inference import satisfiabledef PL_RESOLUTION(KB, query):clauses = KB + [Not(query)] # 将查询语句的否定形式添加到知识库中new = clauses.copy() # 初始化新的子句集合while True:for C1 in clauses:for C2 in clauses:if C1 != C2: # 确保两个子句不相同resolvents = PL_RESOLVE(C1, C2) # 应用归结规则生成新的归结子句if Or() in resolvents: # 如果生成了空子句,返回True表示蕴含关系成立return Truenew += resolvents # 将生成的归结子句添加到新的子句集合中if new == clauses: # 如果没有生成新的子句,返回False表示蕴含关系不成立return Falseclauses += new # 将新的子句集合添加到原始子句集合中
归结原理的完备性
归结闭包:给定子句集S,通过对S中子句或其派生子句反复应用归结规则而生成的所有子句的集合
完备性:如果子句集是不可满足的,那么这些子句的归结闭包包含空子句
7.5.3 horn子句和限定子句
限定子句:受限形式的一种子句,它是指恰好只含一个正文字的析取式。例如:(A∨B∨¬C)不是限定子句,而(A∨¬B∨¬C)是限定子句。
每个限定子句可写为蕴含式
Horn子句:至多只有一个正文字的析取式。如:(A∨¬B∨¬C)和(¬A∨¬B∨¬C)都是horn子句。
Horn子句在归结下是封闭的:如果对两个Horn子句进行归结,结果依然是Horn子句。
目标子句:没有正文字的析取式。如:(¬A∨¬B∨¬C)就是目标子句
7.5.4 前向链接和后向链接
前向链接
from collections import dequedef PL_FC_ENTAILS(KB, g):count = {} # 记录子句前提中符号的数量inferred = {} # 记录已推导过的符号agenda = deque() # 存储已知为真的符号# 初始化count和inferredfor clause in KB:count[clause] = len(clause.PREMISE) # 初始化子句前提中符号的数量inferred[clause] = False # 初始化已推导过的符号for symbol in clause.PREMISE:inferred[symbol] = False# 将已知为真的符号添加到agendafor symbol in KB.known_symbols():agenda.append(symbol)# PL-FC-ENTAILS算法主循环while agenda:p = agenda.popleft() # 从agenda中取出一个符号if p == g: # 如果符号等于查询的命题符号,则返回Truereturn Trueif not inferred[p]:inferred[p] = True # 将符号标记为已推导过for clause in KB:if p in clause.PREMISE: # 如果符号在子句的前提中count[clause] -= 1 # 减少子句前提中符号的数量if count[clause] == 0: # 如果子句的前提中的所有符号都已推导过agenda.append(clause.CONCLUSION) # 将子句的结论添加到agendareturn False # 循环结束时仍未找到查询的命题符号,返回False
后向链接
7.6 有效命题逻辑模型求解
可满足性问题第一个被证明是NP完全的问题,由于所有NP完全问题能在多项式时间内相互转化,因此高效可满足性判断算法理论上可用于任意NP的问题.
7.6.1完备的回溯算法
def DPLL_SATISFIABLE(s):clauses = s.clauses() # 获取CNF表示中的子句集合symbols = s.symbols() # 获取命题符号列表model = {} # 初始化模型return DPLL(clauses, symbols, model)def DPLL(clauses, symbols, model):if all_clause_true(clauses, model):return Trueif some_clause_false(clauses, model):return FalseP, value = find_pure_symbol(symbols, clauses, model)if P is not None:return DPLL(clauses, symbols - {P}, model.union({P: value}))P, value = find_unit_clause(clauses, model)if P is not None:return DPLL(clauses, symbols - {P}, model.union({P: value}))P = symbols[0]rest = symbols[1:]return DPLL(clauses, rest, model.union({P: True})) or DPLL(clauses, rest, model.union({P: False}))
7.6.2 不完备的回溯算法
特征:算法返回可满足的赋值说明公式可满足,否则不能区分公式是否可满足
代表算法:随机局部搜索,贪心法的变体,信念传播
代表性求解器:GSAT、WalkSAT、CCASat、BP、SP
def gsat(F, MAX_FLIPS, MAX_TRIES):for i in range(MAX_TRIES):o = randomly_generated_assignment(F) # 随机生成F的真值赋值for j in range(MAX_FLIPS):if satisfies(F, o): # 判断赋值o是否满足Freturn ov = variable_with_greatest_decrease(F, o) # 找到在赋值o下导致未满足子句数最大减少(可能为负)的变量flip(v, o) # 翻转变量v在赋值o下的取值return "FAIL"
7.7 基于命题逻辑的Agent
7.7.1 世界的当前状态
收集公理
如果方格中有微风,则其邻居方格中存在无底洞: Breeze(x, y) ⇔ (Pit(x+1, y) ∨ Pit(x-1, y) ∨ Pit(x, y+1) ∨ Pit(x, y-1)).
至少存在一个方格中有
Wumpus:Wumpus(1, 1) ∨ Wumpus(1, 2) ∨ … ∨ Wumpus(4, 4).
这些公理可以作为知识库的初始语句,用于基于命题逻辑的Agent进行推理和决策。需要根据Agent的感知信息动态更新知识库,以便Agent能够根据最新的信息进行推理和决策。
感知信息
- 时序变量:t
- 当前位置: L x , y t L^t_{x,y} Lx,yt
- 方向: F a c i n g E a s t t , F a c i n g W e s t t , … FacingEast^t , FacingWest^t, … FacingEastt,FacingWestt,…
S t e n c h t , H a v e A r r o w t , W u m p u s A l i v e t Stench^t, HaveArrow^t, WumpusAlive^t Stencht,HaveArrowt,WumpusAlivet
感知信息: L x , y t = > ( S t e n c h t < = > S x , y ) L^t_{x,y} => (Stench^t <=> S_{x,y}) Lx,yt=>(Stencht<=>Sx,y)
Agent的感知信息动态更新知识库来描述现在的世界的状态。
效果公理
L 1 , 1 0 ∧ F a c i n g E a s t 0 ∧ F o r w a r d 0 ⇒ L 2 , 1 1 ∧ L 1 , 1 1 L^0_{1,1}∧ FacingEast^0∧ Forward^0 ⇒ L^1_{2,1} ∧L^1_{1,1} L1,10∧FacingEast0∧Forward0⇒L2,11∧L1,11
对于每个可能的时间步、16 个方格中的每一个方格、四个方向中的每一个方向,都需要一个这样的语句。对其他行动如:Grab、Shoot、Climb、TurnLeft 和 TurnRight,也同样需要类似的语句。
通过效果公式可以跟踪流的变化,将转移模型写成一组逻辑语句。
画面问题
效应公理并没有陈述行动的后果未改变哪些状态,引发了画面问题,有两种方式解决
一种是显示表示
F o r w a r d t = > ( H a v e A r r o w t < = > H a v e A r r o w t + 1 ) Forward^t=>(HaveArrow ^ t<=>HaveArrow ^t+1) Forwardt=>(HaveArrowt<=>HaveArrowt+1)
一种是后继状态表示
H a v e A r r o w t + 1 = > ( H a v e A r r o w t ∧ ¬ S h o o t t ) HaveArrow^{t+1}=>(HaveArrow^t ∧ \neg Shoot ^t) HaveArrowt+1=>(HaveArrowt∧¬Shoott)
相关文章:

人工智能 :一种现代的方法 第七章 逻辑智能体
文章目录 前言人工智能 :一种现代的方法 第七章 逻辑智能体7.1 基于知识的智能体7.2 Wumpus世界7.4 命题逻辑7.5 命题逻辑定理证明7.5.1推导和证明7.5.2 归结原理7.5.3 horn子句和限定子句7.5.4 前向链接和后向链接 7.6 有效命题逻辑模型求解7.6.1完备的回溯算法7.6…...

从座舱到行泊一体,亿咖通科技做对了什么?
行泊一体赛道又迎来了一个重磅玩家。 据了解,亿咖通科技旗下基于两颗华山二号A1000芯片打造的亿咖通天穹Pro行泊一体智能驾驶计算平台,目前已经正式在领克08上面实现规模化量产交付。 亿咖通天穹Pro智能驾驶计算平台 值得一提的是,该行泊一…...
BMC Helix解决方案落地亚马逊云科技中国区域,同时上线Marketplace
自主数字企业软件解决方案领域的全球领导者BMC今天宣布,由AI赋能的BMC Helix数字化服务管理平台(ITSM)正式部署于由西云数据运营的亚马逊云科技中国(宁夏)区域,实现SaaS服务和容器化部署双模态,…...
第14章 多线程二 (线程调度)
目录 内容说明 章节内容 1、多线程的调度 2、多线程调度——设置优先级...
Spring Cloud GateWay简介
什么是网关 网关是一种充当转换重任的计算机系统或设备,使用在不同的通信协议、数据格式或语言,甚至网关是一种充当转换重任的计算机系统或设备,使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间进行数…...

耿明雨出席柬方70周年招待会晚宴
11月9日,庆祝柬埔寨独立和建军70周年欢迎晚宴上,全国政协副主席沈跃跃盛邀出席,此次招待会是由柬埔寨王国驻华大使馆主办,在北京励骏酒店圆满召开,晚宴现场;凯西索达大使致辞、中国外交部部长助理徐飞洪等领…...
退役记 + 秋招总结,占坑
感觉需要写点什么东西来记录一下自己的秋招,以及还有一篇退役记没有写。 思考了一下,感觉发在空间并没有很合适,还是写个博客好了。 最近有点颓,就先买个坑在这里,省的彻底咕掉。 如果今年年底还没写出来的话ÿ…...

网络类型及数据链路层的协议
网络类型 --- 根据数据链路层使用的协议来进行划分的。 MA网络 --- 多点接入网络 BMA --- 广播型多点接入网络---以太网协议 NBMA --- 非广播型多点接入网络 以太网协议 --- 需要使用mac地址对不同的主机设备进行区分和标识 --- 以太网之所以需要使用mac地址进行数据寻址&…...

ROC 曲线:健康背景下的应用和解释
一、介绍 在医疗保健领域,做出明智的决策对于改善患者治疗结果、有效分配资源和设计有效的诊断测试至关重要。受试者工作特征 (ROC) 曲线是一个强大的工具,在评估诊断测试的性能、区分健康个体和患病个体以及优化医疗保健干预方面发挥着至关重要的作用。…...

SpringBoot + Disruptor 实现特快高并发处理,使用Disruptor高速实现队列
1 前言 工作中遇到项目使用Disruptor做消息队列,对!你没看错,不是Kafka也不是rabbitmq。Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录。 2 Disruptor介绍 Disruptor 是英国外汇交易公司…...
git push origin HEAD:refs/for/master
git push <远程主机名> <本地分支名> : <远程分支名> 例如 git push origin master:refs/for/master 是将本地的master分支推送到远程主机origin上的对应master分支 origin 是远程主机名, 第一个master是本地分支名, 第二…...

S25FL256S介绍及FPGA实现思路
本文介绍 S25FL256S 这款 FLASH 芯片,并进行 FPGA 读写控制的实现(编程思路及注意事项)。 文章目录 S25FL-S 介绍管脚功能说明SPI 时钟模式SDRDDR 工作模式FLASH存储阵列(地址空间映射)常用寄存器及相关指令Status Reg…...

淘宝客APP源码/社交电商自营商城源码/前端基于Uniapp开发
淘宝客APP源码,前端基于Uniapp开发的社交电商自营商城源码。Thinkphp的后台,不是很标准,感兴趣的可以自行研究。 商城功能 1、首页基础装修;2、丰富选品库;3、淘口令解析;4、支持京东;5、支持…...
Oracle 服务器日常巡检
文章目录 1、数据库基本状况检查2、数据库相关资源使用情况检查3、检查Oracle数据库性能4、数据库服务器CPU、MEM、I/O性能5、数据库服务器安全检查 Oracle数据库的日常巡检内容包括: (1)Oracle数据库基本状况检查; (…...

【轨道机器人】实现Windows与下位机串口通信(未完成)
方案一:QT,编写类似串口调试助手的APP,连接上硬件,qt有个好像是串口缓存函数,可以防止占用CPU。(缺点qt估计要时间学) 方案二:利用vscode、C,编写一个可执行exe文件&…...

无人机内存卡数据恢复
1.插入内存卡 2.选择对应的品牌 3.点击恢复 建议:发现数据打不开或者丢失情况,建议及时断电,以免影响数据的正常恢复! #无人机##数据恢复##储存卡#...

基于SSM的校园二手物品交易市场设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...

Android14 Beta 5
Beta 5,这是 Android 14 Beta 计划中的最后一次计划更新。这是确保您的应用程序已准备就绪并在非 Beta 用户开始获取 Android 14 之前提供反馈的最后机会。为了使您能够在跨多种外形尺寸的设备上测试您的应用程序,Beta 5 适用于 Pixel Tablet 和 Pixel F…...
力扣labuladong——一刷day32
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣654. 最大二叉树二、力扣105. 从前序与中序遍历序列构造二叉树三、力扣106. 从中序与后序遍历序列构造二叉树四、力扣889. 根据前序和后序遍历构造二叉…...
Day01_《MySQL索引与性能优化》摘要
一、资料 视频:《尚硅谷MySQL数据库高级,mysql优化,数据库优化》—周阳 其他博主的完整笔记:MySQL 我的笔记:我的笔记只总结了视频p14-p46部分,因为只有这部分是讲解了MySQL的索引与explain语句分析优化…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...