Questions tagged «randomized-algorithms»

一种算法,其行为由其输入确定,并且生成器生成统一的随机数。

5
随机化何时可以加速算法,但“不应该”?
Adleman证明包含的证明表明,如果存在一个针对大小为输入在时间上运行的问题的随机算法,那么对于在时间上运行的问题也存在确定性算法输入大小为 [算法在独立的随机字符串上运行随机算法。重复算法必须具有随机性,这对所有都有利P / p ö 升ý 吨(Ñ )ñ Θ (吨(Ñ )⋅ Ñ )ñ Θ (Ñ )2 Ñ乙PPBPPBPPP/ pø升ÿP/polyP/polyt (n )t(n)t(n)ñnnΘ (吨(Ñ )⋅ Ñ )Θ(t(n)⋅n)\Theta(t(n)\cdot n)ñnnΘ (n )Θ(n)\Theta(n)2ñ2n2^n可能的输入]。确定性算法不统一-对于不同的输入大小,其行为可能有所不同。因此,阿德勒曼(Adleman)的论点表明-如果不关心均匀性-随机化只能以输入大小呈线性的因数加速算法。 据我们所知,随机化可以加速计算的一些具体示例是什么? 一个例子是多项式身份测试。这里的输入是一个n大小的算术电路,用于计算一个字段上的m变量多项式,任务是找出该多项式是否相等为零。随机算法可以在随机点上评估多项式,而我们所知的最佳确定性算法(可能是现有的最好的)可以在许多点上评估多项式。 另一个例子是最小生成树,其中Karger-Klein-Tarjan的最佳随机算法是线性时间(错误概率呈指数小!),而Chazelle的最佳确定性算法在时间(是Ackermann逆函数,因此随机化加速确实很小)。有趣的是,Pettie和Ramachandran证明,如果最小生成树存在非统一的确定性线性时间算法,那么也存在统一的确定性线性时间算法。αø (米α (米,Ñ ))O(mα(m,n))O(m\alpha(m,n))αα\alpha 还有哪些其他示例?您知道哪些示例的随机化加速率较高,但这可能仅仅是因为我们尚未找到足够有效的确定性算法?

1
包含的
许多人认为。但是我们只知道在多项式层次结构的第二级中,即。显示是首先将其降至多项式层次结构的第一级,即。乙P P 乙P P ⊆ Σ P 2 ∩ Π P 2乙P P = P 乙P P ⊆ Ñ PBPP=P⊆NPBPP=P⊆NP\mathsf{BPP} = \mathsf{P} \subseteq \mathsf{NP}BPPBPP\mathsf{BPP}BPP⊆ΣP2∩ΠP2BPP⊆Σ2P∩Π2P\mathsf{BPP}\subseteq \Sigma^ \mathsf{P}_2 \cap \Pi^ \mathsf{P}_2BPP=PBPP=P\mathsf{BPP} = \mathsf{P}BPP⊆NPBPP⊆NP\mathsf{BPP} \subseteq \mathsf{NP} 这种约束意味着不确定性至少与多项式时间的随机性一样强大。 这也意味着,如果对于一个问题,我们可以使用有效的(多项式时间)随机算法找到答案,那么我们可以有效地(在多项式时间内)验证答案。 是否有任何已知的有趣结果?BPP⊆NPBPP⊆NP\mathsf{BPP} \subseteq \mathsf{NP} 是否有任何理由相信证明目前无法实现(例如障碍或其他论点)?BPP⊆NPBPP⊆NP\mathsf{BPP} \subseteq \mathsf{NP}

6
确定性困难的高效简单随机算法
我经常听到,对于许多问题,我们知道非常优雅的随机算法,但没有,或者只有更复杂的确定性解决方案。但是,我只知道几个例子。最突出 随机快速排序(以及相关的几何算法,例如用于凸包) 随机Mincut 多项式身份测试 克莱的度量问题 其中,如果不使用随机性,则仅多项式恒等性检验似乎非常困难。 您是否知道更多示例问题,其中随机解决方案非常优雅或非常有效,而确定性解决方案却并非如此?理想情况下,外行应容易激发问题(与多项式身份测试不同)。

9
“看起来”确定性的随机算法?
是否有一个有趣的随机搜索算法示例,无论其内部随机性如何,该算法总是输出相同(正确)的答案,但会利用随机性,因此其预期运行时间比已知最快的运行时间要好确定性算法的问题? 特别是,我想知道是否有这样一种算法可以找到n和2n之间的质数。没有已知的多项式时间确定性算法。有一种简单的随机算法,该算法仅对间隔中的随机整数进行采样即可工作,这要归功于素数定理。但是,是否存在上述类型的算法,其预期运行时间介于两者之间? 编辑:为了稍微细化我的问题,我想要一个这样的算法来解决有很多可能正确输出的问题,而随机算法却依赖于其随机性。我意识到这个问题可能尚未完全说明。

1
polylog空间中包含统一的RNC吗?
确定性多对数空间(有时写为PolyL)中包含对数空间统一NC。此类中的日志空间统一RNC也是吗?PolyL的标准随机版本应该在PolyL中,但是我看不到(统一)RNC在randomized-PolyL中。 我看到的困难是,在RNC中,电路可以根据需要“观察随机位”。也就是说,随机输入可以具有任意扇出。但是在PolyL的随机版本中,并不是像您得到了一堆随机位,而是想要随意查看的东西;而是只允许您在每个时间步骤掷硬币。 谢谢!

10
“现代”计算机科学出现之前的概率(随机)算法
编辑:我选择到2012年12月6日得分最高的答案。 这是一个软问题。 (确定性)算法的概念可以追溯到BC。概率算法呢? 在此Wiki条目中,针对计算几何中最接近的对问题的拉宾算法被指定为第一个随机算法(年份???)。立顿推出拉宾的算法作为开始的随机算法当今时代的这里,但不是第一个。我也知道许多在1960年代发现的概率有限自动机(非常简单的计算模型)算法。 您是否知道1960年代之前的任何概率/随机算法(或方法)? 要么 哪个发现可以看作是第一个概率/随机算法?

1
Karger-Stein分支扩增的其他应用?
我刚在我的研究生算法课上教过Karger-Stein随机mincut算法。这是一个真正的算法瑰宝,所以我不能教它,但是它总是让我感到沮丧,因为我不知道主要技术的任何其他应用。(因此,很难分配功课来将重点带回家。) Karger和Stein算法是对Karger早期算法的改进,该算法迭代收缩随机边缘,直到图形只有两个顶点为止。这个简单的算法以时间运行,并以概率Ω (1 / n 2)返回最小割,其中n是输入图中顶点的数量。改进的“递归收缩算法”迭代收缩随机边缘,直到顶点数量从n降至n / √Ø (ñ2)O(n2)O(n^2)Ω (1 / n2)Ω(1/n2)\Omega(1/n^2)ñnnñnn,在剩余图上递归调用两次,然后返回两个结果割中较小的一个。改进算法的直接实现以O(n2logn)时间运行,并以概率Ω(1/logn)返回最小割。(这些算法有更有效的实现,以及更好的随机算法。)n / 2–√n/2n/\sqrt{2}Ø (ñ2日志n )O(n2log⁡n)O(n^2\log n)Ω (1 /对数n )Ω(1/log⁡n)\Omega(1/\log n) 还有哪些其他随机算法使用类似的分支扩增技术?我在那个例子特别感兴趣,没有(明显)涉及图切割。

1
谁首先提出使用
我敢肯定,每个人都知道18世纪布冯的针头实验,这是最早计算概率算法之一。ππ\pi 该算法在计算机中的实现通常要求使用或三角函数,即使将其实现为截断序列,也可能无法达到目的。ππ\pi 为了解决这个问题,有一种众所周知的拒绝方法算法:在单位正方形中绘制坐标,然后查看它们是否属于单位四分之一圆。这包括在(0,1)中绘制两个均匀实数和y,并且仅在x 2 + y 2 &lt; 1时对它们进行计数。最后,保持的坐标数除以坐标总数为π的近似值。xxxyyyx2+y2&lt;1x2+y2&lt;1x^2+y^2 < 1ππ\pi 第二种算法通常被认为是布冯的针法,因为它有很大的不同。不幸的是,我无法追踪到它的起源。是否有人(由文档记录,或者最糟糕的情况下没有文档)有关此想法的起源/来源?

4
对于P = RP,有哪些具体证据?
RP是一类不确定性的图灵机可确定的问题,这种不确定性的图灵机终止于多项式时间,但也存在单方面错误。P是由在多项式时间终止的确定性图灵机确定的常见问题类别。 P = RP由电路复杂度的关系决定。Impagliazzo和Wigderson表明,如果可以在确定性指数时间中确定的某些问题也需要指数大小电路,则遵循P = BPP (请注意,P = BPP意味着P = RP)。也许由于这些结果,一些复杂性理论家似乎感觉到概率约简可能可以去随机化。 还有什么其他具体证据表明P = RP?

1
联合树问题的随机查询复杂度
Childs等人在2003年发表的重要论文。引入了“联合树问题”:一个承认指数量子加速的问题,这与我们所知道的任何其他此类问题都不一样。在这个问题中,我们得到了一个指数级的图形,如下图所示,它由两个深度为n的完整二叉树组成,它们的叶子通过一个随机周期相互连接。我们提供了ENTRANCE顶点的标签。我们还提供了一个预言机,该预言机给定任何顶点的标签,告诉我们其相邻节点的标签。我们的目标是找到EXIT顶点(可以轻松识别,它是图形中除ENTRANCE顶点之外唯一的2度顶点)。我们可以假设标签是随机的长字符串,因此,以极大的概率,除ENTRANCE顶点以外的其他顶点由oracle赋予。 查尔兹等。表明量子游走算法能够简单地遍历该图,并在poly(n)步骤之后找到EXIT顶点。相比之下,他们还表明,任何经典的随机算法都需要exp(n)步骤才能高概率地找到EXIT顶点。他们将其下界表示为Ω(2 n / 6),但我认为仔细检查其证明会得出Ω(2 n / 2)。直观地讲,这是因为以极大的概率,图上的随机游走(甚至是自我规避的游走等)将在广阔的中间区域停留一段指数时间:任何时候,步行者开始向出口走去,远离EXIT的大量边缘将作为“排斥力”,将其推向中间。 他们对参数进行形式化的方式是表明,直到访问〜2 n / 2个顶点之前,随机算法甚至都没有在图中找到任何循环:到目前为止,所看到的诱导子图只是一棵树,没有提供有关退出顶点可能在哪里的任何信息。 我有兴趣更精确地确定此问题的随机查询复杂度。我的问题是这样的: 谁能提出一种经典算法,以不到2 n的步长找到EXIT顶点,比如O(2 n / 2)或O(2 2n / 3)?或者,有人能给出比Ω(2 n / 2)更好的下界吗? (请注意,根据生日悖论,在O(2 n / 2)个步骤之后在图形中查找循环并不难。问题是,是否可以使用循环来获取有关EXIT顶点在哪里的任何线索。) 如果有人可以改善超过Ω(2 n / 2)的下界,那么据我所知,这将提供具有指数量子加速比的黑盒问题的第一个可证明示例,其随机查询复杂度大于√N 。(其中N〜2 n是问题大小。) 更新:我从安德鲁·柴尔兹(Andrew Childs)那里了解到,在本笔记中,芬纳(Fenner)和张(Zhang)明确将联合树的随机下界提高到Ω(2 n / 3)。如果他们愿意接受恒定的(​​而不是指数上较小的)成功概率,我相信他们可以将界限进一步提高到Ω(2 n / 2)。

2
姚明关于蒙特卡罗算法的极小极大原理
著名的姚明的极小极大原理阐明了分布复杂度和随机复杂度之间的关系。设为输入PPP的有限集和确定性算法的有限集来解决。还令表示输入分布,而表示的概率分布。然后原理说明 XX\mathcal{X}AA\mathcal{A}PPPDD\mathcal{D}RR\mathcal{R}AA\mathcal{A}minA∈AEcost(A,D)≤maxx∈XEcost(R,x)for all D and R.minA∈AEcost(A,D)≤maxx∈XEcost(R,x)for all D and R.\min_{A\in\mathcal{A}}\quad\mathbb{E} cost(A,\mathcal{D}) \leq \max_{x\in\mathcal{X}}\quad\mathbb{E} cost(\mathcal{R},x) \quad\quad\text{for all $\mathcal{D}$ and $\mathcal{R}$}. 这个证明直接来自冯·诺依曼关于零和游戏的极小极大定理。 姚明的原理通常只涉及拉斯维加斯算法,但可以将其推广为蒙特卡洛算法,如下所示。 12minA∈AEcost2ϵ(A,D)≤maxx∈XEcostϵ(R,x)for all D, R and ϵ∈[0,1/2]12minA∈AEcost2ϵ(A,D)≤maxx∈XEcostϵ(R,x)for all D, R and ϵ∈[0,1/2]\frac12 \min_{A\in\mathcal{A}}\quad\mathbb{E} cost_{2\epsilon}(A,\mathcal{D}) \leq \max_{x\in\mathcal{X}}\quad\mathbb{E} cost_{\epsilon}(\mathcal{R},x)\quad\quad\text{for all $\mathcal{D}$, $\mathcal{R}$ and $\epsilon\in [0,1/2]$} 其中costϵ(⋅,⋅)costϵ(⋅,⋅)cost_\epsilon(\cdot,\cdot)表示的蒙特卡洛算法,至多犯错概率的成本ϵϵ\epsilon。 在Yao的原始论文中,定理3中给出了蒙特卡洛算法的关系,而没有证明。有任何提示证明吗?

3
将“中间技巧”推广到更高维度?
对于采用实数值的随机算法AA\mathcal{A},“中位技巧”是一种将失败概率降低到任何阈值的简单方法δ&gt;0δ&gt;0\delta > 0,其代价是仅乘以t=O(log1δ)t=O(log⁡1δ)t=O(\log\frac{1}{\delta})开销。即,如果AA\mathcal{A}的输出落入‘良好范围’I=[a,b]I=[a,b]I=[a,b]的概率(至少)2/32/32/3,然后运行独立拷贝A1,…,AtA1,…,At\mathcal{A}_1,\dots,\mathcal{A}_t并考虑它们的输出的中间值a1,…,ata1,…,ata_1,\dots,a_t将导致下降的值III的概率至少是1−δ1−δ1-\delta由切尔诺夫/ Hoeffding界限。 有没有把这个“技巧”推广到更高的维度,例如RdRd\mathbb{R}^d,现在好的范围是凸集(或球,或任何足够好的结构化集)?即,给定一个随机算法AA\mathcal{A}输出在值RdRd\mathbb{R}^d,和一个“好一套” S⊆RdS⊆RdS\subseteq \mathbb{R}^d使得Pr{A(x,r)∈S}≥2/3Pr{A(x,r)∈S}≥2/3\mathbb{P}_r\{ \mathcal{A}(x,r) \in S \} \geq 2/3对于所有xxx,如何能一个升压成功的概率为1−δ1−δ1-\delta对数成本只有1/δ1/δ1/\delta? (表述是不同的:给定的固定,arbirary a1,…,at∈Rda1,…,at∈Rda_1,\dots, a_t\in \mathbb{R}^d与保证至少2t32t3\frac{2t}{3}的aiaia_i的属于SSS,有没有输出从一个值过程SSS?如果是这样,那有没有效率?) 为了达到上述要求,一个人对的最低假设SSS是什么? 抱歉,这真是微不足道-我找不到这个问题的参考...

1
浓度范围流程图
当我教尾巴界限时,我使用通常的进度: 如果rv为正,则可以应用马尔可夫不等式 如果您具有独立性并且也有有限方差,则可以应用切比雪夫不等式 如果每个独立的rv 也具有所有矩的边界,则可以使用Chernoff边界。 在此之后,事情变得不那么干净了。例如 如果您的变量均值为零,那么伯恩斯坦不等式会更方便 如果您只知道合并函数是Lipschitz,则存在广义的McDiarmid风格的不等式 如果您的依赖性较弱,则存在Siegel风格的界限(如果您的依赖性为负,那么Jansson不等式可能是您的朋友) 在方便的流程图或决策树的任何地方都存在参考,描述了如何选择“正确的”尾部约束(或者甚至当您不得不潜入塔拉格朗的大海时)? 我在问的一部分是为了给我一个参考,一部分是为了让我可以指向我的学生,部分原因是如果我足够烦恼并且没有人,我可能会尝试自己做一个。

2
除詹森不等式之外,以表示的
如果fFf是凸函数然后Jensen不等式指出f(E[x])≤E[f(x)]F(Ë[X])≤Ë[F(X)]f(\textbf{E}[x]) \le \textbf{E}[f(x)],并且加以必要的变更时fFf是凹的。显然,在最坏的情况下不能上限E[f(x)]Ë[F(X)]\textbf{E}[f(x)]在以下方面f(E[x])F(Ë[X])f(\textbf{E}[x])为凸fFf,但有一个约束,且在去如果这个方向fFf是凸但不是太凸?有一些标准的约束,让上凸函数条件fFf(以及可能的分布以及,如果需要的话),这将让你得出这样的结论E[f(x)]≤φ(f)f(E[x])Ë[F(X)]≤φ(F)F(Ë[X])\textbf{E}[f(x)] \le \varphi(f)f(\textbf{E}[x]),其中φ(f)φ(F)\varphi(f)是曲率/度的凸度的某个函数fFf?类似于Lipschitz病状吗?

2
估计多项式时间的平均值
令为一个函数。我们想估计的平均值;即:。˚F ë [ ˚F (Ñ )] = 2 - Ñ Σ X ∈ { 0 ,1 } Ñ ˚F (X )f:{0,1}n→(2−n,1]f:{0,1}n→(2−n,1]f \colon \lbrace 0,1 \rbrace ^ n \to (2^{-n},1]fffE[f(n)]=2−n∑x∈{0,1}nf(x)E[f(n)]=2−n∑x∈{0,1}nf(x)\mathbb{E}[f(n)]=2^{-n}\sum_{x\in \lbrace 0,1 \rbrace ^ n}f(x) NOTE: In the OP, the range of f was [0,1]. I changed this a bit for …

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.