精华内容
下载资源
问答
  • 人机交互期末复习

    千次阅读 2020-11-09 14:12:57
    什么是交互设计: 设计支持人们日常工作和生活的交互式产品 人类通信和交互空间的设计,寻求支持人类的方法 创新式的用户体验,旨在增强和扩充人们的工作、通信和交互的方式 原型 关于原型:原型设计不仅是技术...

    人机交互期末复习

    交互设计【交互设计简介】

    交互设计的中心问题

    按照需要支持或扩充的用户活动选择适当的方法和技术,以优化用户系统环境或产品之间的交互。

    什么是交互设计

    设计支持人们日常工作和生活的交互式产品

    人类通信和交互空间的设计,寻求支持人类的方法

    • 创新式的用户体验,旨在增强和扩充人们的工作、通信和交互的方式

    原型

    关于原型:原型设计不仅是技术问题,且主要取决于使用上下文

    原型

    对产品概念的形象化具体化,是设计师构思的体现

    不是产品,是产品的一种近似或者受限的表示

    作用:用户可以通过与之交互来探索其使用(有用性、可用性)

    原型的形式

    • 草图/线框图
    • 故事串联图版,一系列类似卡通的场景
    • 纸板原型
    • ppt
    • 一段模拟用户如何使用系统的video
    • 木制模型
    • 有限功能模拟软件

    为什么要建立原型

    答:评估设计,发现问题

    因为:

    1. 与文档相比,更容易观察和与原型进行交互
    2. 有效的交流
    3. 设计思想

    界面隐喻

    使用一件事情来描述另一件事情(WIMP,窗口、图标、菜单、指示器),利用存在领域的知识来描述新领域的现象

    是以现实世界存在的事物为蓝本,对界面组织和交互方式进行比拟,将人们对这些事物的知识运用到人机界面中来,从而减少用户的认知学习过程,是用户界面设计的基本思想/指导思想。

    隐喻的主要使用方式:

    • 概念化正在做的事的方式(对界面使用流程的隐喻)【例如,打电话的使用流程】
    • 在界面上实例化概念模型(对界面内容的隐喻)【例如,电话的图标以现实中的电话为蓝本】
    • 可视化操作的方式(对界面交互动作的隐喻)【例如,在在线购物网站上,把希望购买的商品放入购物车的图标中】

    人机交互的目标

    用户界面的有效使用使用效果,以及用户对系统的反映是人机交互研究的中心内容。

    基于活动的交互方式

    交互设计的4个基本活动

    • 识别用户需要并建立需求(设计需理解Who、What、Where,但因为各种限制,用户的需要不一定能完全实现)
    • 设计候选方案(概念设计、物理设计)
    • 建立设计的交互式版本(开发系统原型)
    • 评估设计(评估设计或者产品是否满足某些预定义的评估标准)

    整个过程是一个螺旋上升的迭代式

    交互泛型??

    交互泛型(metaphor)可提供概念建模的具体化指导

    • 交互泛型(可用性泛型、界面泛型),即是实践中成功的开发实例,被认为增强了应用的可用性

    如果说隐喻是物理实例,那么交互泛型是成功的设计实例

    • 是先进交互技术的典范,可用来具体化概念模型

    多年来,交互设计研究主要集中于基于PC的桌面应用

    PC代表了孤独的、不自然的交互方式

    • 创建了一个虚拟环境将人类与自然界相隔离
    • 用户与虚拟环境的交互方式仅是貌似与自然界的交互,实际相差甚远
    • 无法对用户的现实世界活动提供直接的支持

    为什么PC的I/O设备必须是鼠标、键盘和屏幕?

    如何使交互走出桌面成为当前泛型研究的一个重要趋势

    • 硬件须能感知物理刺激,并与实际物理对象或工具相结合
    • 软件须能处理感知信息(感知计算),并能实现转换

    无处不在的计算(ubiquitous computing)

    The most profound technologies are those that disappear. Thy weave themselves into the fabric of everyday life until they are indistinguishable from it.

    无处不在的计算并非指到处都有计算机,可随时使用,而是指计算技术与物理环境之间无缝对接

    • 使用无需任何学习和准备——编织入生活的纤维
    • 使用不再引起认知上的注意——消失了的技术

    普适计算

    无处不在的计算在家用电器和移动设备上的应用或拓展

    最新的研究进展是如何感知上下文信息来支持用户的活动

    可穿戴计算(wearable computing)

    一种移动计算类型,将各种显示、通信等设备嵌入衣着

    实物用户界面(Tangible User Interface)

    通过结合信息与物理对象,允许用户“捉取和操作”信息

    旨在填补数字空间和物理空间的鸿沟,集中于利用物理对象表示输入操作

    增强现实(augmented reality)

    将虚拟信息与现实重合,允许用户感知实际世界

    对现实世界的补充或增强(数字特异功能),而非取代它

    一个AR系统一般具有三个特征:

    1. 真实对象和虚拟对象在真实环境中的结合
    2. 交互并实时的运行
    3. 真实对象和虚拟对象相互之间准确重合(对位)

    旨在增强用户的感知能力并对实际世界任务提供支持

    上下文感知计算(context-aware computing)

    通过感知用户和环境的状态,自动支持用户的行为

    各种传感器可捕获用户的手势、表情等,据此预测用户的需要,并作出相应的反应

    如,眼球追踪设备通过检测用户的视线活动实现自动导航

    计算机支持的协同工作(computer-suppored cooperation work, CSCW)

    传统HCI研究和实践集中于单用户、单机

    网络、交互技术、多媒体的发展导致个人之间协作的出现

    允许多个用户通过计算机进行合作

    认知的类型

    认知分为两种模式

    1. 经验式认知(experiential cognition mode)
      • 可以有效并毫不费力的感知到周围发生的事情,并对其作出反应
      • 表示了一种熟练的行为模式,依赖于过程式知识和训练
    2. 思考式认知(reflective cognition mode)
      • 比较、对比、思考和决策时的思维方式
      • 表示了创新思维的来源,依赖于说明式知识

    两种模式都是人类行为不可或缺的,但具有不同的特征

    如果产品要对人类活动提供支持,则需要不同类型的技术

    认知的概念框架

    对交互设计具有指导作用的理论模型

    • 心理模型【将认知看成是在世纪世界的抽象模型上的计算或者规划过程】
    • 信息处理【面向过程的建模方法】
    • 外部认知【环境中的信息和结构】

    这些模型从不同的角度,描述人机交互过程中用户的心理学特征或活动

    可用性设计的原理、作用

    Nielsen, et al提出的10个主要的可用性原理

    1. 系统状态的可视性,在适当的时候应提供适当的反馈,以便用户随时掌握系统的运行状态
    2. 系统应与真实世界相符合,使用用户的语言,也就是使用用户熟悉的词汇、惯用语和概念,而不是面向系统的术语
    3. 用户的控制和自主权,提供标记醒目的紧急出口,便于用户退出异常状态
    4. 一致性和标准化,避免用户无法确定不同的词汇(或情景、动作)是否具有相同含义的情形
    5. 帮助用户识别和诊断错误,使用简明的语言,描述问题的本质并推荐解决方法
    6. 预防出错,应尽可能预防错误的发生
    7. 依赖识别而非记忆,使得对象、动作和选择项清晰可见
    8. 使用的灵活性和有效性,提供一些用户不可见的快捷键,以便有经验的用户快速执行任务
    9. 最小化设计,避免使用无关或极少使用的信息
    10. 帮助及文档,提供易于检索、便于用户逐步学习的帮助信息

    设计原理和可用性原理均可表示为更明确的限制,即规定,也就是设计时应遵循到的指导原则

    可用性即交互式产品易于人类用户使用

    • 传统的设计通常只考虑了如何实现系统的功能而忽略了最终用户如何使用,导致难以使用的问题
    • 交互设计旨在从用户角度出发,将可用性引入设计过程:本质上是如何开发易用、有效和令人满意的产品

    可用性目标

    可用性指易于使用并令人满意,具体可分为:

    • 有效使用(effective to use),系统需要满足的一般目标,系统对用户任务的支持程度
    • 高效使用(efficient to use),熟练用户的使用效率,即完成的任务和所使用的资源(时间、步骤等)之间的比率,熟练用户能否维持高效率?
    • 安全使用(safe to use),避免在危险场合使用(人体工程学相关问题),尽量避免用户出错,减少出错率并易于恢复,系统能否避免用户出错、出错以后能否易于恢复?
    • 良好的实用性(have good utility),系统提供的功能和用户的需要之间的匹配程度
    • 易于学习(easy to use),系统允许初学者在短时间内达到有效使用和最大效率
    • 易于记忆如何使用(easy to remember how to use),系统允许用户回忆(recall)其使用方法

    对于支持工作实践的商用系统,满足可用性尤为重要

    建立可用性目标的目的是对系统的可用性进行度量

    • 可用性准则(criteria):是可用性目标的一种度量表示形式

    内部表示、外部表示(对人类有什么启示、作用)

    评估可能会发现两个方面的问题:

    • 设计问题:原型与指定概念模型不一致(内部的不一致)
    • 建模问题:概念模型与用户需要不一致(内部和外部的不一致)

    社会机制

    交互设计需要考虑几种类型的意义(存在疑惑)

    自己的回答:

    交互设计是个复杂的问题,通常不存在最佳的解:

    • 因此,解决方案没有绝对的好、坏之分,需要利弊权衡
    • 唯一的方法是让用户测试设计原型,对设计决策的可用性做出评估

    任务描述

    提供面向任务的解释(面向用户)

    • 早期:用作验收测试的评估标准(基准任务)
    • 应用于整个开发过程

    不同的任务描述方法:

    • 情节(一种非线性的叙事性描述【又称用户故事】)
    • 用例(描述用户和系统的交互)
    • 基本用例(仅是描述业务信息,描述中不会出现System,Click Button等字眼)

    迭代设计(原因、类型、概念)

    交互设计是一个迭代的过程

    交互设计原则中的4项活动

    每一遍的迭代都是对上一遍的求精或者细化,直到满足用户需要为止

    评估可能会发现两个方面的问题:

    • 设计问题:原型与指定概念模型不一致(内部的不一致)
    • 建模问题:概念模型与用户需要不一致(内部和外部的不一致)

    无论哪种类型的设计问题,均需要进行迭代设计:

    • 对于设计问题,需要按照概念模型改进界面和交互设计
    • 对于建模问题,需要进一步提取用户信息,求精假设或者提出新的用户需要假设,并据此改进概念模型

    概念模型是用户需要和原型设计之间的桥梁

    1.一方面,必须满足支持用户任务的需要

    2.另一方面,又必须满足技术应用的需要

    演化式设计

    表示一种演化式(evolutionary)原型开发方法。迭代所产生的原型形成了下次迭代的基础,实际产品被看成是从有限的初始版本到最终产品的演化,迭代的遍数受限于可利用的资源(时间、人员、经费等)

    该模型也表示了交互设计3个基本特征

    • 用户为中心的设计
    • 迭代
    • 评估依赖于可用性目标,过程的结束取决于原型是否满足预定的可用性准则

    至此唯一未说明的是如何建立原型的交互式版本。界面(软/硬件)原型构造和系统功能仿真(代码实现)

    交互设计的适用周期、基本活动

    交互设计原则上包括4项活动

    1. 标识需要并建立需求
    2. 开发满足需求的一些候选设计方案(现实问题就是有多解的,对不同约束的侧重,就产生了多个候选方案)
    3. 构建交互式原型(prototype),以便进行通信测试和评估
    4. 评估整个过程的设计结果

    这些活动通常相互之间具有联系,且本身是迭代过程

    交互设计原则中的4项活动

    交互设计的目标

    目标:期望一个活动或过程执行后达到的状态

    交互设计的目标:(设计的产品在交互设计方面应满足的性质)

    • 理解用户需要的同时,应明确设计的目标
    • 设计目标形成了对设计进行评估

    交互设计的目标可以分为两类:

    • 可用性目标:与特定可用性标准相关的性质,有效性、一致性等
    • 用户体验目标:与用户的主观感受相关的性质,挑战性、艺术性等

    记事本开发过程中有哪几种数据收集技术、以及用户如何使用……

    数据收集的方法和技术:来自社会科学的各个领域。包括:

    • 问卷调查
    • 访谈
    • 专题组或者研讨会
    • 自然观察
    • 研究文档

    此过程中也可以借助各种道具,如模拟场景、原型

    技术 适用情形 数据类型 优点 缺点
    问卷调查 回答特定问题 定量及定性数据 使用资源少,调查人数多 问卷设计很关键,回答率可能不高,也可能答非所问
    访谈 深入研究问题 有一些定量数据,主要是定性数据 必要时可引导访问者,可促进开发者和用户沟通 耗时,人为环境可使被访问者感觉不自在
    专题组和研讨会 收集多方观点 有一些定量数据,主要是定性数据 可突出一致和不一致的观点,可促进开发者和用户沟通 讨论可能由少数人主导
    自然观察 理解用户活动的环境 定性数据 观察实际工作能够提供细节,其他技术无法做到 非常耗时,数据量巨大
    研究文档 了解过程、规则和标准 定性数据 不占用用户时间 实际工作可与文档不符

    上下文(什么是情节)的概念

    用户上下文:用户、任务、环境

    理解用户(即使用上下文)的重要性

    • 用户、任务和使用环境都具有特殊的性质
    • 可用的设计必须满足这些特性

    用户体验

    可用性和用户体验目标

    可用性用户体验目标:可用性目标是交互设计的核心,它采用的是明确的衡量标准。图的外圈代表用户体验目标,其定义并不是那么明确

    用户过程

    交互设计应采用以用户为中心的设计思想:

    • 可用的设计可减少学习、培训和支持的时间和代价
    • 可用的设计使得用户集中在他的任务执行上,而不至于分心
    • 可用的设计可提高工作有效性,减少出错几率,并让人满意

    用户做什么的信息来源于使用上下文

    • 用户,直接/间接用户,他们的特征和能力,关系和结构等
    • 任务,简单/复杂任务,任务的特征、结构、目标等
    • 环境,物理/社会/技术环境,组织目标和结构,软/硬件设施等

    使用上下文决定为什么需要技术,以及技术需要支持什么

    以用户为中心设计的基本特征

    • 用户参与设计并深入理解使用上下文的需求

      用户参与有助于帮助他们理解我们的技术能为他们做什么

      有助于我们理解用户的目标和任务

    • 任务在用户和系统之间的合理分配

      多数任务无法由系统自动化完成,需要一个合理分配

      任务分配不仅是物理上的,更是心理任务的分配

    • 评估为基础的迭代设计

      需求是潜在的,需要在用户评估的基础上探索和发现

      用户通过使用系统原型来完成实际任务

      从实验中得到的反馈信息用于下一遍迭代

    一个交互设计过程模型

    交互设计过程模型

    什么是产品的功能性

    即产品必须完成的工作

    设计一个产品需要哪几种交互方式

    选择何种交互方式

    • 交互方式:用户与系统交互时如何触发系统的动作
    • 取决于用户的活动,即如何使用产品来完成任务(建立需求的过程)
    • 交互方式类型:
      • 基于活动的模式:指令、会话、操作与导航、探索与浏览
      • 基于对象的模式

    用户任务的多样性:需要提供不同交互方式

    需要为交互的不同部分采用不同的交互方式

    基于对象的交互模式:信息和操作表示的视角

    • 通常是有关物理(或虚拟)对象及厝的屏幕模拟
    • 选择何种对象作为建模的基础与相应的界面隐喻相关

    思维模型

    def:是人凭借外部活动逐步建立起来并不断完善着的基本的概念框架概念网络。是思维活动特征的总和或者整体。它体现了主体能动地反映客体的一种符号性能力,是主体改造客体的某种规则。

    基本用例、用例

    用例(Use Case)

    对情节进行抽象

    用例:描述用户和系统的交互

    • 描述待开发系统的用法,不包括非技术的活动
    • 采用用户的观点

    定义:按照UML,用例是一个系统执行的动作序列(包括替换序列)集合,对行为者产生可观察的结果。行为者就是人类扮演的角色或其他系统。

    用例图:在UML中,用例图用于表示行为者和用例之间的关联

    具体用例的描述:使用事件流(或动作序列)来指定用例的行为

    • 正常事件流
    • 异常事件流

    用例的争论

    基本用例

    低保真 高保真model

    低保真原型

    def:与最终产品不太相似的原型

    • 草图、纸板等
    • 优点:简单、廉价、易做、易改、适用于不同方案
    • 作用:设计初期,探索设计思想

    高保真原型

    def:更接近于最终产品,使用了相同的材料

    存在着一些问题:(改动成本高)

    • 所需时间长
    • 评估者易于集中在表面问题,忽略问题本质
    • 一个错误就可能中断整个测试过程
    • 开发者不愿意修改花很多时间建立的模型
    • 作用:后期与其他人交流设计和测试技术问题
    类型 优点 缺点
    低保真原型 •开发成本低
    •可评估多个设计概念
    •是有用的交流设施
    •可解决屏幕布局问题
    •适用于识别市场需求
    •可证明设计概念
    •可捕获的错误有限
    •不能作为详细规范用于指导编程
    •受制作介质的影响
    •对可用性测试的作用有限
    •不便于说明过程流
    高保真原型 •包含完整功能
    •完全可交互
    •用户驱动的
    •明确定义了过程流
    •适用于详细设计和测试
    •可获得最终产品的使用体验
    •可作为详细规范
    •可作为销售的支持工具
    •开发成本高
    •制作耗时
    •不能有效证明设计概念
    •不适合于收集需求

    概念设计几个问题

    将需求转换为一个概念模型

    概念模型的定义

    • 既可表示用户对系统的理解,也可是设计者对系统的设计
    • 即从用户角度,采用他们的概念描述系统/界面的设计

    概念模型描述 what,而非机制 how

    概念设计的输入为需求集合,输出为概念模型

    • 不存在一个良定义的方法能将需求转换为 the best 或 good enough 的概念模型
    • 可行的方法:研究收集的数据,建立原型,反复迭代

    以下是一些指导性策略

    • 除需求外,需考虑与使用上下文相关的数据
    • 与其他参与者讨论设计思想和概念

    1. 开发概念模型的三个方面

    概念建模的三个方面:

    • 交互方式,对用户的活动提供支持
    • 界面隐喻,使用户易于理解产品的使用
    • 交互范型,为具体化概念模型提供了指导

    选择何种交互方式

    • 交互方式:用户与系统交互时如何触发系统的动作
    • 取决于用户的活动,即如何使用产品来完成任务(建立需求的过程)
    • 交互方式类型:
      • 基于活动的模式:指令、会话、操作与导航、探索与浏览
      • 基于对象的模式

    用户任务的多样性:需要提供不同交互方式

    需要为交互的不同部分采用不同的交互方式

    基于对象的交互模式:信息和操作表示的视角

    • 通常是有关物理(或虚拟)对象及厝的屏幕模拟
    • 选择何种对象作为建模的基础与相应的界面隐喻相关

    选择合适的界面隐喻

    界面隐喻:结合用户熟悉的只是和新只是邦族用户理解产品

    选择界面隐喻的三个步骤:

    1. 理解系统的功能性
    2. 识别系统的那些方面会给用户带来问题
    3. 发现用户所熟悉的对象并建立相应的界面隐喻

    评估界面隐喻:

    • 是否具有结构?
    • 与问题的相关程度?
    • 是否易于表示?
    • 是否容易被理解?
    • 是否具有可扩充性?

    选择交互范型

    交互范型:技术在交互设计中的成功应用

    采用 WIMP 界面的桌面范型、无处不在计算、普适计算、可穿戴计算、实物界面、增强现实等。

    环境需求是选择交互范型的一个重要因素。

    2. 充实概念模型

    选择交互方式、隐喻和范型后,获得一个概念模型框架

    建立原型并让用户测试前,框架需要充实或扩展。例如,确定合适的交互技术以及适当的输入/输出设备

    决策依赖于系统的需求和限制,主要依赖于用户需求和环境需求的影响。

    在此基础上,需要确定交互的内容:

    • 用户和产品之间需要交换什么概念
    • 这些概念之间存在什么关系
    • 如何结构化表示这些概念

    具体而言,需要确定的内容包括:

    1. 产品将执行什么功能
      • 明确产品将支持的用户任务
      • 需要将任务在用户和产品之间进行分配,确定产品和用户分别应当做什么
    2. 任务分配:复杂,在需求和限制之间进行权衡
    3. 如何分配也需要考虑用户的认知能力和协作需求
    4. 情节、用例和层次任务分析有助于解决任务分配问题
    5. 另一问题:功能如何在软件和硬件之间分配

    功能之间如何相互关联

    • 执行的顺序关系:串行和并行
    • 串行:一个动作的完成限制或依赖另一个动作的完成
    • 并行:相同或类似的动作
    • 层次任务分析有助于解决此类问题

    3. 在概念设计中使用情节

    4. 在概念设计中使用原型

    建立原型旨在评估设计思想。原型应能让用户体验到产品将如何支持他们的任务

    在原型中:包括了某些初步的吴丽丽设计信息

    • 操作和信息表示的具体内容 (菜单、按钮、消息框)
    • 旨在给用户提供信息,使得他们可以和原型交互

    使用这些卡片对潜在的用户做非正式的测试

    ??通信的方式有几种

    按照所交换信息的性质,通信可以是

    • 交流思想、传达消息、联络感情、下达命令

    按照个体之间的协调方式,通信可以采用

    • 同步方式:交流思想,联络感情
    • 异步方式:传达消息,下达命令

    人类通信基于三方面的要素

    • 语法:言语或手势等的结构
    • 语义:语法结构所表达的含义
    • 语用:通信对参与者形成的效果
    展开全文
  • UML 交互

    千次阅读 2012-07-14 09:53:03
    UML 交互图 (顺序图、通信图、鲁棒图、定时图)   2010-12-23 作者:佚名 来源:网络    交互交互图  交互的概念  一次交互就是指在特定语境中,为了实现某...
    UML 交互图 (顺序图、通信图、鲁棒图、定时图)
     

    2010-12-23 作者:佚名 来源:网络

     

       交互与交互图
       交互的概念
       一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为

       消息
       UML中的4种交互图
       顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹
       通信图:UML 2.0中的通信图实际上就是UML 1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹
      定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序
      交互概述图:是交互图和活动图的混合物
      如何阅读交互图
       阅读顺序图

    顺序图的主要元素

    对象与角色:最顶上一排矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代表现实世界中的某个东西。例如,aOrder作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order的任何一个实例。

    生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在

    消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引起的动作是用一个通过对计算过程的抽象而得到的可执行语句(就是方法头)。

       消息分为五种:调用、返回、发送、创建和销毁
       调用:表示调用某个对象一个操作

    顺序编号(第几步的编号):整个消息的传递过程就形成了一个完整的序列,因此通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。除了顺序编号之外,还可以采用嵌套方案:

    读图小结

    第1步 在dispatchForm(分发窗体)中,对于某个已支付的Order进行分发时,就会调用该订单(一个Order类的实例对象aOrder)的dispatch()方法。

    1.1 dispatch()方法将逐个调用 [for each orderitem] 该Order对应的所有OrderItem对象的getPeddleryId()方法获取供应商ID 1.2(PeddleryId),1.1.1 而OrderItem对象则是通过其所对应的Product对象来的getPeddleryId()方法来获取供应商ID 。

    1.2当Order的实例对象aOrder得到返回的PeddleryId后,根据该值判断是否已经有相对应的DeliverOrder对象【if PeddeleryId Not Exist】,如果没有就创建它(调用 1.3 create(PeddleryId)),然后再将对应的Product添加到这个DeliverOrder对象中。[else ] 1.4否则就直接添加到相应的DeliverOrder对象中。

    嵌套,由左向右,由上向下

    循环与分支

       交互片断操作符
       片段就是指上面的框,
       左上角是片段操作符
       assert(断言)
       一定会发生
       交互片断操作符assert是用来表示内容所描述的行为是执行过程中那个时刻唯一的有效行为。如果执行到这个片断的前面,则说明该片断就一定会发生。它通常和ignore或consider一起使用,以断言某种特定种类的消息行为

    break

       条件复合跳出?交互片断操作符break和循环语句的break有点类似,通常break用来定义一个含有监护条件的子片断。
       如果监护条件为“真”则执行子片断,而且不执行包含子片断的图中其它交互将不会执行,也就是跳出去;
       如果监护条件为“假”,那么执行将正常地继续进行

    critical

       连续性的事物性的操作
       表示该子片断是“临界区域”,在临界区域中生命线上的事件序列不能够和其它区域中的任何其他事件交错。通常用来表示一个原子性的连续操作,例如事务性操作

    par

       同时执行
       用来表示“并行”的,也就是用来表示两个或多个并发执行的子片断,并行子片断中单个元素的执行次序可以以任何可能的顺序相互操作

    ref

       引用另一个片段到此处
       在一个交互图中,我们可以引用其它的交互图,其表示的方法是用一个矩形,加上ref操作符,并写明引用的交互图名称即可


    表示法
    表示法
    类图
    class
    对象图
    object
    包图
    package
    用例图
    use case
    顺序图
    sd
    通信图
    comm
    定时图
    timing
    活动图
    activity
    交互概观图
    intover
    状态机图
    statemachine
    构件图
    component
    部署图
    deployment

    阅读通信图

    通信图就是把顺序图竖起来去看,关注了访问关系。

    通信图主要元素

    链:连接器,是用来表示对象之间的语义连接,一般而言,链是关联的一个实例(包括《association》、《self》、《global》、《local》等)。不过在UML 2中已经开始弱化它们的使用,因此除非必要,无需过多地考虑它们

    消息编号:消息的编号有两种,一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系(类似,1.3.2 )

    迭代标记:用*号表示,表示循环,通常还有迭代表达式,用来说明循环规则

    监护条件:通常是用来表示分支的,也就是表示“如果条件为true,才发送消息”

    在通信图中使用监护条件一定要有所限制,通常应只列出主要的监护条件,否则会影响其阅读。如果需要,尽可能还是通过顺序图来表示

    如何绘制交互图

    准备工作

    首先根据自己的喜好和实际的表现需要来选择顺序图或通信图。不过由于它们在语义上是等价的,因此可以绘制出一种,再通过建模工具来自动转换成另一种图

    分析模型中的交互图彻重于分析类的职责分配和交互流程,而设计模型中的交互图则彻重于设计类的引入和实际方法的调用与流程控制

    先确定参与交互的对象、对象之间的关系(通信图),然后确定对象间的消息交互流程(用同步调用、异步消息、返回消息表示),并利用交互片断(顺序图)或迭代标记及监护条件来表示循环和分支结构

    鲁棒分析

    鲁棒图可以很多的解决需求分析和架构设计之间的差别。更详细的说明请看最后的解释。

    Robustness分析不是UML模型的一部分,它是一个强大的草图工具,是介于分析和设计之间的一种有效工具

    在Robustness分析中,将应用边界类、控制类和实体类,分别对应MVC 架构的3个层

    从一个用例中抽取三类对象的方法

    鲁棒分析—从事件流开始

    下面是用例描述

    鲁棒分析—寻找边界对象

    图书管理员向系统发出“新增书籍信息”请求——主窗口、“新增书籍信息”按钮

    系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类——书籍类别列表框。

    图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号——“新书信息录入”窗口及辅助的“提交”按钮

    鲁棒分析—寻找控制对象和实体对象

    新添两个逻辑:

    一 是基本事件流中的步骤2、3要求根据用户选择的类别,自动获得书号;

    二 是当书名重复性检查没有通过(有重名),则应返回要求其重输

    构建交互模型

    转换成通信图

    走到这里,我们已经能够知道,MDA的建模顺序,是先用例图,用例描述,鲁棒图,鲁棒顺序图(通信图),类图,数据库设计图

    交互图应用说明

    交互模型的类型与演变

    分析阶段的交互模型

    工作方法:针对用例图中的每个用例,并结合领域模型中的类,寻找分析类,并通过Robustness分析来理清业务逻辑流程,再用交互模型将其确定下来

    注意:主要关注于区分出边界对象、实体对象和控制对象,暂时不要考虑其具体的实现类

    说明:对于较复杂的用例,可以按上述的流程逐渐地进行分析、设计、实施;但对于比较简单的用例而言,也是可以直接从用例描述中导出设计阶段交互模型

    分析阶段的交互模型之后

    引入基础类:包括基础框架、程序库等

    质量评审:

    -- 低耦合:耦合性是指两个类之间的连接强度

    -- 高内聚:内聚性是指一个类的属性与方法高度集成

    -- 效率:解决方案的执行效率是否满足系统的需求

    -- 完整性:是指在任何环境下都可以重复使用

    -- 简单性:类越简单,出错的可能性越小,系统的灵活性和可维护性也越好

    优化类设计:阅读 《设计模式与重构》

    设计阶段的交互模型 & 交互建模要点

    在分析模型的基础上引入基础类、优化类设计之后,必然会获得新的类模型(类图)(设计模型),因此就可能需要基于新引入的“设计类”来更新交互模型,以获得与实际代码相吻合的模型

    给出一个能表达其目的的名称;通过修改元素的布局,尽量避免交叉线的存在;可以通过注解和颜色作为可视化提示,以突出图形中的重要特性;尽量少用分支,对于分支很多的场景,可以考虑用活动图来补充

    定时图(时序图)

    定时图与顺序图的区别

    坐标轴交换了位置,改为从左到右来表示时间的推移(生命线颠倒)

    用生命线的“凹下凸起”来表示状态的变化,每个水平位置代表一种不同的状态,状态的顺序可以有意义、也可以没有意义

    生命线可以跟在一根线后面,在这根线上显示些不同的状态值

    可显示一个度量时间值的标尺,用刻度表示时间间隔

    展开全文
  • 交互题(一)

    千次阅读 2018-07-29 10:24:01
    普通交互题 UR #10 世界线 有一个长度为n的排列A,而你需要求出它 你可以进行两轮实验,每轮开始有一个2n个点的图,且有边,每轮实现分为两个部分,第一个部分你可以在的定点间连一些边,,第二个部分你可以询问...

    普通交互题

    UR #10 世界线

    • 有一个长度为n的排列A,而你需要求出它
    • 你可以进行两轮实验,每轮开始有一个2n个点的图,且有边(i, A_i+n),每轮实现分为两个部分,第一个部分你可以在[1,n]的定点间连一些边,,第二个部分你可以询问[n+1,2n]的顶点间的联通关系。
    • 加边和询问的数目都不得超过2\cdot 10^6
    • n \le 10^4

    每个联通块内的点都是不可区分的

    试着采用连通块大小传递一些信息

    如果在两轮种都给每一个i分配不同的大小,就可以区分开来

    第一次连所有横边,知道了纵坐标大小

    第二次连所有竖边,知道了横坐标

    如何把图分为若干个联通块?

    联通块数目只有2\cdot \sqrt{n}级别,暴力即可

    对于每个联通块询问一次即可

    加边是O(n)

    IOI2014 Game

    • Bob有一个图,Alice想向Bob询问这个图是否完全连通,但Alice每次只能询问一条边是否存在,Bob想最大化Alice的询问数,简单来说,Bob需要让Alice至少问n \cdot \dfrac{n-1}{2}次,且在这之前Alice都无法确定图是否完全连通,为此Bob甚至可以在Alice询问之前更改图,但不能违背之前的回答
    • 你需要按Bob来回答交互库Alice的询问
    • n \le 1500

    代码很好写

    #include "game.h"
    int c[1600];
    void initialize(int n){}
    int hasEdge(int u,int v){if(u<v)u=v;return ++c[u]==u;}

    Secret

    • 交互库给出一个加法运算(满足结合律但不一定满足交换律),给出一个序列A,每次询问一个区间求区间和(使用交互库中的加法运算)
    • 要求一次询问只能调用一次加法运算,且初始化过程中调用加法运算的次数不超过8000.
    • N \le 1000, M \le 10^4

    首先此题不能用树状数组,只能用线段树(没有减法运算)

    建立一个线段树,不维护区间和,对于每个区间节点维护中点向前的前缀和与向后的后缀和

    Oath

    • 给一个运算,有结合率,有一个序列刚开始为空,有三个操作:
    1. 在某个版本的序列末尾添加一个元素得到新版本
    2. 在某个版本的序列末尾删除一个元素得到新版本
    3. 询问某个版本的序列区间做运算的结果
    • 每个询问只允许调用一次运算
    • 交互库会根据调用运算的次数生成数据(比如交互库检测到你删除所用的操作较多,就会生成一坨删除操作来把你卡掉)
    • m \le 3\times 10^5

    据lzz所说他写了19K的交互库就为了卡掉各种时间复杂度不是期望的算法(

    很显然这是一道强制在线的题目,所以....

    一个显然的想法就是建线段树(很容易炸)

    如果只有插入,没有删除的时候这个复杂度是对的

    但是有了删除之后复杂度就变成均摊的了,就可以卡掉,使得变成非均摊

    可以把2号操作变成查询历史版本

    可以把3号操作变成询问某个版本的后缀和

    用Treap维护

    每个节点维护向左的后缀和与右子树和

    加节点为O(1)

    Treap有旋转,旋转的时候直接把子树暴力重构一下,子树期望大小是log n

    Treap是重量平衡的

    插入节点的时候直接把右子树加上这个节点就可以了

    Treap是个期望数据结构,所以不会被卡,重构的概率非常低

    通信题

    定义:有两个程序,第一个程序获得一些输入,处理出一些格式的信息给第二个程序,第二个程序获取这些信息和一些输入,输出询问所求的答案

    有损信息压缩

    • 对长度为10000的英文文章进行压缩再解压,加密前和加密后的字符都是小写字母和" ",",","."。传输过程中每一个字符有\dfrac{1}{10}的概率损坏

    做法比较诡异(lzz说的)

    字符集为29,看成0~28

    每18位一组,传29位过去

    接收方只要在29位中保留了18位就能还原

    把18位看成一个17次多项式,28位就相当于点值

    只要知道18个点值就可以插值插回这个多项式

    正确率?

    考虑单个损坏超过9位的概率,总正确率是99.44\%

    US Camp 16

    • N张卡片传输信息,每张卡片可能朝上或者朝下,传输过程中可能整体颠倒,求传输信息量和构造方案
    • N \le 60

    US Camp 17

    • N张卡片传输信息,每张卡片可能朝上或者朝下,传输过程中可能把最下面一张放到上面(只放一次),最大化传递信息数目
    • N \le 22

    对于每个串考虑循环节

    如果循环节是奇数

    把这个串右移2位,4位,6位,以此类推

    最小表示法的思想

    Coins

    • 给一个8 \times 8的棋盘,编号从063,每个格子上有一个硬币,你可以翻转至多1枚硬币,传输一个063之间的整数

    Amusement Park

    • Alice和Bob会获得同一张无向图(点和边的编号都相同),此外Alice还会获得一个[0,2^{60})的整数X,Bob获得他现在的位置P
    • 现在Alice必须在一个点上放一个Bit,而Bob可以移动不超过120次并获得经过的所有点上Alice放的Bit.
    • Alice需要把X发送给Bob。
    • 60 \le N \le 10000; M \le 20000

    先求最小生成树

    从根开始随便找一个大小为60的联通块,DFS

    Goodbye Yiwei E新年的贺电(UOJ178)

    • 传输一个大小为2^{10}2^{32}\rightarrow 2^{10}的map

    一个显然的做法就是取一个比较大的模数,大概在10^6

    把map看成多项式

    插值插回去即可

    大概能获得40~50分

    展开全文
  • 前后台交互加密方式

    千次阅读 2019-04-29 18:03:36
    一、登录机制 粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。... 登录认保持是指客户端登录后, 服务器能够...容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每次请...

    一、登录机制

    粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认。 登录认保持是指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器。登出是指客户端主动退出登录状态。容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每次请求资源时都带上sessionId。

    simple_flow

    1.1 登录验证

    上述简易的登录验证策略存在明显的安全漏洞,需要优化。

     

    1.1.1 密码的传输

    客户端第一次发出登录请求时, 用户密码以明文的方式传输, 一旦被截获, 后果严重。因此密码需要加密,例如可采用RSA非对称加密。具体流程如下:

    • 客户端向服务器第一次发起登录请求(不传输用户名和密码)。
    • 服务器利用RSA算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。
    • 客户端收到公钥后, 加密用户密码, 向服务器发起第二次登录请求(传输用户名和加密后的密码)。
    • 服务器利用保留的私钥对密文进行解密,得到真正的密码。

    1.1.2 登录状态token

    再仔细核对上述登录流程, 我们发现服务器判断用户是否登录, 完全依赖于sessionId, 一旦其被截获, 黑客就能够模拟出用户的请求。于是我们需要引入token的概念: 用户登录成功后, 服务器不但为其分配了sessionId, 还分配了token, token是维持登录状态的关键秘密数据。在服务器向客户端发送的token数据,也需要加密。于是一次登录的细节再次扩展。

    • 客户端向服务器第一次发起登录请求(不传输用户名和密码)。
    • 服务器利用RSA算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。
    • 客户端收到公钥后, 加密用户密码,向服务器发送用户名和加密后的用户密码; 同时另外产生一对公钥和私钥,自己保留私钥, 向服务器发送公钥; 于是第二次登录请求传输了用户名和加密后的密码以及客户端生成的公钥。
    • 服务器利用保留的私钥对密文进行解密,得到真正的密码。 经过判断, 确定用户可以登录后,生成sessionId和token, 同时利用客户端发送的公钥,对token进行加密。最后将sessionId和加密后的token返还给客户端。
    • 客户端利用自己生成的私钥对token密文解密, 得到真正的token。

    login

    1.2 登录保持

    在最原始的方案中, 登录保持仅仅靠服务器生成的sessionId: 客户端的请求中带上sessionId, 如果服务器的redis中存在这个id,就认为请求来自相应的登录客户端。 但是只要sessionId被截获, 请求就可以为伪造, 存在安全隐患。

    引入token后,上述问题便可得到解决。 服务器将token和其它的一些变量, 利用散列加密算法得到签名后,连同sessionId一并发送给服务器; 服务器取出保存于服务器端的token,利用相同的法则生成校验签名, 如果客户端签名与服务器的校验签名一致, 就认为请求来自登录的客户端。keep_login

     

    1.3 TOKEN失效
    用户登录出系统

    失效原理:
    在服务器端的redis中删除相应key为session的键值对。

    二、 散列算法

    散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。

    散列算法可以用来加密token生成签名, 以便token信息不暴露在网络同时还能验证登录的有效性。

    2.1 md5

    全写: Message Digest Algorithm MD5(中文名为消息摘要算法第五版)

    输出: 128bit

    MD5算法具有以下特点:
    1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
    2、容易计算:从原数据计算出MD5值很容易。
    3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
    4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
    5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。

    缺陷:
    Md5一度被认为十分靠谱。
    2004年8月17日的美国加州圣巴巴拉的国际密码学会议(Crypto’2004)上,来自中国山东大学的王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,公布了MD系列算法的破解结果。
    2009年,冯登国、谢涛二人利用差分攻击,将MD5的碰撞算法复杂度从王小云的2^42进一步降低到2^21,极端情况下甚至可以降低至2^10。仅仅2^21的复杂度意味着即便是在2008年的计算机上,也只要几秒便可以找到一对碰撞。
    Md5已老, 在安全性要求较高的场合,不建议使用。

    2.2 sha1

    全名: 安全哈希算法(Secure Hash Algorithm)
    输出: 160bit

    2.2.1 与Md5比较

    相同点:
    因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似。
    不同点:
    1. 对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操作,而对SHA-1则是2^160数量级的操作。这样,SHA-1对强行攻击有更大的强度。
    2. 对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。
    3. 速度:在相同的硬件上,SHA-1的运行速度比MD5慢。

    2.3 加盐

    所谓加盐, 就是在原本需要加密的信息基础上,糅入其它内容salt。签名的生成就是一次加盐。

    三、对称加密

    本系统使用对称加密对用户密码进行加密以及生成token字符串。

    3.1 AuthCode加密

    AuthCode是康盛科技发明的加密方式, 开源产品Discuz的密码是用这个算法进行加密。但是有点遗憾,这个函数所有权属于康盛创想,并不能自由使用的。不知使用是否有风险??

    3.2 AES加密

    高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

    四、非对称加密

    RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。RSA的安全基于大数分解的难度。其公钥和私钥是一对大素数(100到200位十进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。

    算法描述:

    (1)选择一对不同的、足够大的素数p,q。
    (2)计算n=pq。
    (3)计算f(n)=(p-1)(q-1),同时对p, q严加保密,不让任何人知道。
    (4)找一个与f(n)互质的数e(公钥指数),且1<e<f(n)。
    (5)计算d(私钥指数),使得de≡1 mod f(n)。这个公式也可以表达为d ≡e-1 mod f(n)
    注,≡是数论中表示同余的符号。
    (6)公钥KU=(e,n),私钥KR=(d,n)。
    (7)加密时,先将明文变换成0至n-1的一个整数M。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:
    (8)解密过程为:

    展开全文
  • 一、人机交互基础知识 人机交互学:是一门研究人、计算机以及他们之间相互联系的方式(交互...为什么学习人机交互? 从市场角度:用户容忍度降低 从企业角度:提高生产效率,降低成本 从个人角度:提高可用性,获...
  • 人机交互的目的:从尊重用户的角度来改善用户和计算机之间的交互,从而使计算机系统更加容易使用。 人机交互的研究内容 人机交互界面的表示模型与方法 可用性分析与评价 多通道交互技术 认知与智能用户界面 群件 ...
  • Lua与ObjC的交互

    千次阅读 2016-12-21 18:15:19
    在这里,我想跟大家分享另外一种脚本语言的交互方式,就是使用Lua与原生的ObjC语言进行交互
  • 深入理解Java虚拟机-垃圾回收器与内存分配策略

    万次阅读 多人点赞 2020-01-04 13:08:32
    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来。 文章目录概述对象已死吗引用计数可达性分析算法再谈引用生存还是死亡回收方法区垃圾收集算法标记-清除...
  • 1. Learning Human-Object Interaction Detection using Interaction Points 1.1 总述 大多数现有的HOI检测... 网络会预测交互点,这些交互点可以直接对交互进行定位和分类。与密集预测的交互向量配对,这些交互与人
  • 人的感知:通过人体器官和组织进行人与外部世界的信息的交流和传递,人机交互主要通过人的感知来完成,主要包括视觉感知(80%)、听觉感知和触觉感知。 1.视觉(第二版 P10) (1)视觉是人类最重要的感觉通道,...
  • 1. 什么是语音交互? 语音交互(VUI)指的是人类与设备通过自然语音进行信息的传递。一次完整的语音交互需要经历ASR→NLP→Skill→TTS的流程: (1)ASR 用于将声学语音进行分析,并得到对应的文字或拼音信息。...
  • 读书笔记:《人机交互:以用户为中心的设计和评估(第2版)》 Humen-Computer Interaction:User Centered Design and Evaluation 原书作者:董建明/傅利民/Gavriel Salvendy 人机交互学(humen-computer ...
  • 交互图 (顺序图、通信图、鲁棒图、定时图) •交互交互交互的概念 •一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为 消息 UML中的4种交互...
  • 交互式系统中采用的调度算法

    千次阅读 2015-06-13 22:21:46
    1.轮转调度 (1)时间片轮转调度算法 CPU的时间分成一段一段的,每一段就是一个时间片,进程轮流使用时间片。示意图如下: (2)虚拟轮转 ...为了解决这个问题,提出了虚拟轮转,该算法的示意图如下:
  • 成本归集与分配

    万次阅读 2019-04-23 20:32:42
    一、归集与分配概念 1、成本归集:通过一定的会计制度以有序的方式进行成本数据的收集或汇总。例如制造费用按车间归集。 2、成本分配:将归集的间接成本分配给成本对象,也叫间接费用的分摊。 3、成本的核算...
  • 默认情况下,当用户没有在 Windows 上执行任何输入(没有鼠标键盘等的输入...但是,如果这台电脑被用于进行一些自动化的测试,尤其是涉及到 UI 的交互操作时(比如,测试过程中用脚本操控鼠标来模拟点击一个按钮),...
  • 一、登录机制 粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。... 登录认保持是指客户端登录后, 服务器能够分辨出...容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每
  • TIA Portal实现动态加密的高阶玩—分级催款密钥授权管理 然后很快就有朋友根据里面的思路实现了,很赞,不过提醒大家的是,我们分享的只是一些思路,不是让大家跟做某件事,请理性看待,不要陷入自己的思维蚕茧之...
  • 原文:How To Write, Deploy, and Interact ...摘要:本文作者以极长的篇幅给出了在私有区块链上编写、部署以及与以太坊进行交互的智能合约的较为完整的代码、相关细节步骤、用户界面等。作者是希望借助他这篇文章,
  • GSM 三种分配信道的方式讲解

    千次阅读 2012-10-20 22:34:01
     用于MS和网络建立信令流程链路,供上下行信令交互的。  若系统首先第一步就分配TCH,称为过早分配(VEA).  若首先分配SDCCH,需要时才分配TCH,称为预分配(EA)  若首先分配SCCH,且对方接通,收到connect...
  • 原始人的除引发的闲聊

    千次阅读 2013-11-23 19:34:37
    现在有多少人知道乘法和除是怎么一回事。Oh!NO!乘法口诀小学生都会,除是乘法...专业化的学校教育使得每个人,包括老师和学生,都认为自己的专业就是运算本身,至于为什么那样做,并不感兴趣。写下本文的过程是一
  • 借鉴欧氏空间中softmax的思路,引入仿射超平面作为决策边界,将每一个类别定义为一个超平面,超平面是由向量和超平面上的一点唯一决定的,而类别的概率是由节点到超平面的距离来度量的。 基于各自空间的softmax...
  • 有空用排除试试。目前,笔记本的wifi功能可正常使用。。。  执行:  sudo iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o wlan0 -j MASQUERADE  sudo iptables -t nat -A POSTROUTING -s 10.10....
  • 多无人机(UAV)协同任务分配

    万次阅读 多人点赞 2019-03-22 13:33:53
    多无人机协同任务规划即是根据一组特定条件的约束,以实现某个准则函数的最优或次优为目标,将某项作战任务分解成一些子任务并分配给多无人机系统中的各个无人机分别去完成的过程。 通常多无人机任务规划可以分成两...
  • 上篇说过,runqueue里的active和expired队列,一般的进程时间片用完后进expired队列,而对IO消耗的交互型进程来说,则会直接进入active队列中,保证高灵敏的响应,可见什么叫万千宠爱于一身了。 ...
  •  把这种针对“虚”“实”世界进行结合以及空间调整的能力进一步深化,虚拟的物体也可以开始与重建的场景进行动态交互,这种交互可通过模拟真实世界多方面的物理属性来实现。诸如游戏,机器人等许多类型的应用都可以...
  • 虽然游戏市场竞争激烈,产品格局变动较大,但游戏...研发团队对MMO游戏的探索从来未间断过,从付费模式的改变,到题材多元化,次时代的视觉效果,更成熟的玩及数值体系,本文主要针对跨服玩上的探索和实现做一些思
  • 微服务架构(一):什么是微服务

    万次阅读 多人点赞 2017-07-30 22:39:29
    解析微服务架构系列文章将分几...为什么需要微服务架构 “微服务”架构是近期软件应用领域非常热门的概念。让我们先来看看传统IT架构面临的一些问题:   使用传统的整体式架构(Monolithic Architecture
  • JVM:自动内存管理-垃圾收集器与内存分配策略

    千次阅读 多人点赞 2021-01-12 12:27:38
    1、引用计数、引用计数器的缺陷 2、可达性分析算法 3、再谈引用 三、垃圾收集算法 分代收集理论、标记-清除算法、标记-复制算法、Appel式回收、标记-整理算法 四、HotSpot的算法细节实现 五、经典垃圾收集器 六、...
  • Nginx玩 — 负载均衡

    千次阅读 2021-02-25 17:29:16
    首先我们需要弄清楚负载均衡的含义,负载均衡是通过算法实现平均分配的策略,将数据交互平均分担到集群中的各个服务中,从而提高整体对外服务的可用性,健壮性和性能等。 负载均衡是Nginx中较为重要的功能,常用于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,555
精华内容 21,422
热门标签
关键字:

交互分配法是什么