标签: computation

理论计算机科学什么时候有用?

在课堂上,我们了解了暂停问题,图灵机器,减少等等.许多同学都说这些都是抽象和无用的概念,而且知道它们并没有真正的意义(即,一旦课程结束,你就会忘记它们结束而不是失去任何东西).

为什么理论有用?你有没有在日常编码中使用它?

theory turing-machines computation halting-problem

25
推荐指数
8
解决办法
8155
查看次数

Node.js vs C++ for mathematic

我必须编写一个实现一些模糊逻辑的服务器程序,我选择在Node.js中编写它以利用它的事件方向.我必须处理困难的数学计算问题,我不知道什么是获得性能的最佳方法:

  1. 在Node.js中全部写入,并使用V8引擎的强大功能进行数学任务.
  2. 用C++编写一个实现所有数学函数的模块,并从Node调用它.

在这两个平台上都有这类计算经验的人吗?

c++ math performance computation node.js

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

计算构造(Monads,Arrows等)

我对如何在Haskell中建模计算感兴趣.一些资源将monad描述为"可组合计算",将箭头描述为"计算的抽象视图".我从未见过用这种方式描述的幺半群,仿函数或应用函子.他们似乎缺乏必要的结构.

我发现这个想法很有趣,并想知道是否有其他类似的结构.如果是这样,我可以使用哪些资源来熟悉它们?Hackage上是否有任何可能派上用场的软件包?

注意:这个问题类似于 Monads vs. Arrows/sf/ask/167700081/,但我正在寻找超越funtors的构造,applicative仿函数,单子和箭头.

编辑:我承认应用仿函数应该被视为"计算结构",但我真的在寻找一些我还没有遇到过的东西.这包括应用函子,monad和箭头.

monads haskell arrows computation

17
推荐指数
3
解决办法
1624
查看次数

C# 中的 For 循环与 Python 中的 For 循环

我正在编写一个计算 e^x 值的方法。我在 python 中实现的方法如下。

import math

def exp(x):
    return sum([
        x**n/math.factorial(n)
        for n in range(0, 100)
    ])
Run Code Online (Sandbox Code Playgroud)

这将很好地返回 e^x 的值。但是当我尝试在 c# 中实现相同的方法时,它没有输出与 python 中相同的值。下面是c#中的实现。

static double exp(int x)
{
    double FinalAnswer = 0;
    for (int j = 0; j <= 100; j++)
    {
        FinalAnswer += (Math.Pow(x, j))/Factorial(j);
    }
    return FinalAnswer;
}
Run Code Online (Sandbox Code Playgroud)

该代码的输出最初是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。C# 中循环仅运行 10 次的代码的输出与 Python 中循环运行 100 次的输出非常接近。我的问题是不同编程语言的两个循环之间发生了什么。起初我认为我在计算 e^x 的方法中使用的表达式收敛得很快。但是运行 10 次的循环如何产生与运行 100 次循环的输出相匹配的输出。

另外,当我将 c# 中的 for 循环增加到 20 和 30 时,x > 3 的 e^x 值相差很大。有人可以解释一下这是怎么回事吗?

c# python for-loop computation

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

Haskell:计算"在monad中" - 意思是什么?

在阅读monads时,我一直看到像"Xyz monad中的计算"这样的短语.计算"在某个monad中"是什么意思?

我认为我对monad的含义有一个公平的把握:允许计算产生通常是某种预期类型的​​输出,但可以替代地或另外地传达一些其他信息,例如错误状态,记录信息,状态等,以及允许这种计算被链接.

但我不知道计算如何被称为"在"monad中.这只是引用产生monadic结果的函数吗?

示例:(搜索"计算中")

monads haskell computation

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

哪个java-library计算累积标准正态分布函数?

对于一个项目,我有一个公式的规范,我必须实现.在这些公式中,存在累积标准正态分布函数,其采用浮点并输出概率.该功能由Φ表示.存在一个Java库,它可以计算这个函数吗?

java statistics probability computation

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

在Java中保存大量数据的最佳实践

我正在用Java编写一个小系统,我从文本文件中提取n-gram特征,然后需要执行特征选择过程以选择最多的鉴别器特征.

单个文件的特征提取过程返回一个映射,该映射包含每个唯一特征,它在文件中的出现.我将所有文件的地图(地图)合并到一个地图中,其中包含从所有文件中提取的所有独特功能的文档频率(DF).统一地图可包含10,000,000个以上的条目.

目前,特征提取过程运行良好,我想执行特征选择,其中我需要实现信息增益或增益比.我将首先对Map进行排序,执行计算并保存结果,以便最终得到一个列表(对于每个特征,其特征选择分数)

我的问题是:保存大量数据(~10M)并执行计算的最佳实践和最佳数据结构是什么?

java computation feature-extraction feature-selection data-structures

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

查找1个字符串中的每个字符是否存在于另一个字符串中,比O(n ^ 2)快

给出2个字符串:

String stringA = "WHATSUP";
String stringB = "HATS";
Run Code Online (Sandbox Code Playgroud)

我想知道stringB H A T S中的每个字符是否都存在stringA

在初级方法中,该过程可以在嵌套的for循环内完成,其计算复杂度为O(n ^ 2).

for(int i = 0; i < stringA.length(); i++){
    for(int j = 0; j < stringB.length(); j++){
        if(stringA.charAt(i) == stringB.charAt(j))
            //do something
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个更快的解决方案来解决这个问题.

java complexity-theory compare subset computation

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

语言超过{1}这是可识别但不可判定的?

什么是字母{1}*上的语言的例子,它是可识别但不可判定的?

我找到一个这方面的例子很麻烦.经过长时间的搜索,我仍然对这个答案感到好奇.

提示非常受欢迎.

computation

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

如何解决R估计中的整数溢出错误

我正在尝试使用R中的speedglm来估计模型.数据集很大(约6988万行和38列).乘以行数和列数导致约27亿,超出整数限制.我无法提供数据,但以下示例重新创建了该问题.

library(speedglm)

# large example that works 
require(biglm)
n <- 500000
k <- 500
y <- rgamma(n, 1.5, 1)
x <- round(matrix(rnorm(n*k), n, k), digits = 3)
colnames(x) <- paste("s", 1:k, sep = "")
da <- data.frame(y, x)
fo <- as.formula(paste("y~", paste(paste("s", 1:k, sep = ""), collapse = "+")))   
working.example <- speedglm(fo, data = da, family = Gamma(log))

# repeat with large enough size to break 
k <- 5000       # 10 times larger than above
x <- round(matrix(rnorm(n*k), …
Run Code Online (Sandbox Code Playgroud)

estimation r computation speedglm

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