71、多问题双边重复谈判与人机协作模式识别的研究

多问题双边重复谈判与人机协作模式识别的研究

多问题双边重复谈判中的智能体设计

在多问题双边重复谈判场景中,设计一个能与人类玩家达成协议的智能体至关重要。智能体需要实时关注人类玩家在谈判中的行为,包括是否威胁智能体、是否接受之前的提议以及是否透露偏好等,以此做出合理决策。

实验设置
  • 谈判框架 :智能体基于交互式仲裁指南在线(IAGO)谈判框架构建,该框架可用于设计能与人类进行谈判的自动化智能体。
  • 谈判内容 :人类和智能体需就4种物品进行谈判,每种物品有5个。双方对这4种物品被赋予预先定义但不一定相同的价值,参与者最高可得50分。
  • 谈判规则 :每场游戏有3轮谈判,每轮限时3分钟。只有当所有物品都分配给智能体或人类参与者,或者谈判时间达到3分钟时,谈判才会结束。若时间到但未达成完整提议,即部分物品仍未决定归属,每个玩家将获得相当于其最佳替代协议(BATNA)的分数,BATNA是谈判失败且无法达成协议时参与者可采取的最有利替代方案。
  • 面临挑战
    • 游戏最多有3轮谈判,人类玩家可能选择不参与第三轮谈判,因此智能体需说服人类继续谈判,否则整体得分会减少。
    • 谈判开始时,双方的偏好信息是不完整的。
    • 人类的得分值和BATNA不会被透露。
智能体设计

智能体的主要目标是在3轮谈判后最大化总得分。其设计基于特定架构,结合了谈判智能体策略的三个不同组件:
1. 出价策略 :采用局部搜索算法,具体使用模拟退火和爬山两种技术。
2. 对手模型 :处理不完整信息,通过询问对手偏好并分析其行为来制定合适的提议。
3. 接受策略 :根据游戏模式的不同选项来决定是否接受提议。

以下是对各组件的详细介绍:
- 定义状态 :局部搜索算法的优势在于只需维护一个当前状态。状态包含以下内容:
- 目前分配给人类对手的物品。
- 目前处于谈判桌中间未决定的物品。
- 目前分配给智能体的物品。
- isThreatMe:一个布尔值,指示人类对手是否在当前状态之前威胁过智能体。
- lastOfferRejected:一个布尔值,指示智能体提出的最后一个提议是否被人类对手拒绝。
- toGive:一个0到1之间的有理数,指示智能体在生成新状态并想与对手分配问题时,应给对手更多还是更少的物品。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(目前分配给人类对手的物品):::process --> B(状态):::process
    C(目前未决定的物品):::process --> B
    D(目前分配给智能体的物品):::process --> B
    E(isThreatMe):::process --> B
    F(lastOfferRejected):::process --> B
    G(toGive):::process --> B
  • 奖励函数 :用于评估状态的启发式函数为:
    [f(S) = BATNA + \frac{1}{totalPointsOfFree + totalPointsOfOpponent}]
    其目的是最小化不属于智能体的问题的总分数,这些分数包括当前状态下谈判桌中间未决定物品的总分数(totalPointsOfFree)和目前分配给对手的物品的总分数(totalPointsOfOpponent)。每个参与者在一轮中获得的最低分数等于其当前轮次的BATNA。

  • 生成相邻状态 :大多数局部搜索算法是短视的,每次迭代只生成相邻状态。在生成相邻状态时,需要考虑人类对手可能离开的情况,并关注对手的行动和当前游戏状态。为此,在生成相邻状态时会考虑isThreatMe和lastOfferRejected这两个变量。

  • 爬山算法 :一种用于人工智能领域数学优化问题的局部搜索算法。该算法获取一个初始状态,在5个相邻状态中搜索局部最大值。具体实现如下:

def Hill-Climbing(state):
    if state != None:
        currentState = updateState(state)
    else:
        return Hill-Climbing(generateState(state))
    if len(stateList) >= 5:
        Smax = findMaxState(stateList)
        return Smax
    stateList.append(currentState)
    return Hill-Climbing(generateOffer(currentState))
  • 模拟退火算法 :一种受液体退火过程启发的概率/启发式方法。对原始模拟退火算法进行了微调以适应特定领域和需求。该算法运行直到结果的大小为5,即生成有限数量的状态,以确保算法执行时间较短。具体实现如下:
def Simulated-Annealing(state):
    currentStateUtil = getReward(currentState)
    curTemp = startTemperature
    while curTemp > endTemperature:
        for iteration in range(numberOfSteps):
            nextState = generateState(currentState)
            nextStateUtil = getReward(nextState)
            if maxState == None or nextStateUtil >= maxStateUtil:
                maxState = nextState
                maxStateUtil = nextStateUtil
        deltaE = maxStateUtil - currentStateUtil
        P = math.exp(deltaE / curTemp)
        if deltaE > 0 or P > random():
            currentState = maxState
            currentStateUtil = maxStateUtil
        if len(stateList) < 5:
            stateList.append(currentState)
        else:
            return stateList[len(stateList) - 1]
        curTemp = curTemp * getCool()
    return stateList
  • 对手模型 :在游戏设置中,通过在每轮谈判60秒后询问对手的偏好,一旦对手给出答案,智能体就会提出有利于对手的提议。同时,分析对手的行为,如拒绝提议和威胁等,以了解其谈判风格并提出合适的提议。
  • 接受策略 :接受提议的策略根据游戏模式有以下几种情况:
    • 只要时间允许,且人类没有威胁或疑虑,智能体将检查给自身的总出价价值是否大于或等于给人类的总出价价值。若是,则接受提议;否则,拒绝并根据当前策略提出反提议。
    • 若一轮还剩不到45秒,且智能体未达到最低目标,将允许更快地接收出价,甚至提出能结束游戏的出价以至少达到最低目标(BATNA)。
    • 最直接的方式是检查收到的提议是否比当前情况更好,通常在需要在短时间内接受更多物品时使用。
结果与分析

总共进行了40场游戏,每个人类对手分别与使用爬山算法和模拟退火算法的智能体各玩2场游戏。每场游戏生成3个图表,每个图表代表一轮谈判中智能体获得的总分数随时间的变化。结果表明,模拟退火算法优于爬山算法,能获得更高的总分数。模拟退火算法达到局部最大值的速度比爬山算法慢,但更稳定,因此在重复谈判中效果更好,且能战胜人类对手。

基于本体的反思性通信用于人机对新兴协作模式的共享识别

在人机协作中,人类和AI智能体需要不断了解彼此和任务。为了实现这一目标,提出了一种团队设计模式,利用人类和智能体团队伙伴行为的适应性,促使新的协作模式出现。

引言

越来越多的研究关注人机团队合作和人机协作,成功的团队成员需要不断学习彼此和任务,即共同学习。在混合人机团队中,人类和AI智能体的学习和适应方式不同,但在协作过程中会发生隐式的共同适应,从而产生新的团队行为,成功的新兴团队行为可称为“协作模式”。为了实现成功的共同学习,团队成员需要通过开发共享的协作模型来巩固和组织协作努力。

研究问题与解决方案

研究的问题是:什么样的模型和通信接口能使人机团队建立对新兴协作模式的共享识别?

提出了一种以本体形式存在的模型,以及一个配套的图形用户界面(GUI)。本体提供了共享的明确概念化,可用于通信和推理。GUI使伙伴能够形式化和细化协作模式,并将其传达给对方。

团队设计模式
名称 描述 结构
人机共同学习 当人类和自适应AI智能体作为团队伙伴协作时,双方会根据任务的动态变化不断调整行为,从而出现协作模式。团队成员识别出对任务有价值的协作模式,并将其传达给团队伙伴。通过共同反思该模式,双方可以对其进行细化或调整,直到就其价值和使用达成一致。该模式被定义并存储在共享本体中,双方都能明确知晓并在相关时使用。 -
评估与改进建议

通过让人类参与者观看人机联合活动的视频记录,要求他们识别视频中的协作模式,并使用本体的GUI对模式进行形式化。结果表明,本体能够支持人类成功识别和定义协作模式。为了改进本体,建议包括任务的前置和后置条件,以及团队成员的并行行动。

综上所述,在多问题双边重复谈判中,模拟退火算法是一种有效的出价策略;在人机协作中,基于本体的反思性通信有助于人机对新兴协作模式的共享识别和共同学习。

多问题双边重复谈判与人机协作模式识别的研究(续)

多问题双边重复谈判的深入探讨

在多问题双边重复谈判中,智能体的设计和策略选择对谈判结果有着至关重要的影响。下面我们将进一步分析模拟退火算法和爬山算法在不同场景下的表现,以及智能体在应对各种挑战时的策略优化。

算法性能对比分析

为了更清晰地展示模拟退火算法和爬山算法的性能差异,我们可以通过以下表格进行对比:
| 算法 | 达到局部最大值速度 | 稳定性 | 总得分表现 | 适用场景 |
| ---- | ---- | ---- | ---- | ---- |
| 爬山算法 | 快 | 较差 | 低于模拟退火算法 | 对时间要求较高,追求快速找到局部最优解的场景 |
| 模拟退火算法 | 慢 | 好 | 高于爬山算法 | 重复谈判,需要更稳定和高质量结果的场景 |

从表格中可以看出,爬山算法虽然能够快速找到局部最大值,但由于其短视性,容易陷入局部最优解,导致在重复谈判中表现不佳。而模拟退火算法虽然达到局部最大值的速度较慢,但通过引入概率机制,能够跳出局部最优解,在全局范围内寻找更优的解决方案,因此在重复谈判中具有更好的稳定性和总得分表现。

智能体策略优化

在面对人类玩家可能选择不参与第三轮谈判、信息不完整等挑战时,智能体的策略可以进一步优化。例如,在处理信息不完整的问题时,智能体除了在每轮谈判60秒后询问对手偏好外,还可以通过分析对手的历史行为数据,建立更准确的对手模型。具体步骤如下:
1. 收集对手在之前谈判中的所有行为数据,包括接受或拒绝的提议、提出的反提议等。
2. 对收集到的数据进行分类和整理,分析对手在不同情况下的行为模式。
3. 根据分析结果,建立对手的行为模型,预测对手在未来谈判中的可能行为。
4. 在谈判过程中,不断更新对手模型,根据对手的实时行为调整出价策略。

在说服人类玩家继续参与谈判方面,智能体可以采用以下策略:
1. 在谈判初期,通过提出公平合理的提议,建立良好的合作基础,增加人类玩家对继续谈判的信心。
2. 在谈判过程中,适时地向人类玩家展示合作的潜在利益,强调继续谈判可能带来的更高收益。
3. 当人类玩家表现出犹豫或拒绝继续谈判的迹象时,智能体可以提出一些额外的优惠条件或妥协方案,以吸引人类玩家继续参与。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(收集对手历史行为数据):::process --> B(分类整理数据):::process
    B --> C(分析行为模式):::process
    C --> D(建立对手行为模型):::process
    D --> E(预测对手未来行为):::process
    E --> F(根据实时行为调整策略):::process
基于本体的反思性通信的应用与拓展

在人机对新兴协作模式的共享识别中,基于本体的反思性通信具有重要的应用价值。下面我们将探讨其在实际应用中的具体场景,以及如何进一步拓展该方法。

实际应用场景

基于本体的反思性通信可以应用于多个领域的人机协作场景,例如:
1. 医疗领域 :在手术团队中,人类医生和AI智能体可以通过共享协作模式,更好地协调手术操作,提高手术成功率。例如,智能体可以根据医生的操作习惯和手术流程,提供实时的建议和支持。
2. 工业制造领域 :在生产线中,人类工人和AI智能体可以共同识别和优化生产流程中的协作模式,提高生产效率和产品质量。例如,智能体可以根据工人的工作节奏和设备状态,调整生产计划和任务分配。
3. 应急救援领域 :在灾害救援行动中,人类救援人员和AI智能体可以通过共享协作模式,更好地协调救援行动,提高救援效率和成功率。例如,智能体可以根据现场情况和救援人员的能力,提供最佳的救援方案和路径规划。

本体的进一步拓展

为了提高本体对协作模式的描述和识别能力,可以进一步拓展本体的内容。除了建议中提到的包括任务的前置和后置条件以及团队成员的并行行动外,还可以考虑以下方面:
1. 引入时间维度 :在本体中加入时间信息,描述协作模式的发生时间、持续时间等,以便更好地分析和预测协作模式的演变。
2. 考虑环境因素 :将环境因素纳入本体,例如工作场所的物理环境、社会环境等,分析环境因素对协作模式的影响。
3. 增加情感因素 :在人机协作中,人类的情感状态会影响协作效果。因此,可以在本体中加入情感因素,描述人类在协作过程中的情感变化,以及情感因素对协作模式的影响。

通过以上拓展,本体可以更全面地描述和识别协作模式,为人机协作提供更有效的支持。

综上所述,在多问题双边重复谈判中,通过优化智能体的策略和选择合适的算法,可以提高谈判的成功率和得分。在人机对新兴协作模式的共享识别中,基于本体的反思性通信具有广泛的应用前景,通过进一步拓展本体的内容,可以提高其对协作模式的描述和识别能力,促进人机协作的高效发展。

基于模拟退火的计算器 在线运行 访问run.bcjh.xyz。 先展示下效果 https://pan.quark.cn/s/cc95c98c3760 参见此仓库。 使用方法(本地安装包) 前往Releases · hjenryin/BCJH-Metropolis下载最新 ,解压后输入游戏内校验码即可使用。 配置厨具 已在2.0.0弃用。 直接使用白菜菊花代码,保留高级厨具,新手池厨具可变。 更改迭代次数 如有需要,可以更改 中39行的数字来设置迭代次数。 本地编译 如果在windows平台,需要使用MSBuild编译,并将 改为ANSI编码。 如有条件,强烈建议这种本地运行(运行可加速、可重复)。 在 下运行 ,是游戏中的白菜菊花校验码。 编译、运行: - 在根目录新建 文件夹并 至build - - 使用 (linux) 或 (windows) 运行。 最后在命令行就可以得到输出结果了! (注意顺序)(得到厨师-技法,表示对应新手池厨具) 注:linux下不支持任务选择 云端编译已在2.0.0弃用。 局限性 已知的问题: - 无法得到最优解! 只能得到一个比较好的解,有助于开阔思路。 - 无法选择菜品数量(默认拉满)。 可能有一定门槛。 (这可能有助于防止这类辅助工具的滥用导致分数膨胀? )(你问我为什么不用其他语言写? python一个晚上就写好了,结果因为有涉及json读写很类型没法推断,jit用不了,算这个太慢了,所以就用c++写了) 工作原理 采用两层模拟退火来最大化总能量。 第一层为三个厨师,其能量用第二层模拟退火来估计。 也就是说,这套方法理论上也能算厨神(只要能够在非常快的时间内,算出一个厨神面板的得分),但是加上厨神的食材限制工作量有点大……以后再说吧。 (...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值