基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent

前言

对本博客比较熟悉的朋友知道,我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译,且除了审稿翻译之外,我们还将继续做润色/修订、idea提炼(包含论文检索),是一个大的系统,包含完整的链路

由于论文项目组已壮大到18人,故目前在并行多个事,且我也针对idea提炼做一下技术探索,本文解析关于idea提炼的两篇论文

  1. 我司论文项目组三太子在内部18人大群里4.14发的这篇:ResearchAgent: Iterative Research Idea Generation over Scientific Literature with Large Language Mode
  2. // 待定

第一部分 ResearchAgent: 围绕论文和引用提炼idea

1.1 从ResearchAgent到ReviewingAgent:idea的生成与其迭代

考虑到LLMs可以处理和分析大量的文献资料,并以超越人类能力的速度和规模处理数据,还可以识别人类研究者可能立即无法察觉的模式、趋势和相关性,从而使LLM能够发现原本未被发现的新的研究机会。 此外,LLM还可以通过进行实验和解释结果来协助实验验证,从而显着加快研究周期

近日,来自韩国的一研究团队便基于LLM做了相关尝试,即研究思路生成,其中包括问题识别、方法开发和实验设计(research idea generation, which involves problem identification, method development, and experiment design)

那基于LLM如何提炼idea呢?其实和科研人设计idea的过程差不太多,比如首要的第一步便是阅读大量相关领域的paper,然后提炼出一个逐步的idea,最后针对这个初步的idea反复自我审视及让同行给予反馈、评价,以不断完善该idea

换言之,只阅读某篇论文及其对应的参考文献,从而根据references and citation relationship提炼idea可能不太够

  1. 首先构建一个知识存储,从科学文章中找到并聚合实体共现。 这个以实体为中心的知识存储捕捉了不同实体之间的相互关联性,并通过潜在的概念和原则为其检索到的知识提供了有价值的见解;我们将展示这些见解对我们的问题非常有价值。
  2. 此外,为了通过迭代改进增强生成的研究创意,我们设计了多个审查代理,每个代理都对开发的创意生成评论和反馈,具有自己的评估标准

1.1.1 ResearchAgent的流程:基于LLM确定问题、方法、实验

为了完成上述步骤,现有的文献(例如学术出版物)被用作主要来源,提供关于现有知识以及差距和未解答问题的见解

形式上,设\mathcal{L}为文献, O为由问题p、方法m和实验设计d组成的想法,表示如下:o= [p, m, d],其中每个项目由一系列tokens组成,[\cdot]表示连接操作

然后,idea生成模型 f 可以表示如下:\boldsymbol{o}=f(\mathcal{L}),进一步分解为三个子模块步骤:

  1. \boldsymbol{p}=f(\mathcal{L})用于确定问题
  2. l_{0}\boldsymbol{m}=f(\boldsymbol{p}, \mathcal{L})用于开发方法
  3. 以及\boldsymbol{d}=f(\boldsymbol{p}, \boldsymbol{m}, \mathcal{L})用于设计实验

在这项工作中,依赖LLMs来操作 f,利用它们理解和生成学术文本的能力(we operationalize f with LLMs, leveraging their capability to understand and generate academic text),具体而言

LLM接受一个输入token序列 x并生成一个输出token序列 y,表示为:\boldsymbol{y}=\operatorname{LLM}_{\theta}(\mathcal{T}(\boldsymbol{x})),其中 \theta是模型参数,在训练后固定不变(毕竟进一步微调的成本很高), T是提示模板(prompt template),是一个结构化的格式,概述了上下文(包括任务描述和指示)以指导模型生成所需的输出

从而上述三个子模块便变成了

  1. 确定问题:\boldsymbol{p}=\operatorname{LLM}\left(\mathcal{T}_{p}(\mathcal{L})\right.
  2. 确定方法:\boldsymbol{m}=\operatorname{LLM}\left(\mathcal{T}_{m}(\boldsymbol{p}, \mathcal{L})\right.
  3. 确定实验:\boldsymbol{d}=\operatorname{LLM}\left(\mathcal{T}_{e}(\boldsymbol{p}, \boldsymbol{m}, \mathcal{L})\right.

对于 LLM,我们通过提供一篇核心论文l_{0}\mathcal{L}开始,然后根据citation graph选择性地纳入后续论文\left\{l_{1}, \ldots, l_{n}\right\},这些论文与核心论文直接相关,从而使得用于生成研究想法的 LLM输入更加可管理和连贯「we initiate its literature review process by providing a core paper l0 from L and then selectively incorporating subsequent papers {l1, ..., ln} that are directly related to it based on a citation graph

对于核心论文及其相关引文(relevant citations)的选择

  1. 核心论文基于其引用计数进行选择(例如,在3个月内超过100次),通常表示具有高影响力
  2. 其相关论文(可能非常多)根据其摘要与核心论文的相似性进一步缩小范围,确保得到更加专注和相关的相关paper集合

1.1.2 ResearchAgent的增强:通过实体链接方法提取术语数据库

然后,核心论文及其引用的数量毕竟有限,所能带来的上下文知识范围过于局限,而使得无法提出更好的idea

  1. 好在我们可以使用现有的现成实体链接方法(实体链接是一个将文本中的不同实体识别并映射到知识库中实体的过程)在任何论文中提取术语数据库(term database),并将这些链接的出现聚合到一个知识库中
    we can easily extract the term database whenever it appears in any paper, using existing off-the-shelf entity linking methods and then aggregate these linked occurrences into a knowledge store.
  2. 然后,如果术语数据库在医学科学领域中普遍存在,但在血液学(医学科学的一个子领域)中不太常见,构建的知识库基于除数据库之外的重叠实体捕捉了这两个领域之间的相关性,然后便可在制定有关血液学的想法时提供术语数据库
    Then, if the term database is prevalent with in the realm of medical science but less so in hematology (which is a subdomain of medical science), the constructed knowledge store captures the relevance between those two domains based on overlapping entities (other than the database) and then offers the term database when formulating the ideas about hematology.

    换句话说,这种方法通过利用各个领域之间的相互关联性,能够提供新颖和跨学科的见解
    In other words, this approach enables providing novel and interdisciplinary insights by leveraging the interconnectedness of entities across various field

具体的执行步骤为

  1. 将知识存储设计为一个二维矩阵\mathcal{K} \in \mathcal{R}^{m \times m},其中 m是已识别的唯一实体的总数,而K以稀疏格式实现
    这个知识存储是通过从所有可用的科学文献\mathcal{L}(由于无法提取所有可用文章中的实体,故这里的目标是针对2023年5月1日之后出现的论文)中提取实体构建的,它不仅计算了个别论文中实体对的共现次数,还量化了每个实体的计数
    此外,为了操作化实体提取,我们使用了现有的实体链接器 EL(Scalable zeroshot entity linking with dense entity retrieval),它在特定论文l\mathcal{L}中标记和规范化实体,形式化如下: \mathcal{E}_{l}=\mathrm{EL}(l),其中\mathcal{E}_{l}表示出现在l^{3}中的实体的多重集(允许重复)

    在提取实体\mathcal{E}后,为了将它们存储到知识存储\mathcal{K}中,我们考虑了所有可能的\mathcal{E}对,表示如下: \left\{e_{i}, e_{j}\right\}_{(i, j) \in \mathcal{C}(|\mathcal{E}|, 2)},其中e \in \mathcal{E},然后将其记录到 \mathcal{K}
  2. 鉴于这个知识库\mathcal{K},下一个目标是基于一组相互连接的论文增强基于语言模型的研究想法生成过程(Given this knowledge store K, our next goal is to enhance the vanilla research idea generation process based on a group of inter connected paper),表示如下:\boldsymbol{o}=\operatorname{LLM}\left(\mathcal{T}\left(\left\{l_{0}, l_{1}, \ldots, l_{n}\right\}\right)\right)
    使得我们可以通过“知识库\mathcal{K}中的相关实体”这个额外的知识来源来扩展LLM的上下文知识。 换句话说,这些知识在当前的论文组中没有出现,但与之相关,在\mathcal{K}中基于实体(共现)信息进行识别(this knowledge is not seen in the current group of papers but is relevant to it, identified based on entity (co-)occurrence information stored in K)
  3. 形式上,定义从相互连接的论文组中提取的实体如下:
    \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}=\bigcup_{i=0}^{n} \operatorname{EL}\left(l_{i}\right)
    因此,检索前k个相关外部实体的概率形式可以表示如下
    \operatorname{Ret}\left(\left\{l_{0}, \ldots, l_{n}\right\} ; \mathcal{K}\right)=\underset{I \subset[m]:|I|=k}{\arg \max } \prod P\left(e_{i} \mid \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}\right)
    其中[m]=\{1, \ldots, m\}e_{i} \notin \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}。此外,为了简化起见,通过应用贝叶斯规则并假
    设实体是独立的,上面的检索前k个相关外部实体的操作可以近似表示如下:
    \left.\underset{I \subset[m]:|I|=k}{\arg \max } \prod_{e_{j} \in \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}} P\left(e_{j} \mid e_{i}\right)\right) \times P\left(e_{i}\right)
    其中P\left(e_{j} \mid e_{i}\right)P\left(e_{i}\right)可以从二维\mathcal{K}中的值中推导出来,适当进行归一化
  4. 最终,使用相关实体为中心的知识增强的研究提案生成实例
    表示如下:o = \operatorname{LLM}\left(\mathcal{T}\left(\left\{l_{0}, l_{1}, \ldots, l_{n}\right\}, \operatorname{Ret}\left(\left\{l_{0}, \ldots, l_{n}\right\} ; \mathcal{K}\right)\right)\right)

总之,将这种知识增强的LLM驱动的思路生成方法称为ResearchAgent,下面的三个图中(点击对应图片即可放大查看)

 

  • 左图:通过ResearchAgent提出问题,大意是
    我将提供目标论文、相关论文和实体,如下所示:
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}
    相关论文标题:{relatedPaper['titles']}
    相关论文摘要:{relatedPaper['abstracts']}
    实体:{Entities}
    有了提供的目标论文、相关论文和实体,你现在的目标是制定一个研究问题,不仅建立在这些现有研究的基础上,而且要具有原创性、清晰性、可行性、相关性和重要性。 在制定研究问题之前,重新审视目标论文的标题和摘要,确保它仍然是你研究问题识别过程的焦点。
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}

    然后,在您对上述内容进行审查后,请按照以下格式生成一个带有理论基础的研究问题
    研究问题:
    理论基础:
  • 中图,通过ResearchAgent生成方法,大意是
    我将提供研究问题、现有研究(目标论文和相关论文)以及实体,如下所示:
    研究问题:{researchProblem}
    基本原理:{researchProblemRationale}
    目标论文标题:{paper[’title’]}
    目标论文摘要:{paper[’abstract’]}
    相关论文标题:{relatedPaper[’titles’]}
    相关论文摘要:{relatedPaper[’abstracts’]}
    实体:{Entities}
    根据提供的研究问题、现有研究和实体,你的目标是制定一种方法,不仅利用这些资源,而且力求清晰、创新、严谨、有效和可推广。 在制定方法之前,重新审视研究问题,确保它仍然是你方法开发过程的焦点。
    研究问题:{researchProblem}
    理论基础:{researchProblemRationale}

    然后,在审查上述内容后,请按照以下格式提出你的方法及其理论基础:
    方法:
    理论基础:
  • 右图,通过ResearchAgent生成实验设计,大意是
    我将提供研究问题、科学方法、现有研究(目标论文和相关论文)和实体,如下所示:
    研究问题:{researchProblem}
    基本原理:{researchProblemRationale}
    科学方法:{scientificMethod}
    基本原理:{scientificMethodRationale}
    目标论文标题:{paper[’title’]}
    目标论文摘要:{paper[’abstract’]}
    相关论文标题:{relatedPaper[’titles’]}
    相关论文摘要:{relatedPaper[’abstracts’]}
    实体:{Entities}
    根据提供的研究问题、科学方法、现有研究和实体,你的目标是设计一个实验,不仅利用这些资源,而且力求清晰、健壮、可重复、有效和可行。 在制定实验设计之前,重新审视研究问题和提出的方法,确保它们仍然是实验设计过程的核心。
    研究问题:{researchProblem}
    理论基础:{researchProblemRationale}
    科学方法:{scientificMethod}
    理论基础:{scientificMethodRationale}

    然后,在审查上述内容后,请按照实验的格式和理论基础,概述你的实验及其理论基础
    实验设计:
    理论基础:

1.1.3 ReviewingAgent给反馈:通过与人类偏好对齐的LLM Agents迭代研究思路

当拿到初步的idea之后(包括其对应的问题、方法、实验设计),ReviewingAgents还会根据特定的标准提供review和反馈,以验证生成的研究思路

具体而言,类似于我们使用LLM和模板T实例化ResearchAgent的方法,ReviewingAgents也是类似地实例化,但使用不同的模板,如下面的三个图所示,分别涉及
 

  • 对ResearchAgent所提出问题的评价
    现有研究(目标论文和相关论文)如下:
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}
    相关论文标题:{relatedPaper['titles']}
    相关论文摘要:{relatedPaper['abstracts']}
    现在,按照系统的方式进行您的{指标}评估方法:- 首先彻底阅读研究问题及其基本原理,牢记上述现有研究提供的背景信息。
    - 接下来,生成一篇评论和反馈,应该是建设性的、有帮助的和简明的,重点关注问题的{指标}。
    - 最后,使用5分Likert量表给出一个评分,1表示最低,请确保进行有鉴别力和批判性的评估,避免倾向于统一高分(4-5),除非完全有理由:{标准}
    我将提供研究问题及其理论基础,如下所示:
    研究问题:{研究问题}
    理论基础:{研究问题理论基础}
    在您评估上述内容之后,请以以下格式提供您的评论、反馈和评分:
    反馈:
    评分(1-5):
  • ResearchAgent所提出方法的评价
    研究问题和现有研究(目标论文和相关论文)如下:
    研究问题:{researchProblem}
    理由:{researchProblemRationale}
    目标论文标题:{paper[’title’]}
    目标论文摘要:{paper[’abstract’]}
    相关论文标题:{relatedPaper[’titles’]}
    相关论文摘要:{relatedPaper[’abstracts’]}
    现在,继续你的{度量}评估方法,应该是系统的:- 首先,彻底阅读提出的方法及其基本原理,牢记研究问题所提供的背景和上述现有研究。
    - 接下来,生成一个评论和反馈,应该是建设性的、有帮助的和简洁的,重点关注方法的{度量}。
    - 最后,使用5分Likert量表给出一个评分,1表示最低,请确保进行有鉴别力和批判性的评估,避免倾向于统一高分(4-5),除非完全有理由:{标准}
    我将提供以下关于提出的方法及其基本原理的信息:
    科学方法:{科学方法}
    基本原理:{科学方法基本原理}
    在您评估上述内容之后,请以以下格式提供您的评论、反馈和评分:
    反馈:
    评分(1-5):
  • 所提出的实验设计的评价

    研究问题、科学方法和现有研究(目标论文和相关论文)如下所示:
    研究问题:{researchProblem}
    理由:{researchProblemRationale}
    科学方法:{scientificMethod}
    理由:{scientificMethodRationale}
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}
    相关论文标题:{relatedPaper['titles']}
    相关论文摘要:{relatedPaper['abstracts']}
    现在,继续你的{度量}评估方法,应该是系统的:- 首先,彻底阅读实验设计及其基本原理,牢记研究问题、科学方法和上述现有研究所提供的背景。
    - 接下来,生成一个评论和反馈,应该是建设性的、有帮助的和简明扼要的,重点关注
    实验的{度量}。
    - 最后,使用5分Likert量表给出一个评分,1表示最低,请确保进行有鉴别力和批判性的评估,避免倾向于统一高分(4-5),除非完全有理由:{标准}
    我将提供设计好的实验及其基本原理,如下所示:
    实验设计:{实验设计}
    基本原理:{实验设计基本原理}
    在您评估上述内容之后,请以以下格式提供您的评论、反馈和评分:
    反馈:
    评分(1-5):

然后,使用ReviewingAgents,根据其各自的五个特定标准对生成的研究思路(问题、方法和实验设计)进行单独评估,这些标准如下图所示

最后,根据ReviewingAgents的审查和反馈,ResearchAgent进一步更新已生成的研究思路

值得一提的是,为了获得与人类对齐的评估标准,作者团队收集了每个评估标准上至少有3篇论文的人类研究人员对10对research idea及其分数(on a 5-point Likert scale)的标注「we first collect 10 pairs of the research idea and its score (on a 5-point Likert scale annotated by human researchers with at least 3 papers) on every evaluation criterion

  1. 换言之,与基于模型的评估类似,进行人工评估,涉及为每个标准分配分数,并在10位专家注释者之间进行两两比较
    Similar to model-based eval-uations, we perform human evaluations that involve assigning a score for each criterion and conduct-ing pairwise comparisons between two ideas, with 10 expert annotators
    且,选择至少撰写了三篇论文的注释者,并要求他们评判从他们自己的论文中生成的想法
    Thus, we choose annotators who have authored at least three papers and ask them to judge ideas that are generated from their own paper
  2. 相当于在每个标准上,都会有三篇论文,然后由10个人类专家来针对论文提炼出来的问题(总计5个标准,每个标准上3篇论文,每篇论文10个分数)、方法、实验设计进行打分

1.2 实验部分

1.2.1 数据

生成研究思路的主要来源是科学文献 L,具体而言

  1. 首先,从Semantic Scholar Academic Graph API(https://www.semanticscholar.org/product/api)获取,且选择在2024年5月1日之后出版的论文
  2. 然后,我们选择具有超过20次引用的高影响力论文作为核心论文,以确保生成的思路具有高质量,这与人类研究人员倾向于利用有影响力的工作相一致
  3. 我们进一步随机抽取300篇论文作为核心论文(以获得一个合理大小的基准数据集),这意味着我们随后为每个模型生成和评估300个研究思路
    其中,每篇核心论文的平均参考文献数量为87,每篇论文的摘要平均有2.17个实体

所有论文的学科分布如下图所示

1.2.2 几个对比标准与评估方法

由于我们的目标是研究思路的生成,因此没有直接可供比较的基线。 因此,完整的ResearchAgent模型与以下削弱版本进行比较:

  1. Naive ResearchAgent- 仅使用核心论文生成研究思路
  2. 没有实体检索的ResearchAgent- 使用核心论文及其相关参考文献,但不考虑实体
  3. ResearchAgent- 完整模型,使用相关参考文献和实体以及核心论文,以增强语言模型

基于模型的评估根据最近在使用LLMs评判输出文本质量方面的趋势(尤其是在无参考评估设置中),我们使用GPT-4来评判研究思路的质量

我们注意到,每个问题、方法和实验设计都使用五个不同的标准进行评估

然后,我们要求评估模型对每个标准上生成的思路进行on a 5-point Likert scale的评分,或者在不同模型的两个思路之间进行两两比较

// 待更

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

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

相关文章

CVE-2022-32250漏洞原理

CVE-2022-32250漏洞原理 原创 hope 蚁景网安 2024-05-06 20:00 湖南 前言 在nftales中存在着集合(sets),用于存储唯一值的集合。sets 提供了高效地检查一个元素是否存在于集合中的机制,它可以用于各种网络过滤和转发规则。 而CVE-2022-32250漏洞则是由…

【PX4-AutoPilot教程-TIPS】Matlab使用ROS Toolbox编译MAVROS2消息报错缺少geographic_msgs消息

Matlab使用ROS Toolbox编译MAVROS2消息报错缺少geographic_msgs消息的解决方法 问题描述解决方法 环境: MATLAB : R2022b ROS Toolbox : 1.6 Windows :Windows 10 22H2 ROS :ROS2 Foxy 问题描述 在使用Matlab的ROS Toolbox工具箱编译与…

五分钟了解等级保护、风险评估和安全测评三者的区别和联系?

等级保护 基本概念:网络安全等级保护是指对国家秘密信息、法人和其他组织和公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的安全产品实行按等级管理,对信息系统中发生的信息安全事件…

Leetcode—622. 设计循环队列【中等】

2024每日刷题(128) Leetcode—622. 设计循环队列 实现代码 class MyCircularQueue { public:MyCircularQueue(int k): q(k) {qSize k;}bool enQueue(int value) {if(isFull()) {return false;}q[rear] value;rear (rear 1) % qSize;deflag false;…

“A”分心得:我的云计算HCIE学习之路

大家好,我是誉天云计算HCIE周末班梁同学,在誉天老师和同学们的帮助下,我终于在4月24日顺利通过了云计算3.0 HCIE的认证考试,而且获得了A,这是让我特别惊喜的,功夫不负有心人。 我日常的工作是网络运维&…

Gin 框架的使用

1、Gin 快速开发 1.1、环境准备 1.1.1、导入 gin 依赖 这里就叫 gin 依赖了,在 Goland 命令行中输入下面的命令: go get -u github.com/gin-gonic/gin 1.1.2、设置代理 如果下载失败,最好设置一下代理,在 cmd 命令行中输入下…

老旧房屋用电线路故障引起的电气火灾预防对策​

摘 要:在我国新农村建设方针指引下,农村地区的发展水平有了显著提高。在农村经济发展中,我们也要认识到其中存在的风险隐患问题,其中重要的就是火灾事故。火灾事故给农村发展带来的不利影响,不仅严重威胁到农村群众的生…

【强训笔记】day10

NO.1 思路:中心扩展。从i位置开始,从i-1为左边和i1右边进行移动,字符相等就继续移动,直到不等,更新回文串长度,让i为左边,i1右边再移动,同样字符相等就移动,不等就更新长…

电商核心技术揭秘四十九:智能广告投放与效果评估

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 电商技术揭秘四十一:电商平台的营销系统浅析 电商技术揭秘四十二&#…

【NOI-题解】1586. 扫地机器人1430 - 迷宫出口1434. 数池塘(四方向)1435. 数池塘(八方向)

文章目录 一、前言二、问题问题:1586 - 扫地机器人问题:1430 - 迷宫出口问题:1434. 数池塘(四方向)问题:1435. 数池塘(八方向) 三、感谢 一、前言 本章节主要对深搜基础题目进行讲解…

【前端】HTML基础(3)

文章目录 前言一、HTML基础1、表格标签1.1 基本使用1.2 合并单元格 2、列表标签2.1 无序列表2.2 有序列表2.3 自定义列表 3、 表单标签2.1 form标签2.2 input标签2.3 label标签2.4 select标签2.5 textarea标签 4、无语义标签5、HTML特殊字符 前言 这篇博客仅仅是对HTML的基本结…

微服务领域的寻路者 —— Eureka深度探索与实战秘籍

文章目录 一、引言定义目标一个接地气的例子引言小结 二、Eureka架构2.1 Eureka Server一个有趣的例子2.2 Eureka Client一段简单的代码示例架构小结 三、工作流程1. 服务注册2. 心跳检测3. 服务发现4. 健康检查与失效剔除工作流程小结 四、核心机制4.1 服务注册与续约4.2 服务…

⭐⭐⭐宁波ISO9001认证:追求卓越的选择⭐⭐⭐

🌈🌈宁波ISO9001认证:🍓追求卓越的选择🚀 🐲在追逐卓越的道路上,🦋每一家企业都在寻找🐦那个能让自己腾飞🦜的翅膀。而对我来说,🦩那个…

华为OD机试 - 分月饼 - 递归(Java 2024 C卷 200分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

Splay 树简介

【Splay 树简介】 ● Treap 树解决平衡的办法是给每个结点加上一个随机的优先级,实现概率上的平衡。Splay 树直接用旋转调整树的形态,通过旋转改善树的平衡性。计算量小,效果好。 ● Splay 树的旋转主要分为“单旋”和“双旋”。 所谓“单旋”…

代码审计之浅谈RASP技术

前言: 想摆会烂,所以就落个笔吧。 其实本来是想写关于iast技术的,但是认真思考了下,感觉笔者自己本身也不太能讲清楚iast技术,怕误人子弟。 所以最后还是基于笔者的理解以及实际应用写一篇关于RASP技术的文章&#xf…

强化学习:时序差分法【Temporal Difference Methods】

强化学习笔记 主要基于b站西湖大学赵世钰老师的【强化学习的数学原理】课程,个人觉得赵老师的课件深入浅出,很适合入门. 第一章 强化学习基本概念 第二章 贝尔曼方程 第三章 贝尔曼最优方程 第四章 值迭代和策略迭代 第五章 强化学习实例分析:GridWorld…

软件游戏丢失XINPUT1_4.dll文件的多种解决方法分享

当玩家在尝试启动某款游戏时,遇到了系统提示“游戏找不到XINPUT1_4.dll”,这个错误通常发生在玩家尝试启动游戏时,游戏无法找到所需的XINPUT1_4.dll文件,呆滞无法正常启动运行。但是幸运的是,有一些简单的修复方法可以…

软件测试与管理:黑盒测试-因果图法和场景法

知识思维导图: ​​​​​​​ 例题1:运用因果图法设计测试用例 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料…

[方法] Unity 实现仿《原神》第三人称跟随相机 v1.1

参考网址:【Unity中文课堂】RPG战斗系统Plus 在Unity游戏引擎中,实现类似《原神》的第三人称跟随相机并非易事,但幸运的是,Unity为我们提供了强大的工具集,其中Cinemachine插件便是实现这一目标的重要工具。Cinemachi…