知识图谱推理的学习逻辑规则(上)7.19+(下)7.20_在得到最后知识图谱推理结果前,我们需要设置哪些规则-程序员宅基地

技术标签: 学习  人工智能  论文  知识图谱  

原文:
在这里插入图片描述

摘要

本文研究了在知识图谱上进行推理的学习逻辑规则。

逻辑规则用于预测时提供了可解释性并且可以推广到其他任务中,因此对于学习而言至关重要。

现存的方法要么存在在大搜索空间中搜索的问题,要么由于 稀疏奖励(sparse reward) 而导致无效化。

sparse reward 稀疏奖励
指在强化学习中,奖励信号 的反馈非常有限或稀疏的情况。在某些任务中,只有在完整的任务或达到特定目标时,才会给予奖励,而在中间阶段很少或几乎没有奖励信号。
这种稀疏奖励的情况对于强化学习算法来说是具有挑战性的,因为它们需要在没有明确的奖励信号指导的情况下进行决策和学习。在面临稀疏奖励的任务中,学习算法需要通过尝试不同的行动来探索环境,并学习如何在没有明确奖励信号的情况下进行有效的决策。

奖励信号
在强化学习中,奖励信号是一种反馈机制,用于指导智能体在环境中采取行动。当智能体执行某个动作后,它会收到一个奖励或惩罚信号,以表明该动作的好坏。奖励信号可以是一个数值,表示行动的优劣程度,也可以是一盒二元信号,表示行动的正确与否。
然而,有些时候奖励新课可能是稀疏的,即智能体只在特定情况下才会收到奖励信号。这会给学习算法带来挑战,因为只能体可能需要进行长时间的探索和尝试才能找到有效的行动策略。

为了解决这些局限性,本文提出了一个称为RNNLogic的概率模型。RNNLogic将逻辑规则视为一个潜在变量,同时使用逻辑规则来训练 规则生成器推理预测器

规则生成器是一种系统或算法,用于根据预定义的规则集合生成新的信息或执行相应的操作。
规则生成器的工作原理是将输入数据与规则集合中的条件进行匹配,并根据匹配结果执行相应的操作。
在决策支持系统中,规则生成器可以根据一系列规则来辅助决策过程。
在自然语言处理中,规则生成器可以根据语法规则和语义知识,生成符合语言规范的句子或进行语义解析。

Reasoning Predictor(推理预测器)是指一种模型或算法,用于预测或推断给定输入的推理结果。它可以根据输入的信息和上下文,通过逻辑推理、规则推断或统计模型等方法,生成与输入相关的推理结论。
推理预测器通常用于处理复杂的问题,其中需要考虑多个因素和变量之间的关系。它可以帮助我们在缺乏完整信息或面临不确定性的情况下,做出合理的推理和决策。推理预测器的性能和准确性取决于其背后的模型和算法,以及提供给它的输入数据的质量和完整性。不同的推理预测器可能采用不同的方法和技术来进行推理和预测。

本文开发了一种基于 EM 的优化算法。在每一次迭代中,首先更新推理预测器,以探索一些生成的推理逻辑规则,然后在E步骤中,通过 后验推理,从所有使用规则生成器和推理预测器产生的规则中选取一系列高质量的规则,并且在M步骤中使用E步骤中选择的规则来更新规则生成器。

EM算法的主要思想是通过迭代的方式,交替进行两个步骤:E步骤(Expectation step)和M步骤(Maximization step)。EM算法的核心思想是通过迭代地进行E步骤和M步骤,逐渐提高对参数的估计。
具体来说,EM算法的步骤如下:1. E步骤(Expectation step):在E步骤中,根据当前的参数估计,计算隐变量的 后验概率。这相当于计算在给定观测数据下,隐变量的期望值。2. M步骤(Maximization step):在M步骤中,根据上一步计算得到的隐变量的后验概率,通过最大化完全数据的对数似然函数来更新模型的参数估计。3. 重复执行E步骤和M步骤,直到收敛或达到预定的停止条件。

后验推理(Posterior Inference)
指在贝叶斯统计中,通过观测数据和先验知识来推断未知参数的后验概率分布。后验推理的目标是基于观测数据对未知参数进行推断和估计。
在后验推理中,我们首先给定一个先验概率分布,表示对未知参数的初始信念。然后,通过观测数据和贝叶斯定理,计算得到后验概率分布,表示在考虑了观测数据后对未知参数的更新估计。
后验推理的过程可以分为两个步骤:1. E步骤(Expectation step):在E步骤中,根据当前的参数估计和观测数据,计算隐变量的后验概率分布。这相当于计算在给定观测数据下,隐变量的期望值。2. M步骤(Maximization step):在M步骤中,根据上一步计算得到的隐变量的后验概率分布,通过最大化完全数据的对数似然函数来更新模型的参数估计。通过交替执行E步骤和M步骤,可以逐步优化参数估计,得到更准确的后验概率分布。

后验概率的计算公式如下:
后验概率 = (先验概率 × 似然度) / 证据
其中,先验概率表示在观测数据之前对未知参数或假设的概率分布,似然度表示在给定参数或假设的情况下,观测数据出现的概率,证据表示观测数据的概率。

介绍

知识图谱是真实世界事实的集合,在各种应用中都很有用。每一个事实都被明确规定为三元组(h,r,t)或等价的r(h,t),意思是实体h与实体t有r关系。由于它不可能收集所有的事实,所以知识图谱是不完整的。因此,知识图谱一个基础问题就是通过现存知识进行推理——知识推理。

本文研究了知识图谱推理的学习逻辑规则。
例如:任意X,Y,Z hobby(X,Y)<—friend(X,Z)∩hobby(Z,Y)
意思是如果X和Z是好朋友并且Z的爱好是Y,那么X的爱好可能也是Y。这个规则还可以用于推理新的人们的爱好。这种逻辑可以提高可推理的可解释性和预测性。因此逻辑规则可以被再利用和推广到其他领域和数据。然而,由于大的搜索空间,推理出高质量的逻辑规则用于知识推理是一项有挑战性的任务。

事实上,已经提出了多种方法来从知识图谱中学习逻辑规则。传统方法如路径排序和Markov逻辑网络枚举了图谱上的关系路径作为候选逻辑规则,并且学习每个规则的权重作为对规则质量的评估。

尽管这些方法在预测方面很有效,但搜索空间显然很大,使得难以识别高质量的逻辑规则。还有一些方法,将问题表述为一个顺序决策过程,并使用强化学习来搜索逻辑规则。然而由于训练中动作空间大、奖励少,这些方法性能尚不能令人满意。

本文提出了一种称为RNNLogic的 原则性概率方法(principle probabilistic approach),该方法克服了上述限制。该方法包括一个规则生成器和一个带有逻辑规则的推理预测器,它们同时经过训练以相互增强。

规则生成器提供 用于推理预测器推理的逻辑规则,而推理预测器提供有效的奖励来训练规则生成器,这有助于显著减少搜索空间。

原则性概率方法(principle probabilistic approach)
指的是一种基于原则的概率方法。基于概率论和统计学原则,用于建立和推断概率模型,并进行相关的推理和预测。
AI领域该方法常用于处理不确定性和随机性问题。它涉及到使用概率模型来描述不同变量之间的关系,并通过观测数据来推断模型的参数或进行预测。优势在于提供了一种同一的框架,可以处理各种类型的不确定性,并且可以通过贝叶斯等方法来更新和改进模型。

具体来说,对于每一个答案查询对(例如q=(h,r,?))和a=t,我们以查询和现有知识图谱G为条件(例如p(a|G,q))对答案的概率进行建模,其中一系列逻辑规则z被视为潜在变量。

规则生成器为每个查询定义了逻辑规则上的先验分布(例如p(z|q)),该分布由递归神经网络化成参数。
推理预测器计算以逻辑规则和现有知识图谱G作为条件的答案的可能性(例如p(a|G,q,z))。

在每次训练迭代中,我们首先从规则生成器中采样一些逻辑规则,并进一步更新推理预测器来试用这些规则进行预测。

然后使用EM算法来优化规则生成器,在E步骤中,根据它们的后验概率从所有产生的规则中选择一组高质量的逻辑规则。在M步骤中,规则生成器被更新,以模仿在E步骤中选择的高质量规则。

大量实验结果表明,RNNLogic在知识图谱推理方面优于最先进的方法,此外还可以生成高质量的逻辑规则。

相关工作

该项工作与现有的学习用于知识图谱推理的逻辑工作有关。

大多数属性方法将查询实体和答案实体之间的关系路径枚举为候选规则,并进一步学习每个规则了标量以评估质量。最近的一些方法通过学习逻辑规则和权重扩展了这一思想,其中大多数方法都是基于神经逻辑编程的。

这些方法和我们的方法在思想上是相似,因为它们都能够有效地学习逻辑规则的权重。然而,这些现有的方法试图同时学习逻辑规则及其权重,这在优化方面是不重要的。我们方法的主要创新是通过分别引入规则生成器和推理预测器来分离规则生成和规则权重学习,它们可以相互增强。规则生成器生成一些高质量的逻辑规则,而推理预测器只专注于学习这些高质量规则的权重,这大大减少了搜索空间,并获得了更好的推理结果。同时,推理推理器反过来可以帮助识别一些有用的逻辑规则,以改进规则生成器。

另一种规则学习方法是基于强化学习的。一般思想是训练 路径规划代理(pathfinding agent),在知识图谱中搜索推理路径来回答问题,然后从推理路径中提取逻辑规则。然而,训练路径规划代理是一项具有挑战性的工作,因为奖励信号(即路径是否以正确答案结束)可能及其稀疏。

Pathfinding agent(路径规划代理)
是指一个使用强化学习算法来学习和执行路径规划任务的智能代理。
在路径规划任务中,代理的目标是在给定的环境中找到从起始位置到目标位置的最佳路径。代理需要学习如何在环境中移动,并根据环境的奖励信号来调整其行为,以逐步优化路径选择。
强化学习中的路径规划代理通常使用马尔可夫决策过程(Markov Decision Process,MDP)作为建模框架。代理通过与环境的交互,观察当前状态、选择动作、接收奖励信号,并更新其策略,以最大化累积奖励。

在我们的方法中,规则生成器的作用与那些路径规划代理类似。主要区别在于,我们同时用逻辑规则来训练规则生成器和推理预测器,它们相互增强,推理预测器为训练规则生成器提供有效的奖励,规则生成器提供高质量的规则来改进推理预测器。

该项工作还设计知识图谱嵌入,它通过学习实体和潜在空间中的关系嵌入来解决知识推理。

然而这些方法智能以隐含的方法找到一些简单的规则。相反,我们提供的方法能够训练规则生成器,它能够生成复杂了逻辑规则。

有一些研究提升了基于规则的模型的工作,他们根据迄今为止学到的规则动态的添加新规则。这些方法已被证明在二元分类和回归中是有效的。与他们相比,我们的方法有着相似的想法,因为我们用推理预测器的反馈动态更新规则生成器,但我们专注于不同的任务,即在知识图谱上进行推理。

模型 (7.20)

结束所提出的RNNLogic方法,该方法学习知识图谱推理的逻辑规则。首先正式定义了知识图谱推理和逻辑规则。

知识图谱推理

让Pdata(G,q,a)作为训练数据分布,G表示由一组三元组(h,r,t)描述的背景知识图谱,也可以写作r(h,t),q=(h,r,?)是问题,a=t是答案。给出G和问题q,目标是预测正确答案a。更正式的来说,目标就是生成概率分布模型p(a|G,q)。

逻辑规则

我们通过学习逻辑规则来执行知识图谱的推理,逻辑规则在本文中有这样的连接形式:任意{Xi}li=0 r(X0,X1)<—r1(X0,X1)∩…rl(Xl-1,Xl),l是规则长度。这种句法结构能够自然而然地捕获成分,并且可以很容易表示出其他常见的逻辑规则,例如对称和取反规则。

在RNNLogic中,我们将一组 可以解释查询的 逻辑规则视为我们必须输入的潜在变量。为此,我们引入了一个规则生成器和一个使用逻辑规则的推理预测器。在给定查询的情况下,规则生成器使用递归神经网络生成一组逻辑规则,并将其提供给推理预测器进行预测。我们使用基于EM的算法优化RNNLogic。在每次迭代中,我们从更新推理预测器开始,尝试由规则生成器生成的一些逻辑规则。然后在E步骤中,我们通过后验推理从所有生成规则中识别出一组高质量的规则,先验来自规则生成器,似然来自推理预测器。最后,在M步骤中,用所识别的高质量规则更新规则生成器。

概率形式化

首先以概率化的方式形式化知识图谱推理,其中一组逻辑规则被视为潜在的变量。目标分布p(a|G,q)是有规则生成器和推理预测器联合建模的。规则生成器pθ在查询q上定义了一组潜在规则z条件的先验证,而推理预测器pw给出了答案的可能性a条件的先验规则z、查询g和知识图谱G。因此p(a|G,q)计算公式如下:
公式1
目标是联合训练规则生成器和推理预测器,以最大限度地提高训练数据的可能性。形式上,目标函数如下所示:
公式2

参数化

规则生成器

规则生成器定义分布pθ(z|q)。对于查询q,规则生成器负责为查询生成一组潜在的逻辑规则z。

形式上,给出一个查询q=(h,r,?),我们通过仅考虑没有查询实体h的查询关系r来生成组合逻辑规则。这允许生成的规则跨实体泛化。

对于缩写形式的每个组成规则r<—r1∩…∩rl,它可以被看做一个关联序列[r,r1,r2,…,rl,rend],其中r是查询关系或规则头,{ri}li=1是规则体,rend表示关系序列结束的特殊关系。

这样的关系序列可以通过递归神经网络有效地建模,因此我们引入RNNθ来参数化规则生成器。给出一个查询关系r,RNNθ按顺序生成规则主体中的每个关系,直到它到达结束关系rend。在这个过程中,同时计算生成规则的概率。这样的规则概率,我们将一组规则z上的分布定义为多项式分布:
在这里插入图片描述

其中Mu代表多项式分布,N是集合z大小的 超参数(hyperparameter),RNNθ(·|r)定义了组合规则上的分布,规则头为r。规则集z的生成过程非常直观,其中我们简单地用RNNθ生成N的规则生成z。

hyperparameter超参数
是机器学习算法中的可调参数,它们不由算法自身学习得到,而是在训练模型之前由人工设置的。
超参数用于控制模型的复杂度、学习速度和容错能力等方面。
超参数的选择通常是一个试错过程,需要经验和实践来进行调整。不同的超参数组合可能会导致不同的模型性能。

具有逻辑规则的推理预测器

推理预测器定义pw(a|G,q,z)。对于一个查询q,预测器会使用一组规则z来在知识图谱G上推理并预测答案a。

遵循随机逻辑规划,我们使用对数线性模型进行推理。对于每一个询问q=(h,r,?),组成规则能够在图G上找到不同的 grounding path,得出不同的候选答案。例如:q:(Alice,hobby,?),一个规则:hobby<—friend ∩ hobby 可以有两个背景:hobby(Alice,Sing)<—friend(Alice,Bob)∩hobby(Bob,Sing)和hobby(Alice,Ski)<—friend(Alice,Charlie)∩ hobby(Charlie,Ski),产生两个候选答案。

设A是可以通过集合z中的任何逻辑规则发现的候选答案的集合。对于每个候选答案e∈A,我们为该候选答案计算以下标量分数scorew(e):
在这里插入图片描述
其中P(h,rule,e)是一组grounding path,按照从h开始,到e结束。Ψw(rule)和 Φw(path)是每个规则和路径的标量权重。直观的,每一个候选答案e的分数是由每个规则贡献的分数的综合。为了得到scorew(e|rule),我们在图G中的每个接地路径上求和。一旦有了每个候选答案的分数,我们就可以通过使用softmax函数进一步定义查询q的答案是实体e的概率:
在这里插入图片描述

优化

接下来,我们介绍如何优化推理预测器和规则生成器,以最大化Eq中的对象。

在每次训练迭代中,我们首先根据生成器生成的一些规则更新推理预测器Pw,然后用EM算法更新规则生成器pθ。在E步骤中,通过后验推理从所有生成的规则中识别出一组高质量的规则,规则生成器作为先验,推理预测器作为可能性。在M步骤中,更新规则生成器,与在E步骤中选择的高质量规则一致。

形式上,在每个训练迭代中,我们从最大化中 关于推理预测器pw的目标O(θ,w)开始。每个训练实例(G,g,a),存在关于pθ(z | q)的期望运算。通过为查询q绘制样本z^ ~ pθ(z|q),我们可以在每个训练实例(G, q, a)处近似w的目标函数,如下所示:
在这里插入图片描述
基本上,我们从生成器中采样一组规则z^,并将z ^输入推理预测器。更新推理预测器的参数w以最大化答案a的对数似然性。

E步骤

回想一下,当优化推理预测器时,我们为每个数据实例(G,q,a)绘制一组规则z ^,并让推理预测器使用z ^ 来预测a。对于每个数据实例,E步骤旨在从所有生成的规则中识别一组K个高质量规则zI

形式上,这是通过考虑逻辑规则zI的每个子集的后验概率来实现的,先验zI来自规则生成器pθ和来自推理预测器pw的可能性。后验结合了来自规则生成器和推理预测器的知识,因此可以通过从后验中采样来获得可能的高质量规则集。然而,由于其难以处理的分割函数,从后验抽样是不平凡的,因此我们使用更易于处理的形式来近似后验,命题如下:
在这里插入图片描述

M步骤

一旦我们在E步骤中为每个数据实例(G,q,a)获得了一组高质量的逻辑规则z^I,我们就进一步利用这些规则来更新M步骤中规则生成器的参数θ。

具体地说,对于每个数据实例(G,q,a),我们将相应的规则集z^I 视为(现在完成的)训练数据的一部分,并通过最大化的z^I的**对数似然函数(log-likelihood)**来更新规则生成器。

log-likelihood 对数似然函数
用于衡量模型的拟合程度或者说对观察数据的适应度。
在机器学习中,对数似然函数通常用于训练模型和评估模型性能。对于监督学习的分类任务,对数似然函数可以用于定义损失函数。对数似然函数的值越大,表示模型对观测数据的拟合程度越好。

有了上述目标,来自推理预测器的反馈可以有效地提炼到规则生成器中。这样,规则生成器将学会只生成高质量的规则来供推理预测器探索,减少了搜索空间,并产生了更好的经验结果。

实验

实验设置

实验结果

总结

对于知识图谱推理,目前已经提出了多种方法来从知识图谱中学习逻辑规则。

传统方法在预测方面很有效,但搜索空间大奖励稀疏,这些方法性能尚不能令人满意。

为解决搜索空间大和稀疏奖励的问题,本文提出了一种称为RNNLogic的原则性概率方法,该方法克服了上述限制。

RNNLogic包括一个规则生成器和一个带有逻辑规则的推理预测器,它们同时经过训练以相互增强。

规则生成器生成一些高质量的规则,而推理预测器只专注于学习这些高质量规则的权重,这就大大减少了搜索空间。且规则生成器作用与路径规划代理类似,我们同属用逻辑规则来训练规则生成器和推理预测器,使得它们相互增强,推理预测器为训练规则生成器提供有效的奖励,规则生成器提供高质量的规则来改进推理预测器。

规则生成器负责为查询生成一组潜在的规则,推理预测器会使用一组规则在知识图谱上推理并预测答案。
每一个候选答案的分数都是由每个规则贡献的分数综合决定的。

最后通过EM进行优化。

在E步骤中,对于每个数据实例,从所有生成的规则中识别一组K个高质量的规则。
在M步骤中,利用E步骤中的规则来更新规则生成器的参数。

ToT中的搜索空间也大。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/RM_Jin/article/details/131804287

智能推荐

18个顶级人工智能平台-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏27次。来源:机器人小妹  很多时候企业拥有重复,乏味且困难的工作流程,这些流程往往会减慢生产速度并增加运营成本。为了降低生产成本,企业别无选择,只能自动化某些功能以降低生产成本。  通过数字化..._人工智能平台

electron热加载_electron-reloader-程序员宅基地

文章浏览阅读2.2k次。热加载能够在每次保存修改的代码后自动刷新 electron 应用界面,而不必每次去手动操作重新运行,这极大的提升了开发效率。安装 electron 热加载插件热加载虽然很方便,但是不是每个 electron 项目必须的,所以想要舒服的开发 electron 就只能给 electron 项目单独的安装热加载插件[electron-reloader]:// 在项目的根目录下安装 electron-reloader,国内建议使用 cnpm 代替 npmnpm install electron-relo._electron-reloader

android 11.0 去掉recovery模式UI页面的选项_android recovery 删除 部分菜单-程序员宅基地

文章浏览阅读942次。在11.0 进行定制化开发,会根据需要去掉recovery模式的一些选项 就是在device.cpp去掉一些选项就可以了。_android recovery 删除 部分菜单

mnn linux编译_mnn 编译linux-程序员宅基地

文章浏览阅读3.7k次。https://www.yuque.com/mnn/cn/cvrt_linux_mac基础依赖这些依赖是无关编译选项的基础编译依赖• cmake(3.10 以上)• protobuf (3.0 以上)• 指protobuf库以及protobuf编译器。版本号使用 protoc --version 打印出来。• 在某些Linux发行版上这两个包是分开发布的,需要手动安装• Ubuntu需要分别安装 libprotobuf-dev 以及 protobuf-compiler 两个包•..._mnn 编译linux

利用CSS3制作淡入淡出动画效果_css3入场效果淡入淡出-程序员宅基地

文章浏览阅读1.8k次。CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致。利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态效果,由CSS3来驱动产生动画效果。下面讲解一下如何利用CSS3制作淡入淡出的动画效果。具体实例可参考刚进入本站时的淡入效果。1. 定义动画,名称为fadeIn@-webkit-keyf_css3入场效果淡入淡出

计算机软件又必须包括什么,计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括______?...-程序员宅基地

文章浏览阅读2.8k次。计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括中央处理器和系统软件。按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机是脑力的延伸和扩充,是近代科学的重大成就之一。计算机系统由硬件(子)系统和软件(子)系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按指定的要求进行..._计算机系统包括硬件系统和软件系统 软件又必须包括

随便推点

进程调度(一)——FIFO算法_进程调度fifo算法代码-程序员宅基地

文章浏览阅读7.9k次,点赞3次,收藏22次。一 定义这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如,含有全局变量、常用函数、例程等的页面,FIFO 算法并不能保证这些页面不被淘汰。这里,我_进程调度fifo算法代码

mysql rownum写法_mysql应用之类似oracle rownum写法-程序员宅基地

文章浏览阅读133次。rownum是oracle才有的写法,rownum在oracle中可以用于取第一条数据,或者批量写数据时限定批量写的数量等mysql取第一条数据写法SELECT * FROM t order by id LIMIT 1;oracle取第一条数据写法SELECT * FROM t where rownum =1 order by id;ok,上面是mysql和oracle取第一条数据的写法对比,不过..._mysql 替换@rownum的写法

eclipse安装教程_ecjelm-程序员宅基地

文章浏览阅读790次,点赞3次,收藏4次。官网下载下载链接:http://www.eclipse.org/downloads/点击Download下载完成后双击运行我选择第2个,看自己需要(我选择企业级应用,如果只是单纯学习java选第一个就行)进入下一步后选择jre和安装路径修改jvm/jre的时候也可以选择本地的(点后面的文件夹进去),但是我们没有11版本的,所以还是用他的吧选择接受安装中安装过程中如果有其他界面弹出就点accept就行..._ecjelm

Linux常用网络命令_ifconfig 删除vlan-程序员宅基地

文章浏览阅读245次。原文链接:https://linux.cn/article-7801-1.htmlifconfigping &lt;IP地址&gt;:发送ICMP echo消息到某个主机traceroute &lt;IP地址&gt;:用于跟踪IP包的路由路由:netstat -r: 打印路由表route add :添加静态路由路径routed:控制动态路由的BSD守护程序。运行RIP路由协议gat..._ifconfig 删除vlan

redux_redux redis-程序员宅基地

文章浏览阅读224次。reduxredux里要求把数据都放在公共的存储区域叫store里面,组件中尽量少放数据,假如绿色的组件要给很多灰色的组件传值,绿色的组件只需要改变store里面对应的数据就行了,接着灰色的组件会自动感知到store里的数据发生了改变,store只要有变化,灰色的组件就会自动从store里重新取数据,这样绿色组件的数据就很方便的传到其它灰色组件里了。redux就是把公用的数据放在公共的区域去存..._redux redis

linux 解压zip大文件(解决乱码问题)_linux 7za解压中文乱码-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏6次。unzip版本不支持4G以上的压缩包所以要使用p7zip:Linux一个高压缩率软件wget http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2tar jxvf p7zip_9.20.1_src_all.tar.bz2cd p7zip_9.20.1make && make install 如果安装失败,看一下报错是不是因为没有下载gcc 和 gcc ++(p7_linux 7za解压中文乱码