admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:重载和方法重写的区别)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.9

(22)申请日 2013.05.20

(71)申请人 南京师范大学

地址 210046 江苏省南京市亚东新城区文苑路1号

(72)发明人 窦万峰 史玉梅 白晓东

(74)专利代理机构 南京知识律师事务所

代理人 李媛媛

(51)

G06F9/45

权利要求说明书 说明书 幅图

(10)申请公布号 CN 103268246 A

(43)申请公布日 2013.08.28

(54)发明名称

一种分布式结对编程交流中的自动

干预方法及其装置

(57)摘要

本发明属于计算机领域的结对编程

模式应用于教育领域的交叉领域,涉及一

种分布式结对编程交流中的自动干预方法

及其装置。本发明针对结对交流中出现不

相容问题提出了一套方法体系,具体包

括:采用效用函数量化结对交流过程;引

入强化学习模型分析结对交流中的学习机

制并预测交流行为的变化趋势;构建基于

结对交流过程的干预方法与策略;还公开

实现方法的系统装置。本发明将为通过分

布式环境下结对学习的用户提供方法指

导、及时有效的干预策略以及实施自动干

预子系统的保证性;可以促进分布式结对

编程实践的有效实施,为人们的网络交流

学习提供便利,同时,为网络环境中的协

作交流提供参考模式。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种分布式结对编程交流中的自动干预方法,其特征在于,包括如下步骤:

步骤1,采用效用函数计算导航员的结对效用;

步骤2,将强化学习模型引入分布式结对编程中预测交流行为趋势;

步骤3,针对分布式结对编程中出现或即将出现的不相容行为,构建实时干

步骤4,提供实现自动干预子系统的环境装置。

2.根据权利要求1所述的一种分布式结对编程交流中的自动干预方法,其

步骤11:日志Agent从共享服务器的日志中获取与交流指标相关的数据,

并通过计算,得到当前导航员的交流行为指标:通信频率ft

率πt

特征在于,所述步骤1的具体过程包括:

预模型与方法;

驾驶员的代码生产

步骤12:通过捕获几组指标数据,根据公式计算 出函数中的参

数a、b、c,确定实时效用函数π,其中a、b、c是函数类型中的

未知参数,ft是导航员的通信频率;

步骤13:根据公式获取最大效用πmax和最佳通信频率f′。

3.根据权利要求2所述的一种分布式结对编程交流中的自动干预方法,其

特征在于,所述步骤2的具体过程:根据强化模型公式计算

出下一期的策略选择概率Pt+1,并根据预测的策略推断出通信

其中,Pj(t+1)表示第

频率ft的变化趋势,

t+1期导航员选择策略j的概率;uj(t+1)表示第t+1期

导航员选择策略j的倾向;∑μ(t+1)表示第t+1期导航员对所有策略的倾向总

和。

4.根据权利要求3所述的一种分布式结对编程交流中的自动干预方法,其

特征在于,所述步骤3中,模型的干预过程包括:

步骤31:根据效用函数和强化学习模型提供的条件判断是否需要干预,如

果当前的效用既不在正常效用范围内也不在效用敏感范围内,或者当前的效

效用敏感范围内,那么需要干预;否则,不需要干预; 用在

步骤32:根据情况采取具体干预措施,

第一种情况是进行事后干预:

(1)若πt<πmax-Δ-λ,并且ft<f′,那么需要采

取增加通信次数的干预 策略,如果是第一次干预,则在导航员本

那么这次将弹出惩罚窗口;地弹出警告窗口;如果已经被警告过,

(2)若πt<πmax-Δ-λ,并且ft>f′,那么需要采

取减少通信次数的干预 策略,如果是第一次干预,将在导航员本

次将弹出惩罚窗口; 地弹出警告窗口;若已经被警告过,这

第二种情况是进行预防性干预:

(1)若πmax-Δ-λ≤πt≤πmax-Δ+λ,ft

<f′并且预测到下期的通信频率

增大通信频率的警告窗口;

(2)若πmax-Δ-λ≤πt≤πmax-Δ+λ,ft

>f′并且预测到下期的通信频率

减小通信频率的警告窗口;

第三种情况是不加干预:若πt∈(πmax-Δ+λ,

πmax),那么就不需要采取干预

一次循环中;

其中,Δ是为了确定能够容忍的最小效用;λ是为了进一步限定最小效用附

5.根据权利要求4所述的一种分布式结对编程交流中的自动干预方法,其

步骤41:日志agent通过采集器从会话日志中实时捕获日志中的数据并将

其放到日志缓存队列中,再把数据传递给干预构造器;

特征在于,所述步骤4的具体过程包括:

近的效用情况。

策略,程序将转到下

将增加,那么将在导航员本地弹出

将减小,那么将在导航员本地弹出

步骤42:日志分析器计算出通信频率ft、结对效用和下一期选择某种

策略

步骤43:当需要干预时,从聊天存储中获取具体的干预措施,这些措施包

警告策略1={{积极交流哦!}{尚需努力,继续加油!}};

警告策略2={{交流比较频率,注意别影响效率哦}{注意把握交流的分寸!}};

惩罚策略1={您的通信次数太少,将被扣除1分};

惩罚策略2={您的交流过于频繁,将被扣除1分};

步骤44:干预构造器根据分析器提供的结果和聊天存储提供的策略,做出

6.如权利要求1所述一种分布式结对编程交流中的自动干预方法的装置,

相应的干预决策,并将干预决策发送给XP服务器。

括:

的概率;

其特征在于,包括硬件部分和软件部分,硬件部分包括:共享一台服务器的

客户端、鼠标、键盘和显示器;软件部分:在集成XPairtise

台中增加日志Agent,通过日志Agent不断监督

志Agent中编写相应程序,构造对

块最终实现干预。

两个

插件的eclipse平

日志并获取日志信息,通过在日

结对过程的干预策略,再通过服务器的指令模

说 明 书

技术领域

本发明属于计算机领域,具体涉及一种针对分布式结对编程中的自动干预方

背景技术

分布式结对编程(Distributed Pair Programming,简称DPP)是结对编程

变体,是指两个程序员不在同一地点,通过协同编辑器,共享桌面,或远

程结对编程的IDE(Integrated development environment,简称IDE)插件进行

的结对编程。这种编程模式也能够达到面对面结对编程的效果,可以获取更

代码质量,减少完成学习任务的时间,增加编程的自信心和编程的愉

时,这是一种在虚拟环境下进行结对编程的灵活方式。它不仅

学生进行结对编程,而且解决了结对者的时间冲突,地

结对者之间的协作交流。此外,伴随着网络技术

术实现分布式结对编程,这将为人们的网

的一种

法及其装置。

高的

悦感等。同

可以让身处异地的

理位置限制等问题,方便

的迅速发展,能够利用计算机技

络学习与协作提供便利。

目前,国内外学者主要从实验验证的角度研究DPP的有效性或研究支持DPP

功能需求的编程工具,而针对由于不能有效交流而导致结对不相容,进而导

对效果低下的问题,很少有学者研究如何及时发现这些问题并快速找

案,即缺少对交流问题的干预研究。如果不能有效解决结对交

将会阻碍结对编程的顺利进行,降低结对的有效

与应用。

致结

到解决方

流中的不相容问题,

性,并且不利于结对编程的扩展

发明内容

本发明的目的是提出一种解决分布式结对编程中问题的方法和装置,即自动

本发明所述自动干预方法,包括:采用效用函数计算导航员的结对效用;将

强化学习模型引入DPP过程中进行预测交流行为趋势;针对分布式结对编

现或即将出现的不相容行为,构建实时干预模型与方法;提供

统的环境装置。

干预方法及其装置。

程中出

实现自动干预子系

具体地说,包括:

a)采用效用函数计算导航员的结对效用,主要技术方案是为:首先从日志

中获取导航员的各个会话开始时间结束时间以及时间段

内导航员 发送的消息数ni以及该会话期间驾驶员编写的代

当前时间为tm,码行数ri。假设这是第m次会话,

那么导航员在此段时间内的“通信频率”为

f=Σ<

mrow>i=1m

sub>ni/(

Σi=1<

mi>m-

1(t

i>i-

ti)

>+(tm

>-

tm)

o>)---

(a.1)

w>

驾驶员的“代码生产率”为

π=Σ

>i=1m

ri/(

er>Σi=1

>m-

1(t

i>i-

ti)

>+(tm

>-

tm)

o>)---

(a.2)

w>

根据公式(a.1)和公式(a.2)提供的数据,计算出效用函数中的参数a、b、c,

π=a×f2+b×f+c (a.3)

效用函数公式(a.3)对自变量f求一阶导数,并令

df=<

mn>0---

(a.4)

w>

从而确定效用函数

可以计算出该效用函数的达到最大值时的通信频率f′,相应地可以获得最

b)采用强化学习模型预测结对交流行为趋势,要根据强化模型公式

pj(

t+1)=

row>μj(t<

mo>+1)Σμ<

/mi>(t+1)

>---

(b.1)

w>

计算出下一期的选择某种策略的概率,进而能够判断交流行为的变化趋势。

在(b.1)中,pj(t+1)表示第t+1期导航员选择策略j的概率;

t+1期导航员选择策略j的倾向;∑μ(t+1)表示第

向总和。

大结对效用指标πmax,即πmax=π(f′)。

uj(t+1)表示第

t+1期导航员对所有策略的倾

c)构建干预模型。首先根据效用函数和强化学习模型提供的条件判断是否

需要干预,若πt∈[πmax-Δ-λ,πmax-

Δ+λ]&&πt∈[πmax-Δ+λ,πmax],或

πt∈[πmax-Δ-λ,πmax-Δ+λ],那么需要进行干

预。

同时,规定πt∈[πmax-Δ-λ,πmax-Δ+λ]为“效

用敏感范围”,如果效用在

警告干预策略;规定

该范围内,需要根据预测出的通信频率趋势采取

πt∈[πmax-Δ+λ,

πmax]为“正常效用范围”。其中“Δ”是为了确定能够容忍的最

小效用;“λ”则是为了进一步限定最小效用附近的效用情况。对“Δ”和“λ”

的值,用户也可以根据自身需求而提前设定,系统默认值:Δ=5,λ=2。

用所在范围进行干预,要进行的干预行为分为两种情况: 根据效

第一种是事前干预,这种干预是根据当期的“结对效用”对当前结对状况进

行干预。如果不在效用正常范围和敏感范围内,那么需要采取相应的干预措

并根据“通信频率”的大小而向导航员发送具体的惩罚消息,即在导航

系统中自动弹出窗口,其内容就是让导航员增加或减少通信次

施,

员的本地

数。

第二种是预测性干预,这种干预不仅需要当前的效用值判断范围,同时要根

据强化学习模型预测的通信频率变化趋势采取具体的干预措施,以防患于未

如果当期效用在敏感效用范围内,再根据下一期通信频率的趋势来确

取干预策略。若需要干预,系统会自动触发干预事件,将其发

效调整和控制结对中的交流,提高导航员的结对效用。

然。

定该如何采

送给导航员,以有

本发明用于分布式结对编程的装置,包括硬件环境:共享一台服务器的两个

客户端,鼠标、键盘和显示器是每个客户端独占的;软件环境:在集成

插件的eclipse平台中增加日志Agent,通过Agent不断监督日

息,通过在Agent中编写相应程序,构造对结对过程的

的指令模块最终实现干预。

XPairtise

志并获取日志信

干预策略,在通过服务器

本发明的技术特点及有益效果:

(1)本发明提出的效用函数,是对结对交流过程的量化分析,使人们从量化

角度去了解结对编程交流过程,为更加科学地量化和验证结对效果奠定了基

础。

(2)本发明引入强化学习模型预测结对交流行为趋势,不仅有利于人们对结

(3)本发明构建的干预子系统模型,为实现自动干预子系统提供理论指导;

其中的干预策略,将有助于解决结对交流中的不相容问题,调整结对者的交

为,促进结对编程顺利进行。

对交流中的学习机制的了解,而且增强对结对编程的作用机理的认识。

流行

(4)本发明提供的结对装置,为人们应用分布式结对编程与学习提供了保

附图说明

图1是实现干预子系统的流程图;

图2是基于分布式结对交流过程的ARP学习模型;

图3是实施自动干预子系统的结对装置图。

具体实施方式

证,促进分布式结对编程的推广和应用。

以下结合附图对本发明作具体说明。应该指出,所描述的实施例仅视为说明

实施例1:

的目的,而不是对本发明的限制。

本发明的实例提供了一种面向分布式结对编程交流过程的干预方法及环境

步骤101:日志Agent从共享服务器的日志中获取与交流指标相关的原数据,

并通过计算,得到当期导航员的交流行为指标“通信频率”ft和驾

生产率”πt

装置,具体的干预过程如图1所示,包括以下步骤:

驶员的“代码

步骤102:确定实时效用函数。通过捕获几个时间点的指标数据,根据公式

步骤103:根据公式(a.4)获取最大效用πmax和最佳通信频率f′。

步骤104:根据强化模型公式计算出下一期的策略选择概率p(t+1),并

根据预

具体采用强化模型的方式,如图2所示:

步骤201:根据当前的效用与参考点的大小,计算出下一期的参考点值,其

步骤202:计算出当前的效用的奖励,即效用与参考点的差值。

步骤203:通过函数E,将奖励转化成强化强度。

步骤204:根据步骤202和步骤203,计算出下一次选择策略j的倾向,其

中,初始倾向μ(0)=0.713,遗忘参数φ=0.089,强化分配参数ε=0.025,

ω+=0.532,ω-=0.736,技术参数v不考虑。

中初始参考点ρ(0)=0。

测的策略推断出通信频率ft的变化趋势。

(a.3)计算出函数中的参数,从而确定实时效用函数。

权重

步骤205:计算出下一期选择策略j的概率。

下面继续图1中的流程:

步骤105:根据步骤103和步骤104提供的条件,判断是否需要干预。若

πt∈[πmax-Δ-λ,πmax-

Δ+λ]&&πt∈[πmax-Δ+λ,πmax],或

πt∈[πmax-Δ-λ,πmax-Δ+λ],那么需要干预;

否则,不需要干预。

步骤106:根据情况采取具体干预措施。

第一种情况是进行事后干预。

(1)若πmax-Δ-λ≤πt≤πmax-Δ+λ,且

ft<f,那么需要采取增加通信 次数的干预策略。如果是第

被警告过,那么这次

一次干预,则在导航员本地弹出警告窗口;如果已经

将弹出惩罚窗口。

(2)若πt<πmax-Δ-λ,且ft>f′,那么需要采取

减少通信次数的干预 策略。如果是第一次干预,将在导航员本地弹出

次将弹出惩罚窗口。 警告窗口;若已经被警告过,这

第二种情况是进行预防性干预。

(1)若πmax-Δ-λ≤πt≤πmax-Δ+λ,ft

<f′并且预测到下期的通信 频率将减小,那么将在导航员本地弹出增大通信

频率的警告窗口;

(2)若πmax-Δ-λ≤πt≤πmax-Δ+λ,ft

>f′并且预测到下期的通信

频率的警告窗口。

第三种情况是不加干预。若πt∈(πmax-Δ+λ,

πmax),那么就不需要采取干

计算中。

实例2:

为了实现分布式结对编程中能够实时干预,我们设计与开发了一套分布式结

步骤301:agent通过采集器从“会话日志”中实时捕获日志中的数据并将

步骤302:日志分析器主要根据设定的规则进行分析,依次计算出“通信频

步骤303:当需要干预时,从聊天存储中获取具体的干预措施,这些措施包

警告策略1={{积极交流哦!}{尚需努力,继续加油!}};

警告策略2={{交流比较频率,注意别影响效率哦!}{注意把握交流的分

寸!}};

括:

率”、“结对效用”、“下一期选择某种策略的概率”等;

其放到日志缓存队列中,再把数据传递给干预构造器;

对编程的干预系统装置,如图3所示。

预策略,程序将转到下一次的监督

频率将增加,那么将在导航员本地弹出减小通信

惩罚策略1={您的通信次数太少,将被扣除1分};

惩罚策略2={您的交流过于频繁,将被扣除1分}。

步骤304:干预构造器根据分析器提供的结果和聊天存储提供的策略,做出

步骤106中的干预决策,并将干预决策发送给XP服务器。


本文标签: 结对 干预 交流 编程

更多相关文章

译林版选修二英语单词

9月前

年月日发(作者:和)译林版选修二英语单词【引入】随着我国英语教育的不断发展,越来越多的教材和资源涌现出来。其中,译林版选修二英语教材为广大师生所喜爱。这套教材内容丰富,结构合理,有利于提高学生的英语综合能力。今天,我们就来学习一下其中的重点

英美文学-中英文对比[整理版]

9月前

年月日发(作者:手机编程软件合集)-比得英吉利人教会史阿尔弗雷得大帝-盎格鲁—萨克逊编年史威廉·兰格伦农夫比埃斯的梦杰弗里·乔叟(?)悼公爵夫人特罗伊拉斯和克莱希德坎特伯雷故事集声誉之宫托马斯·马洛里爵士’亚瑟王之死菲利普·锡德尼爵士诲淫的

多线程并发的书籍

9月前

年月日发(作者:开发工具安卓版)多线程并发的书籍以下是多线程并发的相关书籍:.《多线程编程核心技术》:这本书比较基础,写的比较细,代码示例比较多,包含了线程的基础使用、线程锁的使用(和)、单例模式、定时任务、线程组的相关概念,可以当做工具书

学习编程的最佳电脑配置

8月前

年月日发(作者:移动数据库的步骤)学习编程的最佳电脑配置在当今数字化时代,编程已经成为了一项非常重要的技能。无论是从事软件开发、数据分析、网络安全还是人工智能等领域,学习编程都是必不可少的。而要学好编程,一个优秀的电脑配置是必备的。今天我就

关于少儿编程相关政策

8月前

年月日发(作者:播放本地视频)关于少儿编程相关政策少儿编程是指面向儿童开展的计算机编程教育活动,旨在培养儿童的创新思维、逻辑思维和问题解决能力。随着信息技术的飞速发展,少儿编程逐渐成为了全球教育领域的热门话题。对于少儿编程,许多国家和地区已

16位转换为10进制

4月前

年月日发(作者:除数为怎么处理)位转换为进制在计算机科学中,十六进制是一种常见的数据表示方式,因为在计算机内部,数据是以二进制形式存储的,而十六进制可以方便地转换为二进制,因此在计算机编程中经常会用到十六进制。然而,在日常生活中,我们更习惯

几种常用的Linux编程工具介绍

3月前

年月日发(作者:语言函数的头文件)几种常用的编程工具介绍系统中提供了许许多多的编程工具,包括:.编辑工具、中提供了各工具,分离用于大型软件的编译,和编译前按照机器当前状态作相应配置。编程工具开发工具包:在下提供了优秀的库函数、函数库、函数库

Windows PowerShell实用教程

3月前

年月日发(作者:编程课件)

functional函数对象回调函数

3月前

年月日发(作者:使用技巧例)函数对象回调函数函数式编程()是一种编程范式,它将计算过程视为函数的应用。函数式编程强调函数是“第一等公民”,函数可以作为参数传递给其他函数,也可以作为返回值返回。这使得函数可以灵活地组合和复用,使编程过程更加简

全面理解非易失存储器

3月前

年月日发(作者:读音)全面理解非易失存储器(,,)非易失存储器概论作者:,翻译:(,):@前言本文论述了基本非易失存储器()的基本概念。第一部分介绍了的基本情况,包括的背景以及常用的存储器术语。第二部分我将介绍怎样通过热电子注入实现的编程。

SINUMERIK MC Safety Integrated 开机调试手册说明书

3月前

年月日发(作者:编程中国下载)

电子工程师英语

3月前

年月日发(作者:设置图片)电子专业英语!!电子专业英语!!..,交流平衡指示器..,交流电桥..,交流电流校准器..,交流电流失真..,交流激电仪..,交流电位差计..,交流电阻箱..,交流标准电阻器..,交流电压校准器..,交流电压失真,

《Python程序设计》教案pdf

3月前

年月日发(作者:图像处理教学视频)《程序设计》教案教案:程序设计一、教学内容本节课的教学内容来自《程序设计》教材的第五章节,主要内容包括:.了解编程的基本概念和环境搭建。.学习的基本语法,包括变量、数据类型、运算符、条件语句和循环语句。.掌

数控技术复习题一

3月前

年月日发(作者:分式的原码补码反码)第一章概论.什么是计算机数控技术()计算机数控技术是利用计算机采用数字指令信号对机电产品或设备进行控制的一种自动控制技术.与传统机床相比,数控机床具有哪些特点?自动化程度高,加工精度高,生产率高,对工件的

CNC编程考核题

3月前

年月日发(作者:命令)杭州创晶辉精密模具有限公司职员转正测试题(编程)姓名:公司部门:职务:得分:一、判断题(每题二分、共三十分)、刀具半径补偿是一种平面补偿,而不是轴的补偿。()、固定循环是预先给定一系列操作,用来控制机床的位移或主轴运转

程序设计语言种类

3月前

年月日发(作者:法国小组第二)程序设计语言种类程序设计语言是计算机编程的基础,根据不同的应用需求和编程风格,人们开发出了各种不同类型的程序设计语言。这些程序设计语言可以根据其不同的特点和用途进行分类,下面将介绍几种常见的程序设计语言种类。.

程序法知识点总结

3月前

年月日发(作者:面试个经典题)程序法知识点总结一、计算机基础知识.计算机体系结构:硬件单位、主要组成部分、各个部分的功能和工作原理等。.数据表示:二进制、十进制、十六进制等进制转换,数据的存储表示和编码方式。.计算机网络:网络结构、协议、传

PlC常用三种编程语言的比较

3月前

年月日发(作者:怎么开通微信小程序店铺)常用三种编程语言的比较可编程控制器()是使用微电脑技术制造的自动控制的电子设备。它以顺序控制为主,回路调节为辅。能完成逻辑判断、定时、记数和算术运算、联网等功能。随着的发展,其功能越来越多,集成度越来

c语言编程操作步骤 -回复

3月前

年月日发(作者:中文版)语言编程操作步骤-回复【语言编程操作步骤】是指使用语言进行程序设计时的一系列步骤和操作方法。下面将按照这些步骤逐一进行讲解,帮助读者更好地理解和掌握语言编程。一、编写程序前的准备工作在开始编写语言程序之前,我们需要做

编程发展史

3月前

年月日发(作者:什么是逗号运算符)编程发展史编程发展史:从命令行到程序员的世界计算机编程是计算机科学最基本的领域之一。它从简单的机器语言发展到现代高级编程语言。随着技术的不断发展,编程也逐渐演变成一个复杂的领域,需要专业的程序员来完成任务。

发表评论

全部评论 0
暂无评论