计算机科学

为学生,研究人员和计算机科学从业者提供的问答

1
在动态图上维护连接的组件信息的最有效的算法和数据结构是什么?
假设我有一个无向的有限稀疏图,并且需要能够有效地运行以下查询: 一世小号çø Ñ Ñ Ê Ç 吨ë d(N1个,N2)IsConnected(N1,N2)IsConnected(N_1, N_2) - 如果在和之间存在路径,则返回,否则返回N 1 N 2 FŤTTñ1个N1N_1ñ2N2N_2FFF Cø Ñ Ñ Ê Ç 吨ë dñØ dÈ 小号(Ñ)ConnectedNodes(N)ConnectedNodes(N) -返回从可访问的节点集ñNN 通过预先计算图形的连接组件,可以轻松完成此操作。这两个查询都可以在时间中运行。O (1 )O(1)O(1) 如果还需要能够任意添加边 -那么我可以将组件存储在不相交的数据结构中。每当添加一条边时,如果它连接了不同组件中的两个节点,我将合并这些组件。这会将成本增加到,将成本增加到和(也可能是)。一ddËdGÈ (Ñ1个,N2)AddEdge(N1,N2)AddEdge(N_1, N_2)甲d d é d 克ë ø (我Ñ v Ë ř 小号Ë 甲Ç ķ é ř 米一个Ñ Ñ (| Ñ …

1
如果显示UNIQUE k-SAT在P中,是否暗示P = NP?
Valiant&Vazirani证明,在多项式时间的随机概率减少下,SAT可还原为UNIQUE SAT。Calabro 等。表明UNIQUE k-SAT与k-SAT一样硬。现在的问题是,如果有人表明UNIQUE k-SAT在P中,是否意味着P = NP? 参考文献 LG Valiant和VV Vazirani:“ NP就像检测独特的解决方案一样容易。” 理论计算机科学 47:85–93,1986。(PDF,ScienceDirect)。 C. Calabro,R。Impagliazzo,V。Kabanets和R. Paturi,“独特的k-SAT的复杂性:k-CNF的隔离引理”。 [计算机与系统科学学院 74(3):(386-393,2008. PDF在ACM数字图书馆,免费的PDF)。

1
什么是遗忘的RAM,它如何工作?
有人可以向我解释什么是完全遗忘的RAM吗? 我发现以下解释对我来说很清楚,但我想对技术方面有所了解: 加密并不总是足以确保隐私。如果攻击者可以观察到您对加密存储的访问方式,他们仍然可以了解有关您的应用程序运行情况的敏感信息。遗忘的RAM通过在访问内存时不断改组内存来解决此问题。从而完全隐藏正在访问的数据或什至是先前访问的时间。

1
问题的名字是什么?(将图形划分为三个封面)
我想知道这个问题是否有名字: 给定一个简单的图,其边缘被着色为红色,蓝色和绿色,,是否存在一个顶点着色使得每个边缘都有一个具有相同颜色的端点?Ç :V → { 乙,- [R ,G ^ }G=(V,B∪R∪G)G=(V,B∪R∪G)G=(V,B\cup R\cup G)c:V→{B,R,G}c:V→{B,R,G}c:V\to \{B,R,G\} 此外,这是否已知是NP完全的? 这也可以看作是CSP的一种特例(或2SAT的概括),其中每个约束是2个变量的析取,可以采用三个值之一,并且同一变量对上没有两个约束。

1
给定n个字符串,其中一个是另一个的子字符串吗?
假设我们得到了字符串的集合。我想知道这些字符串中的任何一个是否是集合中任何其他字符串的子字符串。换句话说,我想要一种用于以下任务的算法:ññn小号1个,… ,Sñ小号1个,…,小号ñS_1,\dots,S_n 输入:小号1个,… ,Sñ小号1个,…,小号ñS_1,\dots,S_n 输出:使得是和的子字符串,或者如果不存在这样的则为None我,Ĵ一世,Ĵi,j小号一世小号一世S_i小号Ĵ小号ĴS_ji ≠ j一世≠Ĵi\ne j我,Ĵ一世,Ĵi,j 是否有一种有效的算法? 如果将“子字符串”替换为“前缀”,则存在一种有效的算法(对字符串进行排序,然后进行线性扫描以比较相邻的字符串;排序将确保子字符串相邻)。但是测试任何字符串是否为其他字符串的子字符串似乎更具挑战性。一个朴素的算法是遍历所有对,但这需要子字符串测试。有没有更有效的算法?我,Ĵ一世,Ĵi,jΘ (n2)Θ(ñ2)\Theta(n^2) 我猜我们可以称其为“所有对子字符串测试”或类似的名称。 我的最终目标是修剪集合,以便通过删除集合中其他子字符串的每个子字符串,使任何字符串都不是其他子字符串。

1
反向传播算法的动量项如何工作?
当使用带有动量项的反向传播算法更新神经网络的权重时,是否也应将学习率应用于动量项? 我可以找到的有关动量的大多数信息都使方程看起来像这样: W′i=Wi−αΔWi+μΔWi−1w ^一世′=w ^一世-αΔw ^一世+μΔw ^一世-1个W_{i}' = W_{i} - \alpha \Delta W_i + \mu \Delta W_{i-1} 其中αα\alpha是学习率,是动量项。μμ\mu 如果项大于项,则在下一次迭代中,前一次迭代的对权重的影响将大于当前值。μμ\muαα\alphaΔWΔW\Delta W 这是动量术语的目的吗?还是方程看起来更像这样? W′i=Wi−α(ΔWi+μΔWi−1)Wi′=Wi−α(ΔWi+μΔWi−1)W_{i}' = W_{i} - \alpha( \Delta W_i + \mu \Delta W_{i-1}) 即。通过学习率扩展一切吗?

3
数据流分析,抽象解释和类型推断是否等效?
@Babou 对最近一个问题的回答使我想起,我一次看过一篇关于数据流分析的等效性(就可以推断或证明的事实以及运行推理算法的时间复杂性)的论文,抽象解释和类型推断。 在某些子情况下(例如在前向上下文相关的过程间数据流分析与抽象解释之间),对我来说等效性是相对明显的,但对于其他比较而言,这个问题似乎更加微妙。例如,我不知道如何使用Hindley-Milner类型推断来证明可以通过对流量敏感的数据流分析来证明的某些属性。 有哪些开创性的参考文献讨论数据流分析,抽象解释和类型推断之间的等效性(或差异)?

1
来自软件基金会的baz_num_elts练习
我正在Software Foundations中进行以下练习: (** **** Exercise: 2 stars (baz_num_elts) *) (** Consider the following inductive definition: *) Inductive baz : Type := | x : baz -> baz | y : baz -> bool -> baz. (** How _many_ elements does the type [baz] have? (* FILL IN HERE *) [] …
9 coq 

1
为没有MMU的处理器编写多任务操作系统
我一直在考虑为某些ARM处理器编写一个业余操作系统。有很多流行的带有ARM MPU的单板计算机,所以我只想购买其中一台(选择一本带有更开放的文档)。当我发现即使内存确实足够的板卡也没有带有内存管理单元的MPU时,我感到很惊讶。 由于我一直在使用i386 +处理器,除其他一些Microchip PIC之外,什么都没有,所以我现在很困惑,不确定是否可以编写一个工作正常的操作系统,与编写的OS相比,其功能不会受到限制。用于带有MMU的MPU。 我可以想到一些“替换”或“模拟” MMU的解决方案,但我有几个问题: 在16位和32位模式的Intel处理器上,存在一种使用段和段选择器通过不同任务使用不同内存块的方法。这意味着在x86上执行任务切换时,可以通过更改段寄存器的内容来更改内存空间。是否有可用于ARM体系结构的内存分段的一般概念? 通过加载链接的目标文件而不是可执行文件,我可以使用重定位(修复程序)或与位置无关的代码来将任务指向存储器中的任务,就像使用分页结构映射存储器一样。这足够有效吗? 我还阅读了有关ARM处理器上的内存保护单元的内容。这些对您有帮助吗? 在没有MMU的系统上是否有任何“常规”方式来管理任务?

1
有效地找到一组自然数的最大成对GCD
考虑以下问题: 令是自然数的有限子集。S={s1,s2,...sn}S={s1,s2,...sn}S = \{ s_1, s_2, ... s_n \} 令 | 其中是和最大公约数G={G={G = \{ gcd(si,sj)gcd(si,sj)gcd(s_i, s_j)si,sj∈S,si,sj∈S,s_i, s_j \in S, si≠sj}si≠sj} s_i \neq s_j \}gcd(x,y)gcd(x,y)gcd(x,y)xxxyyy 找到的最大元素。GGG 这个问题可以通过使用Euclid算法获取每对最大公约数并跟踪最大对数来解决。 有更有效的解决方法吗?

1
存在什么算法可以求解自然数线性系统?
我在看以下问题: 给定自然数维向量和一些输入向量,是与自然数系数的线性组合吗?v 1,… ,v m u u v iñnnv1个,… ,v米v1,…,vmv_1, \ldots, v_müuuüuuv一世viv_i 即是否有一些,其中? Ù = 吨1 v 1 + ⋯ + 吨米v 米Ť1个,… ,t米∈ ñt1,…,tm∈Nt_1, \ldots, t_m \in \mathbb{N}u = t1个v1个+ ⋯ + t米v米u=t1v1+⋯+tmvmu = t_1 v_1 + \dots + t_m v_m 显然,此问题的实数版本可以使用高斯消除法解决。我想知道,是否已研究此问题的整数版本?有什么算法可以解决呢? 请注意,这是使用自然数,而不是模数,因此这与中国余数定理和类似系统有些不同。另外,它似乎与Diophantine方程有关,但是我想知道在只考虑非负整数的情况下该怎么做?这也使人联想到多维子集和问题,可以使我们对每个向量进行任意数量的复制。似乎还与测试是否是生成的晶格的元素有关,除了这里我们只允许使用非负系数的线性组合。üuuv1个,… ,v米v1个,…,v米v_1,\dots,v_m 对于任何感兴趣的人,这都是通过查看Parikh向量是否在线性集中来实现的,就像Parikh定理一样。 特别是,我对一种可以仅使用自然数运算来解决问题的算法感兴趣,而不必使用实数/浮点数。

2
布尔函数图灵完成了吗
布尔函数是函数。F:{ 0 ,1 }ñ→ { 0 ,1 }F:{0,1个}ñ→{0,1个}f:\{0,1\}^n\rightarrow\{0,1\} 布尔基已知是图灵完备的,因为它允许翻转任何序列或使其保持不变。门也可以这样说。小号∈ { 0 ,1 } X Ò ř(∨ ,∧ )(∨,∧)(\vee,\wedge)小号∈ { 0 ,1 }s∈{0,1个}s\in\{0,1\}X Ò řXØ[R\mathrm{XOR} 从这个意义上讲,我们可以从初始机器配置这样和就会具有连续值:b 我 ∈ { 0 ,1 } X ø - [R v我b =( b1个,… ,bñ)b=(b1个,…,bñ)\textbf{b}=(b_1,\ldots,b_n)b一世∈ { 0 ,1 }b一世∈{0,1个}b_i\in\{0,1\}X Ò řXØ[R\mathrm{XOR}v一世v一世\textbf{v}_i b ⊕ v1个⊕ v2⊕ v3…b⊕v1个⊕v2⊕v3… …

6
图灵机在某个时候是否具有无限的假设?
在上一个问题中,什么是算法?,我问有一个基于预先计算的值数组返回函数值的“算法”是否是一种算法。 引起我注意的答案之一是: 阶乘示例进入另一种计算模型,称为非均匀计算。图灵机是统一计算模型的一个示例:它具有单个有限的描述,并且可用于任意大尺寸的输入。换句话说,存在一个TM可以解决所有输入大小的问题。 现在,我们可以改为按以下方式考虑计算:对于每个输入大小,都有一个TM(或某些其他计算设备)可以解决该问题。这是一个非常不同的问题。注意,单个TM不能存储每个整数的阶乘,因为TM具有有限的描述。但是,我们可以制作一个TM(或C中的程序)来存储所有小于1000的数字的阶乘。然后,我们可以制作一个存储所有1000到10000之间的数字的阶乘的程序。依此类推。 难道不是每个TM都实际上采取某种方式来处理无穷大吗?我的意思是,即使是具有有限描述的TM,也可以通过算法将任意数量的N的阶乘计算机进行计算 int fact(int n) { int r = 1; for(int i=2;i<=n;i++) r = r*i; return r; } 包含以下假设:TM具有“硬件”以通过“ <=”比较器比较任意大小的数字,并且还具有ADDers可以将i递增到任意数字,而且具有表示任意大小的数字的能力。 我想念什么吗?为什么我在其他问题中提出的方法在无限性方面不如在这种方法中可行?

1
概率分布与计算复杂度
这个问题是关于概率论和计算复杂性的交集。一个主要的观察结果是,某些分布比其他分布更易于生成。例如,问题 给定一个号码ñnn,返回一个均匀分布的数一世ii与0 ≤ 我&lt; Ñ0≤i&lt;n0 \leq i < n。 很容易解决。另一方面,以下问题变得或似乎要困难得多。 给定数字ñnn,返回一个数字一世ii,使一世ii是Peano算术中长度n的有效证明(的哥德尔数)。此外,如果此类证明的数量为p - [R (Ñ )pr(n)pr(n),则获得长度为任何特定证明的概率ñnn 应为1个p - [R (Ñ )1pr(n)\frac{1}{pr(n)}。 这向我暗示了概率分布带有计算复杂性的概念。此外,这种复杂性可能与潜在的决策问题(无论是子递归,例如PPP,ËXPEXPEXP,递归,可递归枚举还是更差)密切相关。 我的问题是:如何定义概率分布的计算复杂性,特别是在无法确定潜在决策问题的情况下。我确定已经对此进行了调查,但不确定在哪里查找。

1
如何从Earley向量重建语法树森林?
使用Earley向量作为识别器非常简单:到达字符串的末尾时,您只需检查从位置0开始的已完成的公理化生产。如果您至少有一个,则接受该字符串。 使用Earley向量重建解析树不太明显。实际上,我无法弄清楚算法程序的工作方式,而且我发现的唯一参考文献要么含糊不清,要么含糊不清。有人可以阐明吗?

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.