Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Artificial intelligence 如何在不知道PDDL确切增加量的情况下模拟增加效应?_Artificial Intelligence_Planning_Pddl - Fatal编程技术网

Artificial intelligence 如何在不知道PDDL确切增加量的情况下模拟增加效应?

Artificial intelligence 如何在不知道PDDL确切增加量的情况下模拟增加效应?,artificial-intelligence,planning,pddl,Artificial Intelligence,Planning,Pddl,我有一个智能灯,它的动作可以打开/关闭。打开该操作会增加房间的亮度,但是,由于当前的环境状态,我无法确定它会增加多少亮度。有没有办法在PDDL中对这种不确定性进行建模 (define (domain home) (:requirements :typing :fluents) (:types phillipshue - lamp ) (:predicates (lamp_powerstate_on ?l -lamp) ) (:functions

我有一个智能灯,它的动作可以打开/关闭。打开该操作会增加房间的亮度,但是,由于当前的环境状态,我无法确定它会增加多少亮度。有没有办法在PDDL中对这种不确定性进行建模

(define (domain home)
  (:requirements :typing :fluents)

  (:types
    phillipshue - lamp
  )

  (:predicates
    (lamp_powerstate_on ?l -lamp) 
  )

  (:functions 
    (brightness ?l - lamp)
  )

  (:action TurnOnLamp
    :parameters ( ?l - lamp)
    :precondition (and
      (not(lamp_powerstate_on ?l)) 
    )
    :effect (and
      (increase (brightness ?l) 1) (lamp_powerstate_on ?l) 
    )
  )

PDDL是确定性的,所以您无法在PDDL中表达概率效应。关于不确定性的工作从概率PDDL开始(参见定义语言的部分),一直持续到2018年的竞赛。您可以从中找到最新的工作和使用的协议。

是否有必要将房间中的灯光建模为不确定?如果要对光照仅增加进行建模,当房间未完全照亮时,可以使用PDDL条件效果。例如:

:effect (and 
    (when (< (room-light ?v) 20)
        (increase (brightness ?l) 30)
    )
    (when (> (room-light ?v) 90)
        (increase (brightness ?l) 10)
    )
)
:效果(和
(当(<(房间灯?v)20)
(增加(亮度?l)30)
)
(当(>(房间灯?v)90)
(增加(亮度?l)10)
)
)
但更一般地说:


你想做什么样的模型?您是否在试图决定需要点亮多少个灯泡才能维持房间的正常照明?也许您不应该将其视为预先规划,而是动态规划。后者从传感器获取输入并计算给定情况下的计划。在每种情况下,您都确切地知道房间中有多少光线,问题总是确定的。然后,当您开始执行计划时,来自环境的响应可能与计划假设的不同。在这一点上,您将失败的计划,采取传感器输入快照,制定新的初始状态,并重新规划

您是否尝试过通过一个开源Python工具箱对其进行建模,该工具箱专为执行神经科学模型而定制?您可能会注意到这一点,许多现代概率规划师使用PPDDL作为输入语言,而不是PPDDL,因为它简化了某些类型效果的定义。在IPPC 2018中,所有参与者都使用RDDL作为他们的输入语言。感谢您的回答。但我认为在这种情况下,我们不能同时使用概率效应,因为我们事先也不知道时间间隔。不仅是灯光,智能家居中可能存在不同类型的智能设备(以及许多来自同一类型的设备),而且无法测量驱动的效果,也就是说,假设我们目前在房间里有3盏灯,其中一盏灯亮着,窗帘也打开了,我们如何知道如果我们打开房间角落里的灯2,房间里的亮度会增加多少。我们不能打开灯,看到效果,然后再关闭它,因为这对智能家居中的用户来说会很奇怪。你们知道最近有一个稳定的计划器,我可以使用它,它实际上支持PDDL3.1。我尝试过popf2,但它不支持消极的先决条件。但是,我需要能够处理数值波动、条件效应和持续动作。请尝试光学-Popf的继任者: