标签: theory

替代熵源

好吧,我猜这完全是主观的,但我正在考虑随机数生成器的熵源.大多数发电机都按当前时间播种,对吗?好吧,我很好奇其他资源可以用来生成完全有效的,随机的(宽松的定义)数字.

使用多个来源(例如时间+当前硬盘寻找时间[我们在这里是非常奇妙的])一起创建一个比单个来源更"随机"的数字?来源数量的逻辑限制是什么?真的够多少钱?选择时间只是因为方便吗?

如果不允许这种事情,请原谅我,但我对这些消息来源背后的理论感到好奇.

theory random entropy

13
推荐指数
3
解决办法
4701
查看次数

停止使用非图灵完整的语言

暂停问题对于图灵完整语言是无法解决的,并且对于一些非TC语言(例如它总是停止的正则表达式),它可以简单地解决.

我想知道是否有任何语言都具有停止和不停止的能力,但允许一种算法可以确定它是否停止.

theory halting-problem turing-complete

13
推荐指数
3
解决办法
1710
查看次数

使用签名树的生产应用程序的任何示例?

最近我一直在阅读关于签名树或S树的很多内容.例如,本文.文献对它们的评价非常高,并且为某些应用提供了相对于例如倒置文件或B树相当大的性能提升的证据.

现在,为什么我看不到S-Trees使用得太多了?您是否知道流行应用程序中此类数据结构的任何突出实例?是否有提供签名树索引的DBMS实现?

database theory indexing data-structures

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

接口还是抽象类?

对于我的新宠物项目,我有一个设计问题,已经确定了,但我也想要其他一些意见.

我有两个类(简化):

class MyObject
{
  string name {get;set;}
  enum relation {get;set;}
  int value {get;set;}
}

class MyObjectGroup
{
  string name {get;set;}
  enum relation {get;set;}
  int value {get;set;}
  List<MyObject> myobjects {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

在项目后期MyObjectGroup,并MyObject应同等地使用.为此,我可以采取两种方式:

  • 创建一个界面: IObject
  • 创建一个抽象类: ObjectBase

我决定采用界面的方式,我后来在代码中不能ObjectBase每次都写,而IObject只是为了方便 - 但这种方式的其他积极因素是什么?

第二,如何增加IXmlSerializable整个故事呢?让接口继承IXmlSerializable或者它是否有更多的正面要IXmlSerializable在抽象基类中实现?

c# theory interface abstract

13
推荐指数
4
解决办法
7715
查看次数

Ruby 1.9正则表达式对于无上下文语法同样强大吗?

我有这个正则表达式:

regex = %r{\A(?<foo> a\g<foo>a | b\g<foo>b | c)\Z}x
Run Code Online (Sandbox Code Playgroud)

当我针对几个字符串测试它时,它看起来像上下文无关语法一样强大,因为它正确处理递归.

regex.match("aaacaaa")
# => #<MatchData "aaacaaa" foo:"aaacaaa">
regex.match("aacaa")
# => #<MatchData "aacaa" foo:"aacaa">
regex.match("aabcbaa")
# => #<MatchData "aabcbaa" foo:"aabcbaa">
regex.match("aaacaa")
# => nil
Run Code Online (Sandbox Code Playgroud)

" Ruby 1.9正则表达式的乐趣 "有一个例子,他实际上安排了一个正则表达式的所有部分,使它看起来像一个无上下文的语法,如下所示:

sentence = %r{ 
    (?<subject>   cat   | dog   | gerbil    ){0} 
    (?<verb>      eats  | drinks| generates ){0} 
    (?<object>    water | bones | PDFs      ){0} 
    (?<adjective> big   | small | smelly    ){0} 

    (?<opt_adj>   (\g<adjective>\s)?     ){0} 

    The\s\g<opt_adj>\g<subject>\s\g<verb>\s\g<opt_adj>\g<object> 
}x
Run Code Online (Sandbox Code Playgroud)

在他重新排列正则表达式部分的技术和我的递归命名捕获组的例子之间,这是否意味着Ruby 1.9正则表达式具有与无上下文语法相当的能力?

ruby regex theory context-free-grammar oniguruma

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

超图能代表一种不确定的图灵机吗?

有没有人知道任何论文,文本或其他文件讨论使用超图来实现或代表一个不确定的图灵机?它们实际上是等同的吗?

例如,我非常确定超图能够正确且完整地表示非确定性图灵机的状态转换.但到目前为止,我还没有找到任何可以验证这一点的印刷品.在我看来,这似乎是一种如此明显的关系,但事实上,我没有找到现有的艺术,这让我觉得我走错了路.(也可能是我发现的东西不足以让我理解它在说什么.);-)

为什么我要问:我正在开发一个开源软件包,它在对等网络中进行分布式数据存储和分布式计算.我正在寻找可能支持所需功能的最原始的数据结构.到目前为止,分布式超图看起来很有希望.我的理由是,如果超图可以支持像非确定性图灵机一样通用的东西,那么它应该能够支持更高级别的图灵完整DSL.(还有其他原因,"非确定性"部分也可能对我有价值,与分布式数据和/或计算结果的版本控制有关.尽管这里试图避免论文.)

部分答案:

theory distributed graph-theory turing-machines

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

缓存理论

是否存在统一的缓存理论?也就是说,构建缓存和/或优化它们的定理和算法的集合?

问题是故意广泛的,因为我正在寻找的结果也很广泛.最大可实现加速的公式,缓存算法的指标,类似的东西.大学级的教科书可能是理想的.

theory caching

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

优化!- 它是什么?怎么做?

听到"高度优化的代码"或某些开发人员需要优化他们和诸如此类的东西,这是常见的.然而,作为一个自学成才的新程序员,我从来没有真正理解人们在谈论这些事情时究竟是什么意思.

关心一般的想法呢?此外,推荐一些阅读材料,无论你想在这件事上说什么.随意咆哮和讲道.

language-agnostic theory algorithm optimization

12
推荐指数
4
解决办法
725
查看次数

一个用于共享数组子范围的智能垃圾收集器?

这个流行的问题中,为什么substring在C#中占用O(n),所提出的主要答案之一认为,如果分配了一个大数组,并且通过让新字符串仅引用数组的一小部分来计算子字符串,那么垃圾收集器就会即使原始字符串不再被引用,也无法回收包含较大字符串的字符数组.

这似乎是一个非常有效的答案,但似乎理论上可以为数组构建一个垃圾收集器,允许对大多数数组进行垃圾收集,同时留下一些仍在使用的小型子数组.换句话说,如果有一个5​​0,000个元素的数组,其中只有一个小的100个元素的片仍然在使用,垃圾收集器可以将数组分成三个部分--100个元素切片之前的元素,100个元素切片本身,以及100个元素切片之后的元素 - 然后垃圾收集这些碎片的第一个和最后一个.

我的问题是,任何语言实现是否实际使用这种垃圾收集器,或者它是否仅在理论上存在.有没有人知道一个像这样的垃圾收集器的语言实现的例子?

theory arrays garbage-collection language-implementation

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

除以零的结果是什么?

要清楚,我不是在寻找NaN或无穷大,或者问x/0应该是什么答案.我正在寻找的是:

基于分工是如何在硬件中执行的(我不知道它是怎么做的),如果师们用的0除数来执行,处理器只是通过操作喝着十分满意,你会来的吧?

我意识到这很大程度上取决于股息,所以对于一个具体的答案,我问这样:如果计算机遵循标准的分工操作,计算机会吐出什么42 / 0

更新:

我会试着更清楚一些.我问的是在位级别用数字完成的实际操作是为了达到解决方案.操作的结果只是位.当发现除数为零时,NaN和错误/异常发挥作用.如果分裂实际发生了,会出现什么位?

theory divide-by-zero

12
推荐指数
3
解决办法
4204
查看次数