问题列表 - 第16385页

改善Q-Learning

我目前正在使用Q-Learning尝试教一个机器人如何在一个充满墙壁/障碍物的房间里移动.它必须从房间的任何地方开始并进入目标状态(例如,这可能是带有门的瓷砖).目前,当它想要移动到另一个磁贴时,它将转到该磁贴,但我想在将来我可能会添加一个随机的机会去另一个磁贴,而不是那个.它只能向上,向下,向左和向右移动.达到目标状态会产生+100,其余的操作将产生0.

我正在使用此处找到的算法,可以在下面的图像中看到.

替代文字 替代文字

现在,关于这一点,我有一些问题:

  1. 当使用Q-Learning时,有点像神经网络,我必须区分学习阶段和使用阶段吗?我的意思是,他们在第一张照片上显示的内容似乎是学习的,而在第二张照片中显示的是使用一张.
  2. 我在某处读到,需要无数步才能达到最佳Q值表.真的吗?我说这不是真的,但我必须在这里遗漏一些东西.
  3. 我也听说过TD(时间差异),它似乎用下面的表达式表示:

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    
    Run Code Online (Sandbox Code Playgroud)

    对于alpha = 1,只是看起来在图片中首先显示的那个.这个伽玛有什么不同呢?

  4. 如果我尝试一个非常大的房间(例如300x200像素),我会遇到一些并发症.因为它基本上是随机运行的,如果房间非常大,那么从第一个状态到目标状态随机需要花费很多时间.我可以用什么方法加快速度?我想也许有一张桌子上充满了真实和愚蠢,关于那段已经处于该状态的情节.如果是,我会丢弃它,如果不是,我会去那里.如果我已经在所有这些州,那么我会去随机的.这样,它就像我现在正在做的那样,知道我现在做的事情要少一些.
  5. 我想尝试除Q-Values的查找表之外的其他内容,所以我正在考虑使用具有反向传播的神经网络.我可能会尝试为每个动作(向上,向下,向左,向右)设置神经网络,因为它似乎是产生最佳结果的.有没有其他方法(除了SVM,这似乎太难以实现自己),我可以使用和实现,这给我很好的Q值函数近似?
  6. 您是否认为遗传算法在这种情况下会产生良好的结果,使用Q值矩阵作为它的基础?我怎么能测试我的健身功能?它给我的印象是GA通常用于更随机/复杂的事物.如果我们仔细观察,我们会注意到Q值遵循一个明确的趋势 - 在目标附近有较高的Q值,而在距离它们较远的地方有较低的Q值.试图通过GA达成这个结论可能会花费太长时间?

language-agnostic artificial-intelligence reinforcement-learning genetic-algorithm

1
推荐指数
1
解决办法
909
查看次数

如何使用redirect_to到带有查询参数的非Rails URL?

由于Rails升级,我们刚刚使用了redirect_to break,这导致了一个问题.我一直在尝试,我似乎还没有找到一种方法,使用redirect_to的用户发送到与查询参数的非Rails的页面追加,除了通过手动构造URL字符串,这似乎是一个耻辱.以前,只是一个简单的:

redirect_to "http://www.web.com/myurl" "parm"
Run Code Online (Sandbox Code Playgroud)

工作 - 它将"parm"附加到URL,并正确处理多个parms.情况已经不再如此,所以我想知道是否有新的/更好的方法来做到这一点.文档暗示包含哈希应该有效,但它不会:

redirect_to ("http://www.web.com/myurl", :parm => "foo")
redirect_to ("http://www.web.com/myurl", { :parm => "foo" } )
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.手动构建URL字符串工作正常,但有没有人有一个咒语,使这项工作更好的方式?

redirect ruby-on-rails

14
推荐指数
2
解决办法
2万
查看次数

有人可以解释MySQL外键

我知道他们的问题是什么,你如何链接它们,或者当你在不同的表中有相同的名字时它们是自动链接的.这是一个例子:

假设我有一个[orders]表和一个[customer]表.[orders]表中的每一行都有一个customer_id号,该号码与[customer]表中的customer_id相关联.那么如何通过参考订单获取客户信息?什么是SQL查询?

mysql foreign-keys

5
推荐指数
2
解决办法
2855
查看次数

C#:检查存储在字符串对象中的值是否为十进制

在C#中,我如何检查存储在字符串对象中的值(例如:字符串strOrderId ="435242A")是否为十进制?

c# decimal

17
推荐指数
4
解决办法
6万
查看次数

附加到工厂实例化的单例事件 - 什么是干净的方法?

在我的程序中,有一个地方需要访问从工厂解决的单件并附加到其事件:

void MyMethod()
{
   myFactory.Resolve<MySingleton>().DoWork += WorkMethod;
}
Run Code Online (Sandbox Code Playgroud)

问题是MyMethod可以执行多次,但我想只附加一次事件(否则我会接到多次调用).所以我只想在以前没有依恋的时候才能附上.它有什么比这更好的了

   myFactory.Resolve<MySingleton>().DoWork -= WorkMethod;
   myFactory.Resolve<MySingleton>().DoWork += WorkMethod;
Run Code Online (Sandbox Code Playgroud)

c# events

1
推荐指数
1
解决办法
133
查看次数

控制OSX窗口

我正在尝试从我的应用程序控制外部OSX应用程序的窗口.我想1.移动屏幕上的窗口2.调整屏幕上的窗口大小3.更改应用程序的当前活动窗口4.获取当前活动的窗口.

(我想通过ObjC/C/C++ apis这样做).

考虑到我有想要控制的窗口的CGWindowID,我应该寻找什么样的API调用?也就是说,我希望找到的功能与类似的东西签名:MoveWindow(CGWindowID winId, int x, int y),ResizeWindow(CGWindowID winId, int width, int height),Activatewindow(CGWindowID winId),CGWindowID GetCurrentlyActivatedWindow().

对于3,我已经习惯SetFrontProcess将一个进程拉到前面,但是这不允许我选择一个进程的特定窗口,如果它有多个.

macos cocoa macos-carbon objective-c

12
推荐指数
1
解决办法
4679
查看次数

XSLT使用命名空间转换XML

我正在尝试使用XSLT将一些XML转换为HTML.

问题:

我无法让它发挥作用.有人能告诉我我做错了什么吗?

XML:

<ArrayOfBrokerage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.test.com/">
    <Brokerage>
        <BrokerageID>91</BrokerageID>
        <LastYodleeUpdate>0001-01-01T00:00:00</LastYodleeUpdate>
        <Name>E*TRADE</Name>
        <Validation i:nil="true" />
        <Username>PersonalTradingTesting</Username>
    </Brokerage>
</ArrayOfBrokerage>
Run Code Online (Sandbox Code Playgroud)

XSLT:

<xsl:stylesheet version="1.0" xmlns="http://www.test.com/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xslFormatting="urn:xslFormatting">

    <xsl:output method="html" indent="no"/>

    <xsl:template match="/ArrayOfBrokerage">
        <xsl:for-each select="Brokerage">
            Test
       </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

xml xslt namespaces transform datacontractserializer

41
推荐指数
1
解决办法
7万
查看次数

编码文件shell脚本

如何在shell脚本中检查文件编码?我需要知道文件是用utf-8还是iso-8859-1编码的.

谢谢

linux bash shell encoding

33
推荐指数
3
解决办法
6万
查看次数

如何设置列的默认值?

请注意下表.我想将新创建的BEST_SELLER列的默认值设置为"N".
我该怎么做呢?

Create Table Mystery
(Book_Code Char(4) Primary Key,
 Title Varchar2(40),
 Publisher_Code Char(2),
 Price Number(4,2))
Run Code Online (Sandbox Code Playgroud)

mysql sql sqlplus

2
推荐指数
2
解决办法
2万
查看次数

如何将jars动态添加到jython内部脚本?

我在python中编写一个与ldap服务器通信的包.我希望它能在CPython和Jython中运行.为了使它与CPython一起使用,我已成功编写了针对python-ldap的代码.但是,要使它与Jython一起使用,我必须使用java jar.

我如何使用我的包分发jar文件,这样如果它可以"导入java",它就知道它的jython,并动态地将java jar添加到路径中并使用它.但是,如果失败,它会知道它的CPython并使用python-ldap库.

有任何想法吗?

jython

14
推荐指数
1
解决办法
1万
查看次数