社交网络分析3:社交网络隐私攻击、保护的基本概念和方法 + 去匿名化技术 + 推理攻击技术 + k-匿名 + 基于聚类的隐私保护算法

社交网络分析3:社交网络隐私攻击、保护的基本概念和方法 + 去匿名化技术 + 推理攻击技术 + k-匿名 + 基于聚类的隐私保护算法

  • 写在最前面
  • 社交网络隐私泄露
    • 用户数据暴露的途径
    • 复杂行为的隐私风险
    • 技术发展带来的隐私挑战
    • 经济利益与数据售卖
    • 防范措施
  • 社交网络 用户数据隐私
  • 社交网络隐私攻击
    • 基于背景知识的攻击
    • 节点及节点间关系识别攻击
    • 隶属关系攻击
    • 概率攻击
  • 隐私保护研究现状
    • 社交网络用户隐私攻击研究现状
    • 社交网络去匿名化技术
      • 基于种子的去匿名化
      • 基于非种子的去匿名化
      • 社交网络去匿名化技术的发展
    • 社交网络推理攻击技术
      • 推理攻击案例
      • 推理攻击技术的发展
  • 社交网络用户隐私保护研究现状
    • 社交网络匿名化技术
      • k度匿名化
      • k邻域匿名化
      • k同构匿名化
      • 时变图的k匿名化
      • 基于图嵌入的匿名化
    • 社交网络反推理攻击技术
      • 阻止推理攻击的策略
  • 常见的匿名化隐私保护模型
    • k-匿名
    • 改进的k-匿名模型
    • k-匿名模型的挑战
    • k-匿名:示例与攻击方法
      • k-匿名示例
      • k-匿名攻击方法
  • 基于聚类的隐私保护算法
    • 主要思想与工作流程
    • 问题描述
    • 问题建模
  • 基于聚类的社交网络隐私保护算法设计
    • 算法设计概述
    • 初始种子节点优化算法
    • 隐私保护力度自适应
  • 提纲问题
    • 1. 列举几条社交网络隐私泄露的几个案例。
    • 2. 不同的应用场景对隐私的定义不同,社交网络数据中,哪些属性可能称为网络中的隐私信息?
    • 3. 针对社交网络隐私攻击的方法有哪些?简要地进行说明。
    • 4. 什么是社交网络匿名化技术?简要地介绍一下 k-匿名以及针对这种方法的攻击方式。

写在最前面

《社交网络分析》课程由鲁宏伟老师授课,其教学方式不仅严谨负责,还充满幽默与个人见解。这个方向对我而言也尤其有吸引力,怀着极大的兴趣选修了这门课程。

三、社交网络隐私保护
主要结合PPT第三章:社交网络隐私保护
本章简要介绍社交网络隐私攻击和保护的基本概念和方法


请添加图片描述

欢迎阅读社交网络系列博客之《社交网络分析3(下)》。通过本篇博客,希望能提供一个较为全面的视角,以理解社交网络中的隐私保护问题、方法,以及这些领域的最新技术发展。

社交网络,作为现代互联网时代的一个重要组成部分,不仅为我们提供了互相交流和分享的平台,也成为了大数据和情感分析的宝贵资源。然而,随着社交网络的日益普及和数据量的爆炸式增长,用户隐私保护成为了一个不可忽视的问题。本篇博客将从多个角度剖析社交网络中的隐私泄露问题,探讨其背后的原因、可能的攻击方式以及对策。

  • 社交网络隐私泄露

在这个数字化时代,社交网络隐私泄露已经成为一个全球性问题。用户数据的暴露途径有多种,包括但不限于个人资料的直接泄露、复杂行为的隐私风险、技术发展带来的挑战,以及经济利益驱动下的数据售卖等。了解这些泄露途径,有助于我们更好地采取有效的防范措施。

  • 社交网络用户数据隐私

社交网络中的用户数据隐私问题涉及多个方面。我们将讨论社交网络隐私攻击的各种形式,如基于背景知识的攻击、节点及节点间关系识别攻击,以及隶属关系攻击和概率攻击等。此外,我们还将探讨目前的隐私保护研究现状,以及社交网络匿名化技术的应用和其面临的挑战。

社交网络隐私泄露

社交网络是现代生活的一个重要组成部分,但它们也可能成为个人隐私泄露的温床。本文探讨了社交网络中隐私泄露的主要方式及其潜在风险,并提出了相应的防范措施。

用户数据暴露的途径

  1. 个人资料页面:用户的性别、年龄、联系方式等基本信息可能被直接展示。
  2. 地理位置信息:用户通过打卡等行为可能无意中透露自己的实时位置。
  3. 社交圈分析:通过分析用户的好友连接,攻击者可以推测用户所在的社群,并进一步推理出敏感信息。

复杂行为的隐私风险

  • 跨平台行为关联:用户在不同平台的行为可能被关联分析,例如,将某用户在微博上的个人资料与其在知乎上的发言关联起来,从而揭露更多个人信息。

技术发展带来的隐私挑战

  1. 图神经网络:这一先进技术能够有效分析社交网络的图结构数据,从而提高对用户隐私的威胁。
  2. 多模态信息融合技术:通过融合用户在不同平台的行为数据,攻击者能对复杂的多元异构数据进行有针对性的分析。
  3. 机器学习在数据分析中的应用:这可能成为攻击者利用社交网络数据进行隐私攻击的工具。

经济利益与数据售卖

  • 社交网络服务商可能出于盈利目的,将用户数据售卖给第三方机构。比如,Facebook在未告知用户的情况下,将8700万用户的私人数据售卖给了剑桥大学。

防范措施

  • 提高用户隐私意识:用户应意识到自己在社交网络上分享的信息可能带来的风险。
  • 加强法律法规建设:需要更有效的法律法规来保护个人数据不被滥用。
  • 社交平台技术改进:服务提供商应采取技术措施,保障用户数据的安全。

社交网络 用户数据隐私

 社交网络隐私保护中,隐私是研究和保护的对象,在确定隐私保护方案之前,需要对研究的隐私进行定义,确定研究方向和目标。
 不同的隐私目标可能产生不同的问题定义,并因此导致不同的隐私保护方法。在关系数据库的隐私保护中,表中的属性分为非敏感属性和敏感属性两种。敏感属性中的值对个人来说是私有的,也就是所提到的隐私。
 同样在社交网络数据中,网络中节点存在性、属性等信息都可能成为需要保护的对象,以下列举了可能成为网络中隐私的属性。

在社交网络数据中,可能被视为隐私的属性包括:

  1. 顶点存在性和属性:社交网络中的个体是否存在及其属性,如顶点的度等,可被认为是个人隐私。

  2. 敏感顶点标签:社交网络中个体的某些标签属性,如上班时间、上班路线等,这些敏感标签属性被认为是隐私。

  3. 链接关系:社交网络中顶点间的边代表社会个体之间的关系,这种链接关系可能是需要保护的隐私。

  4. 敏感边标签:个体间的边所具有的属性,被视为标签。这些敏感边标签的值有时也被认为是研究的目标。

  5. 图形参数:诸如中间性、接近度、中心性、路径长度、可达性等,表示节点与社交网络的关系或在网络中的地位,可被视为敏感信息或隐私。

  6. 链接权重:在社交网络中,边的权重可以表示个体间的关系亲密度,如朋友之间的亲密度,甚至通信量,这也可视为一种隐私。

这些属性反映了社交网络数据中隐私保护的多维性和复杂性。

社交网络隐私攻击

社交网络隐私攻击是一种利用用户在社交网络上发布的信息进行的攻击。本文将介绍两种主要的攻击方式:基于背景知识的攻击和节点及节点间关系的识别攻击。

基于背景知识的攻击

  • 背景知识定义:这些是单独使用时不足以识别目标用户的信息,但当与其他信息结合时,可能用于推断用户的敏感信息。
  • 攻击过程:攻击者首先获取目标个体的准标识符属性或其他信息,然后收集社交网络中的相关数据,并对自己的背景知识进行建模。这两部分信息的结合可能用于推断出用户的敏感信息或识别网络中的目标用户。
  • 背景知识的重要性:背景知识,通常是一些准标识符,对于进行隐私攻击至关重要。

节点及节点间关系识别攻击

  • 攻击方法:攻击者通过建模已有的背景知识,在社交网络中识别目标节点或者节点间的真实社交关系。
  • 节点属性类型
    • 描述性属性:节点个体所具备的一些描述性信息,如个人特征。
    • 结构属性:由于存在于整个社交网络中而产生的属性,如网络图形结构的特征。
  • 攻击实施:攻击者根据这些属性信息在社交网络中寻找匹配的节点进行识别。同时,他们也可能利用数据集的链接攻击来获取目标节点的敏感属性。
  • 隐私保护:在发布数据时,应避免直接发布可以识别节点的信息,如身份证号等敏感数据。

隶属关系攻击

社交网络中的隶属关系攻击利用个体在网络中的社会联系,如朋友、校友、同事等,进行隐私侵犯。

  • 社交网络的社会联系:个体通过与身边的朋友、校友、同事或其他具有共同特征的人建立联系,选择加入特定的社团组织或参与小组活动。
  • 实例分析:如在微博,用户可根据关注的事件和人物选择相关话题,或在粉丝群共享演唱会照片或视频。
  • 隐私风险:兴趣活动小组在提供便利的同时,可能引发安全问题。个体在同一小组中具有相似属性的概率较高,这可能被攻击者利用来破解敏感信息。
  • 攻击手段:隶属关系识别攻击是指攻击者推断目标节点个体是否属于某小组或具有某公共属性。

概率攻击

概率攻击是一种具有不确定性的隐私侵犯手段。

  • 攻击定义:在已发布的数据集中,攻击者使用概率方法识别个体的敏感属性和信息,而非准确识别特定目标节点。
  • 可能性分析:社交网络中节点的存在性和节点间关系的存在性可通过概率攻击得到推测。
  • 攻击实例:即使在为保护隐私而隐藏某些节点间关系的社交网络数据集中,攻击者仍可利用已有的背景知识进行概率攻击,推测目标节点间的特定关系是否存在。

隐私保护研究现状

本节将从两个方面综述社交网络用户隐私攻击方法和社交网络隐私保护机制的国内外研究现状。

社交网络用户隐私攻击研究现状

社交网络的攻击通常可以分为两类:身份攻击和属性攻击。

  • 身份攻击:旨在确认社交网络数据中用户的身份。
  • 属性攻击:旨在根据发布的社交网络数据预测用户的敏感属性,如性取向、政治倾向等。
  • 主要技术:社交网络去匿名化技术和推理攻击技术是这两种攻击的主流技术。

社交网络去匿名化技术

  • 数据匿名化操作:在发布含敏感信息的数据前,数据拥有者通常会进行匿名化操作,例如删除用户名、电话号码等身份信息,并修改社交网络的拓扑结构。
  • 匿名图:经过处理的社交网络图数据被称为匿名图。
  • 攻击者的行为:通过购买或黑客攻击等手段获取含用户身份信息的辅助图。

基于种子的去匿名化

  • 技术假设:攻击者知晓匿名图中部分用户在辅助图中的对应点,使用这些点作为种子。
  • 技术应用实例
    • Korula采用传播算法进行匿名化。
    • Chiasserini等人运用引导渗流理论和图分割技术设计去匿名化算法。

基于非种子的去匿名化

  • 技术假设:攻击者不直接知道种子对,但利用除拓扑信息之外的其他信息间接获得种子对。
  • 技术应用实例
    • Backstrom等人假设攻击者能生成伪装账号与匿名图中的节点连接,然后识别这些伪装账号所连接的子图。
    • Narayanan提出的启发式传播算法基于已知的种子对实现全图去匿名化。

社交网络去匿名化技术的发展

  • 无种子去匿名化:研究人员提出的新技术,仅依赖辅助图的拓扑信息,例如Pedarsani等人的基于贝叶斯方法的匹配技术。
  • 结构信息外的辅助信息:利用社区信息、属性信息、知识图谱等增强去匿名化效果的方法。

社交网络推理攻击技术

社交网络推理攻击技术基于社交网络中丰富的用户信息,攻击者通过分析公开数据来推理出用户的隐私信息。

推理攻击案例

  • 政治倾向推理:例如,通过分析用户的社交网络好友,攻击者可以推测该用户的政治倾向。
  • 性取向预测:Jerigan通过分析Facebook用户数据,训练了一个逻辑回归分类器来预测用户的性取向。
  • 地理位置推理:Liu设计了一个两阶段模型来整合用户的连接信息和社交网络行为记录,用于预测用户所居住的城市。
  • 政治倾向预测模型:Lindmood提出了一个改进的朴素贝叶斯模型,用于根据用户属性和连接信息预测用户的政治倾向。

推理攻击技术的发展

  • 粗糙集理论应用:Cai等人基于粗糙集理论,提出了利用非敏感属性和好友关系进行敏感属性预测的方法。
  • 对非社交网络用户的攻击:CarCia的研究表明,即使某人不是社交网络的用户,攻击者也可以利用其在现实生活中的联系人的社交网络公开信息进行推理攻击。
  • 机器学习在推理攻击中的应用:图嵌入向量作为社交网络信息表征,在网络分析任务中被广泛应用。Ellers等人提出了针对图嵌入数据的攻击模型,该模型能够推理出被删除的敏感账号及其邻居节点。

社交网络用户隐私保护研究现状

近年来,为了保护社交网络用户的隐私,学术界展开了大量研究。这些研究主要分为两类:抵抗身份认证攻击的匿名化技术和阻止敏感属性攻击的反推理攻击技术。

社交网络匿名化技术

k度匿名化

  • 定义与方法:Liu等人定义了k度匿名化,即确保图中任何点至少有k-1个其他点与其度数相同。他们提出的两阶段k度匿名化方案先匿名化图的度序列,再生成结构相似的图数据。

k邻域匿名化

  • 概念与构造:Zhou等人提出了k邻域匿名化,针对攻击者可能知道目标节点与邻居之间的子图。该方法通过编码用户的单跳邻域节点,分组相似邻域的用户,并对每组进行匿名化处理。

k同构匿名化

  • 定义与实施:Cheng等人提出了k同构匿名化方法,通过将图分为k个同构的子图来实现匿名化。

时变图的k匿名化

  • 研究与算法:Rossi等人探讨了时变图的k匿名问题,并提出了相关算法。

基于图嵌入的匿名化

  • 改进机制:Zhang等人针对现有匿名化机制的弱点,提出了基于图嵌入技术生成更难被识别的假边。

社交网络反推理攻击技术

阻止推理攻击的策略

  • 属性和边的调整:Cain等人通过移除或添加噪声到与隐私属性相关性强的属性和边来阻止攻击。
  • 数据清洗策略:He等人通过解决最优化问题寻找数据清洗策略,实现数据效用和隐私的平衡。
  • 对抗学习噪声生成:Jia设计了一个基于对抗学习的噪声生成机制,用于添加噪声抵御推理攻击,但其研究未涉及对边数据添加噪声。

常见的匿名化隐私保护模型

本章将讨论k-匿名及其衍生模型,这些模型是隐私保护领域内的重要成果。

k-匿名

  • 起源故事:k-匿名模型源自美国马萨诸塞州90年代的一起用户隐私泄露事件。Sweeney成功破解了匿名化的医疗数据,发现仅用性别、出生日期和邮编三元组就可以识别87%的美国人。

  • 模型定义:由Samarati和Sweeney于2002年提出。k-匿名要求发布的数据中每条记录都与至少其他k-1条记录不可区分。

  • 效果与局限性:k-匿名化的数据使攻击者无法确切判断个人信息,但k值的增加会降低数据的可用性。Machanavajjhala等人指出,k-匿名未对敏感属性进行约束,可能导致隐私泄露。

改进的k-匿名模型

  • l-多样性:为防止一致性攻击,l-diversity确保任一等价类中的敏感属性至少有l个不同的值。

  • t-接近性:在l-diversity基础上,要求所有等价类中敏感属性的分布接近该属性的全局分布。

  • (a, k)-匿名:在k-匿名的基础上,保证每个等价类中与任意敏感属性值相关的记录百分比不高于a。

k-匿名模型的挑战

  • 不断演进:尽管上述模型在提高隐私保护方面做出了改进,但仍存在缺陷,且随着新攻击方法的出现,传统的隐私保护模型面临着不断的挑战。

  • 假设的局限性:这些模型基于对攻击者的背景知识和攻击模型的假设,而这些假设在现实中并不总是成立。

  • 差分隐私:直到差分隐私的出现,这些隐私保护模型的根本问题才得到较好的解决。

k-匿名:示例与攻击方法

k-匿名是一种重要的数据匿名化方法。以下是k-匿名的示例以及潜在的攻击方法。

k-匿名示例

  • 公开属性分类

    • 标识符:唯一标识个体的信息,如姓名、地址、电话等,需要在公开数据时删除。
    • 准标识符:非唯一但有助于数据管理的标识,如邮编、年龄、生日等。
    • 敏感数据:研究人员关注的数据,如购买偏好、薪水等。
  • k-匿名模型:确保每个等价类中,指定的标识符或准标识符属性值至少包含k个记录,从而保护个人隐私。

  • 实施方法

    • 删除对应的数据列,用*号代替。
    • 使用概括法使数据无法区分,如将年龄转换为年龄段。

k-匿名攻击方法

  1. 未排序匹配攻击

    • 攻击者通过比对数据记录和原始记录的顺序,猜测匿名化记录的归属。
    • 防御方式:打乱公开数据的原始顺序。
  2. 同质化攻击

    • 如果k-匿名组内的敏感属性值相同,攻击者可以轻易获取信息。
  3. 背景知识攻击

    • 即使敏感属性在k-匿名组内不相同,攻击者可以利用已有的背景知识进行推断。
  4. 补充数据攻击

    • 如果同一份数据被不同方式的k-匿名处理后多次公开,攻击者可以通过数据关联推测用户信息。

基于聚类的隐私保护算法

基于聚类的隐私保护算法在社交网络数据的处理上发挥着关键作用。以下是该算法的主要思想、工作流程和问题描述。

主要思想与工作流程

  • 聚类处理:对社交网络的节点根据节点间的综合距离进行聚类,形成多个超点。超点内部细节被隐匿,超点间的连接则简化为单条边。

  • 关键步骤

    1. 结构与属性信息的概化:为更好地抵御背景知识攻击,综合考虑结构信息和属性信息计算节点间距离。
    2. 聚类算法优化:针对社交网络特点,优化初始种子节点的选取,提高聚类质量,减少信息损失。
    3. 隐私保护力度自适应算法:根据每个节点对隐私保护力度的需求差异,使用不同的保护力度,减少信息损失的同时提高数据安全性。

问题描述

  • 宏观数据准确性:社交网络分析需要保证数据宏观上的准确性,局部信息的不准确性不应影响宏观特性的研究。

  • 现有算法局限性

    1. 基于子图k匿名模型:该模型假设攻击者以社交网络中的子图为背景知识进行攻击。然而,现实中攻击者获取的背景知识内容更为丰富和复杂。
    2. 隐私保护力度问题:大多数算法对所有节点使用相同的隐私保护力度,忽视了不同节点的隐私需求差异。

问题建模

  • 属性泛化定义:在匿名化社交网络中,对簇内各节点的所有属性值进行泛化处理,用更广泛的值取代具体值。

  • 泛化过程

    • 数据类型区分:数值型(如年龄、收入)和非数值型数据需采用不同的泛化方法。
    • 数值型数据泛化:用数值范围代替具体数值,以减少信息损失。

基于聚类的社交网络隐私保护算法设计

基于聚类的社交网络隐私保护算法是一个重要的隐私保护工具,特别是在处理大规模社交网络数据时。以下是算法设计的关键环节和思路。

算法设计概述

  • 基于k-means聚类算法:此算法利用k-means聚类方法对社交网络节点进行聚类,生成若干超点。
  • 聚类过程
    1. 初始聚类:选择具有代表性的种子节点,将未分配的节点根据最近的簇进行聚类,直至所有节点分配完毕。
    2. 再分配:对初次聚类后的图进行再分配,确保所有节点满足其隐私保护需求。
    3. 匿名化操作:对所有超级节点进行匿名处理。

初始种子节点优化算法

  • k-means算法的特点:对初始聚类中心敏感,需结合社交网络特点进行优化。
  • 聚类系数和密度:结合局部聚类系数和用户节点密度,选取具有较高聚集程度的节点作为初始中心。
  • 选择方法:对点集进行排序基于聚集密度,选择最大或相距较远的节点作为初始中心,以提高聚类效果。

隐私保护力度自适应

  • 核心点和非核心点:根据节点的隐私保护需求,将节点分为核心点(需要高隐私保护)和非核心点(需求较低)。
  • 保护力度的调整:高隐私保护力度的节点增加安全性,而对低隐私需求的节点减少信息损失,提高数据有效性。
  • 核心节点判断:根据节点周围的节点密度和初次聚类情况判断节点是否为核心节点。

提纲问题

1. 列举几条社交网络隐私泄露的几个案例。

几个社交网络隐私泄露的案例包括:

  1. 分享原图暴露地址:一位市民分享了玉渊潭游览的照片到微博,导致其地理位置被闺蜜发现。

  2. 朋友圈信息泄露实验:通过微信摇一摇功能加的陌生人,从其朋友圈迅速获得大量个人信息。

  3. 随意发图暴露地址被性侵:在辽宁,一位23岁女孩张迪的微信相册被犯罪嫌疑人利用,导致其被害。

  4. 明星自拍中的瞳孔倒影泄露地理位置:日本女明星松冈笑南的自拍照中的瞳孔倒影被粉丝用来定位她的位置。

  5. 电视综艺节目《超脑少年团》中,通过一张航拍照片解锁了具体的地址和航班信息。

这些案例反映了社交网络上的个人信息如何被他人利用,从而引发严重的隐私泄露和安全风险。

2. 不同的应用场景对隐私的定义不同,社交网络数据中,哪些属性可能称为网络中的隐私信息?

在社交网络数据中,可能被视为隐私的属性包括:

  1. 顶点存在性和属性:社交网络中的个体是否存在及其属性,如顶点的度等,可被认为是个人隐私。

  2. 敏感顶点标签:社交网络中个体的某些标签属性,如上班时间、上班路线等,这些敏感标签属性被认为是隐私。

  3. 链接关系:社交网络中顶点间的边代表社会个体之间的关系,这种链接关系可能是需要保护的隐私。

  4. 敏感边标签:个体间的边所具有的属性,被视为标签。这些敏感边标签的值有时也被认为是研究的目标。

  5. 图形参数:诸如中间性、接近度、中心性、路径长度、可达性等,表示节点与社交网络的关系或在网络中的地位,可被视为敏感信息或隐私。

  6. 链接权重:在社交网络中,边的权重可以表示个体间的关系亲密度,如朋友之间的亲密度,甚至通信量,这也可视为一种隐私。

这些属性反映了社交网络数据中隐私保护的多维性和复杂性。

3. 针对社交网络隐私攻击的方法有哪些?简要地进行说明。

针对社交网络隐私攻击的主要方法包括:

  1. 基于背景知识的攻击:攻击者结合已发布的社交网络数据和背景知识来识别目标个体和敏感信息。

  2. 节点及节点间关系识别攻击:攻击者利用社交网络中的个体属性信息和结构属性信息进行识别攻击。

  3. 隶属关系攻击:攻击者通过社交网络推断目标节点个体是否属于某小组或具有某公共属性。

  4. 概率攻击:在已发布的数据集中,攻击者利用具有一定概率性的方法识别社会个体的敏感属性和信息。

  5. 社交网络去匿名化技术和推理攻击技术:攻击者通过购买或黑客攻击等方式获得含有用户身份信息和社交网络拓扑的辅助图,然后进行去匿名化攻击或推理攻击,以推测用户的敏感属性。

4. 什么是社交网络匿名化技术?简要地介绍一下 k-匿名以及针对这种方法的攻击方式。

社交网络匿名化技术是指通过对社交网络数据进行处理,以保护用户隐私的一系列方法。其中,k-匿名是一种常见的匿名化技术,其目标是确保任何个体的信息至少与其他k-1个个体的信息相似,以此来阻止个体被识别

然而,k-匿名方法面临着多种攻击方式,例如基于背景知识的攻击,攻击者可以利用额外的信息来区分或识别原本在k-匿名集中无法区分的个体。此外,结构攻击也是一种常见的针对k-匿名的方法,攻击者通过分析社交网络的结构特征来识别目标个体。

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

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

相关文章

python排序算法,冒泡排序和快排

对于排序算法中比较知名的两个算法,分别就是冒泡排序和快速排序,在日常学习和使用中都会听到这两种排序算法的名称,这里主要介绍如何使用python来实现这两种排序算法。 冒泡排序的实现:一是从集合第一个元素开始,每两…

饥荒Mod 开发(十四):制作屏幕弹窗

饥荒Mod 开发(十三):木牌传送 在上一个文章里面制作了一个传送选择页面,是一个全屏的窗口,那饥荒中如何制作一个全屏的窗口,下面介绍一下如何从零开始制作一个全屏窗口 制作屏幕窗口 饥荒中的全屏窗口都有一个基类 “Screen”,我…

20231218给Firefly的AIO-3399J【RK3399】开发板刷Android12挖掘机方案

20231218给Firefly的AIO-3399J【RK3399】开发板刷Android12挖掘机方案 2023/12/18 21:07 一、整体编译Rockchip的的Android12的挖掘机方案! 由于RK3399的Android12系统默认是IND工业方案,需要修改一下【为挖掘机方案】。 Z:\3TB\81rk_android12_220722\…

18.XML

XML简介 • XML–可扩展标记语言 eXtensible Markup Language • 由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范 • XML的使命,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务 • XML用来…

The Grid – Responsive WordPress Grid响应式网格插件

点击阅读The Grid – Responsive WordPress Grid响应式网格插件原文 The Grid – Responsive WordPress Grid响应式网格插件是一个高级 wordpress 网格插件,它允许您在完全可定制且响应迅速的网格系统中展示任何自定义帖子类型。 Grid WordPress 非常适合展示您的博…

C++设计模式之——命令模式

命令模式 概念创建步骤示例示例一代码实现运行结果 示例二代码实现运行结果 示例三示例代码运行结果 示例四代码实现运行结果 应用场景 概念 命令模式是一种行为型设计模式,它允许将请求封装为一个对象,从而使得可以参数化客户端请求、将请求排队或者记…

使用opencv的Sobel算子实现图像边缘检测

1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题,也是经典的技术难题之一。如何快速、精确地提取图像边缘信息,一直是国内外的研究热点,同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…

VMware----基于 VMware 玩转 CentOS 虚拟机创建、克隆以及配置后台运行

查看原文 文章目录 一、安装 Vmware二、创建 CentOS7 系统的虚拟机三、克隆虚拟机四、设置虚拟机后台运行 一、安装 Vmware (1)打开VMware下载地址页面,滑动页面,找到如下界面,点击【下载】 (2&#xff…

基于VGG-16+Android+Python的智能车辆驾驶行为分析—深度学习算法应用(含全部工程源码)+数据集+模型(三)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建3. 模型训练及保存1)模型训练2)模型保存 4. 模型生成1)模型导入及调用2)相关代码(1)布局文件(2&#xff…

Python 实现:OCR在图片中提取文字(基于Gradio实现)

Paddle OCR PaddleOCR 基于深度学习技术实现的,使用十分简单。 先看效果 可以看出来识别效果还是不错的,里面的“湿”字识别成了繁体字。如果不是连体字,就不会出现这个问题。 1.测试环境 操作系统:Win10 Python:3…

【Linux】dump命令使用

dump命令 dump命令用于备份文件系统。使用dump命令可以检查ext2/3/4文件系统上的文件,并确定哪些文件需要备份。这些文件复制到指定的磁盘、磁带或其他存储介质保管。 语法 dump [选项] [目录|文件系统] bash: dump: 未找到命令... 安装dump yum -y install …

ros2+在Ubuntu上安装gazebo

Binary Installation on Ubuntu(Ubuntu上binary方式安装gazebo) Harmonic binaries are provided for Ubuntu Jammy (22.04) and Ubuntu 24.04 (when its released). (在Ubuntu22.04或者24.04上都是安装Harmonic版本的gazebo)The Harmonic binaries are…

【Stm32-F407】全速DAP仿真器下载程序

文章内容如下: 1) 全速DAP仿真器简介2) 全速DAP仿真器下载程序流程 1) 全速DAP仿真器简介 1)全速DAP仿真器简介 DAP全称 Data Acquisition Processor,是一种用于数据采集和实时控制的设备。本文使用的全速DAP仿真器遵循ARM公司的CMSIS-DAP标准&#xff…

2023-12-18 最大二叉树、合并二叉树、二叉搜索树中的搜索、验证二叉搜索树

654. 最大二叉树 核心:记住递归三部曲,一般传入的参数的都是题目给好的了!把构造树类似于前序遍历一样就可!就是注意单层递归的逻辑! # Definition for a binary tree node. # class TreeNode: # def __init__(se…

企业微信旧版-新版网络连接错误,无法登录的解决方案

一.企业微微信无法登录故障 二.解决方案 1.网上的解决方案 **检查网络连接:**确保你的计算机正常连接到互联网。尝试打开其他网页,以确保网络连接正常。 **防火墙和安全软件:**某些防火墙或安全软件可能会阻止企业微信的正常连接。请确保你…

MyBatis运行原理和步骤

MyBatis运行原理 MyBatis框架在操作数据库时,大体经过了8个步骤: 1.读取 MyBatis 配置文件:mybatis-config.xml 为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,例如数据库连接信息。 2.加载映射文件&…

详解git pull和git fetch的区别

git pull和git fetch的区别, 网上人云亦云胡说八道的实在是太多了,误导我很久。 今天看到一个说得好的,记录一下。 前言 在我们使用git的时候用的更新代码是git fetch,git pull这两条指令。但是有没有小伙伴去思考过这两者的区别呢&#xff…

人工智能原理课后习题(考试相关的)

文章目录 问答题知识表示一阶谓词逻辑表示法语义网络表示法 确定推理谓词公式永真和可满足性内容归结演绎推理 不确定推理主观贝叶斯可信度方法证据理论 搜索策略机器学习 问答题 什么是人工智能? 人工智能就是让机器看起来像人类表现出的智能水平一样 人工智能就是…

十四、YARN核心架构

1、目标 (1)掌握YARN的运行角色和角色之间的关系 (2)理解使用容器做资源分配和隔离 2、核心架构 (1)和HDFS架构的对比 HDFS架构: YARN架构:(主从模式) &…

Qt/C++音视频开发60-坐标拾取/按下鼠标获取矩形区域/转换到视频源真实坐标

一、前言 通过在通道画面上拾取鼠标按下的坐标,然后鼠标移动,直到松开,根据松开的坐标和按下的坐标,绘制一个矩形区域,作为热点或者需要电子放大的区域,拿到这个坐标区域,用途非常多&#xff0…