使用堆栈的随机算法


11

我已经开发了一种新的去随机化技术,该技术针对的是递归随机算法(或更一般地说,是使用堆栈的随机算法)。不幸的是,我找不到自然的随机算法来应用我的技术。递归马尔可夫链和随机语法与我要寻找的非常接近。是否有其他(更自然的)随机算法可以“必要”地使用堆栈?非常感谢您的帮助,因为我已经坚持了六个多月。

为了给您提供更多背景信息,我正在寻找与SivaKumar论文中类似的问题清单。请注意,SivaKumar使用Nisan的伪随机生成器对这些问题进行了随机化处理。


3
您能否举一些没有充分利用堆栈的递归随机算法的例子?对于最小递归深度为O(d)的椭圆体的Welzl随机算法(其中d是空间的维数),情况如何?
Per Vognsen

您应该将此作为答案!
Suresh Venkat

Answers:


6

正如Per Vognsen指出的,更广泛地说,还有许多几何算法的工作方式如下:选取随机样本,然后在样本及其衍生的其他结构上递归运行。Clarkson的线性编程随机算法,以及Seidel的算法,以及Per提到的Matousek-Sharir-Welzl系列,都以这种方式运行,并且Clarkson的范式扩展到其他情况,在这些情况下您需要构建某种切割或epsilon-net并递归。

不幸的是,由于Matousek和Chazelle的努力,由于这些算法的最佳去随机化,因此您不太可能从中获得新的结果。Chazelle的论文对于Matousek的这项工作和先前的工作是一个很好的参考点。但这可能是对您的方法的一个很好的测试:很难进行这些去随机化处理,并且如果您的方法提供了从(更轻松的)随机算法开始的黑匣子方法,那将很整齐。

ps这可能是最无聊的示例,但是您的方法适用于quicksort还是任何随机中值查找方法?


是。我的方法是黑盒方法。它似乎不适用于快速排序或随机中值查找方法。我将仔细阅读Chazelle的论文。谢谢。
希瓦·金塔利

6

最小包围椭圆形的Welzl随机算法怎么样?它具有递归深度O(d),其中d是空间的尺寸。

我对去随机化几乎一无所知,所以这可能不是您想要的。如果我的示例不符合条件(也许根据您的定义,它仅使用了递归?),也许您可​​以阐明原因。这将增加获得更高质量,来自其他人的更相关答案的机会。


我不知道这个算法。感谢您指出。可以说,如果删除堆栈仅会导致运行时间略微增加,则堆栈是不重要的。我没有递归随机算法没有充分利用堆栈的示例。
席瓦·金塔利

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.