小编Ric*_*bby的帖子

as.Date在转换'ddmmmyyyy'时返回NA

我正在尝试将字符串"2013-JAN-14"转换为日期,如下所示:

sdate1 <- "2013-JAN-14"
ddate1 <- as.Date(sdate1,format="%Y-%b-%d")
ddate1
Run Code Online (Sandbox Code Playgroud)

但我得到:

[1] NA
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?我应该为此安装一个包(我尝试安装chron).

r date r-faq

20
推荐指数
3
解决办法
4万
查看次数

Python max recursion,关于sys.setrecursionlimit()的问题

我有一个问题 sys.setrecursionlimit()

从python docs这个函数:
设置Python解释器堆栈的最大深度来限制.此限制可防止无限递归导致C堆栈溢出并导致Python崩溃.最高可能的限制取决于平台.当用户具有需要深度递归的程序和支持更高限制的平台时,用户可能需要将限制设置得更高.这应该小心,因为过高的限制可能导致崩溃.

这是我的问题:

让我们来看看这个无用的递归函数:

def rec(N):
     if N==0:
         return 1
     else:
         return rec(N-1);
Run Code Online (Sandbox Code Playgroud)

现在让我们将最大递归设置为100:

sys.setrecursionlimit(100)
Run Code Online (Sandbox Code Playgroud)

如果我尝试rec(99)(100次递归调用),我得到:

RuntimeError: maximum recursion depth exceeded
Run Code Online (Sandbox Code Playgroud)

要计算rec(99)我需要将递归限制设置为105.

为什么会这样?

python recursion

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

流口水

我对drools有一个奇怪的问题:

我有以下规则:

rule "is my dog a baby?"
  ruleflow-group "dog"
  salience 10
  when 
     dog : Dog(age <1 )
  then 
     dog.setIsBaby(true);
end


rule "baby dog"
    ruleflow-group "dog"
    salience 9
    when
        myData : MyData( myDog.isBaby() == false)
    then
        System.out.println(myData.getMyDog().getIsBaby());
end
Run Code Online (Sandbox Code Playgroud)

我插入我的会话myData和myData.getMyDog(),在哪里myData.getMyDog.isBaby==false

第一条规则被解雇,我的狗将成为一个婴儿.然后第二个被触发,甚至它打印为真.(即使条件是假的)

当我在解决所有规则后进行测试时,myData中的myDog将被设置为婴儿.

我在这做错了什么?为什么第二条规则被解雇了?是会话中的问题(在我的情况下是有状态的)?

我想我需要说我修改了myData:myDog,但我不知道在哪里.

如果不告诉我,希望我的问题很清楚.

java rules drools

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

将平面投影到圆柱体上

我有一个简单的位图,我想在圆柱上做一个投影.

这意味着,我希望以某种方式转换图像,这样如果我打印它并环绕柱状圆柱体并从某个位置拍摄它,则生成的图像看起来像原始图像.

我仍然迷失在所有投影算法中(通常与地球投影相关).

所以我要感谢提示正确的算法是什么以及我可以使用哪些工具将它应用到我的图像中.

algorithm projection image-processing

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

Dijkstra的自稳定算法如何工作?

我已经阅读了他的开创性论文,即尽管采用分布式控制的自稳定系统.但是,我不太了解自稳定算法的工作原理.我对他对k状态机的"解决方案"最感兴趣.纸的密度非常强烈,我无法理解它.这个算法如何用简单的英语工作?

algorithm dijkstra

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

Python ValueError:不允许提高最大限制

我在mac os 10.7.3上使用python 2.7.2

我在python中进行递归算法,递归级别超过50 000.

我试图将最大递归级别增加到1 000 000但我的python shell仍然在18 000递归级别后退出.

我试图增加可用资源:

import resource 
resource.setrlimit(resource.RLIMIT_STACK, (2**29,-1))
sys.setrecursionlimit(10**6)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):
  File "<pyshell#58>", line 1, in <module>
    resource.setrlimit(resource.RLIMIT_STACK,(2**29,-1))
ValueError: not allowed to raise maximum limit
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我不能提高最高限额?

谢谢你的建议.

python memory stack-overflow

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

为什么程序在放入函数时要快得多?

这是我做的,我创建了2个过程,一个在函数中,一个在python文件中.即使它完全相同,python文件本身的一个运行速度差不多2倍.为什么?

Bellow是一个带有2个过程的例子,它们只是P元素上的循环

我有以下python文件:

from time import *
P=1000000 #range of the 2 loops

def loop(N):
        for k in range(N):
                continue

start=time()
loop(P)
stop1=time()
for k in range(P):
            continue
stop2=time()
print "time with function ",stop1-start
print "time without function ",stop2-stop1
Run Code Online (Sandbox Code Playgroud)

这是我得到的(我尝试了一千个样本,结果如​​下):

time with function  0.0950000286102
time without function  0.15700006485
Run Code Online (Sandbox Code Playgroud)

用xrange代替范围我得到:

time with function  0.0460000038147
time without function  0.107999843597
Run Code Online (Sandbox Code Playgroud)

因此,用于构建列表就像0.05秒

我知道这可能是一个无用的问题,但如果有人知道为什么这么快,我会很高兴知道

python performance local-variables

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

推理引擎与决策树

我正在使用带有推理引​​擎(前向链接)的专家系统,我想解释为什么它比使用非常简单的概念的决策树更好.(在某种特殊情况下)

我知道stackoverflow上有一个类似的问题,但它不是我正在寻找的答案.

这是我的问题:

对于客户关系管理,我使用了许多不同的业务规则(引发对话规则)来帮助客户对一个产品做出决策.注意:经常添加规则(每天2个).

在得到答案之前,客户回答了一系列问题.与对话规则混合的业务规则使得得到的问卷看起来像是由最优决策树生成的问卷.即使隐藏的推理完全不同.

我想知道与这种情况下的决策树相比,在可伸缩性,健壮性,复杂性和效率方面支持(或可能反对)推理引擎的主要论点是什么.

我已经有了一些想法,但是因为我需要说服别人,所以我从来没有足够的论据.

提前感谢您的想法,如果您能告诉我有关此主题的优秀论文,我将非常高兴.

algorithm optimization expert-system decision-tree

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

查找一组点是否描述凸包络的算法

我想检查一组N个点是否描述凸多边形

我想知道是否有一个好的算法呢?

以下是我想到的一些方法:


1.凸壳赫尔算法:

如果该集合等于他的凸包,那么它是凸的.这种算法的复杂性是O(n*LN(N)).但我感觉就像是在一个轮子上打破一只蝴蝶.


3.寻找角度:

然后我想到检查2个连续矢量的角度是否永远不会超过180°.但由于我的点数没有被排序,我需要检查3个连续点的所有组合,这就像O(n3)复杂度一样.(应该有一种比这更好的方法)

我尝试从右到左选择点,但结果并不总是预期的结果:

例如,在这种情况下,如果从左到右,我会发现凸形:

在此输入图像描述

所以对于这个解决方案,我可能需要一个好的算法来选择点.


3.看着重心:

我认为检查所有3个连续点的中心是否在形状内部将告诉我形状是否凸出.

这就是我的意思(G是每个三角形的中心):

在此输入图像描述

对于这个解决方案,我可以从左到右选择点没有问题.如果检查G是否在形状中的复杂性是O(N)那么总体复杂度将是O(N2).

你能告诉我一个好的算法来解决这个问题或改进我想到的解决方案

提前致谢

algorithm convex-polygon

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

在链表中查找回文

这是一个面试问题(再次).

给定一个单独连接的链表,找到列表中最大的回文.(你可以假设回文的长度是均匀的)

我做的第一种方法是使用堆栈 - 我们从头开始遍历列表并继续推送字母.每当我们发现在堆栈的顶部的字母是一样的链表上的下一个字母,开始弹出(与增加链表指针),并设置上的匹配字母数的计数.找到不匹配后,推回从堆栈中弹出的所有字母,然后继续推送和弹出操作.这种方法的最坏情况复杂性是O(n2),例如当链表只是一个相同字母的字符串时.

为了改善空间和时间的复杂性(通过一些常数因素),我提出将链表复制到一个数组并找到数组中最大尺寸的回文,这再次需要O(n2)时间复杂度和O(n)空间复杂度.

有没有更好的方法来帮助我?:(

algorithm linked-list palindrome

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