计算机科学

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

3
找出是谁来买羊角面包
一个团队决定每天早上有人应给每个人带羊角面包。每次都不应该是同一个人,因此应该有一个系统来确定下一个轮到谁。这个问题的目的是确定一种算法,以确定明天将把羊角面包带给谁。 约束,假设和目标: 谁来带羊角面包,将在前一天下午确定。 在任何一天,都会有人不在。该算法必须选择当天要出席的人。假设所有缺勤都是提前一天知道的,因此可以在前一个下午确定新月形面包的购买者。 总体而言,大多数人都在大多数时间都在场。 为了公平起见,每个人都应该购买羊角面包,其次数应与其他人一样多。(基本上,假设每个团队成员都有相同的钱用于羊角面包。) 为了减轻花名册的无聊感,最好具有一些随机性或至少感知到的随机性。这不是一个硬性约束:它更多是一种审美判断。但是,同一个人不应连续两次被选中。 带羊角面包的人应该事先知道。因此,如果人P在D日带上羊角面包,那么应该在人P所在的前一天确定这一事实。例如,如果总是在前一天确定了羊角面包的携带者,那么应该是前一天在场的人之一。 团队成员的数量足够少,以至于存储和计算资源实际上是无限的。例如,该算法可以依靠过去曾带谁羊角面包的完整历史记录。每天在快速PC上进行几分钟的计算就可以了。 这是一个现实问题的模型,因此,如果您认为这些假设可以更好地模拟场景,则可以自由地挑战或完善这些假设。 产地:找出谁去购买羊角由弗洛里安Margaine。我在这里的重新表述有稍微不同的要求。

2
PAC学习之前发生了什么
我正在研究PAC学习(计算学习理论),它是一个没有机器学习/ AI知识的初学者。我主要从历史的角度来研究模型。 为此,最重要的当然是基于模型的结果。有足够的论文记录这些结果。但是,我也想写一些关于PAC学习之前发生的事情的信息,以勾勒出Valiant PAC模型概念出现的历史背景。 到目前为止,我还没有发现任何论文/调查记录这一点,而且作为一个不真正了解机器学习的人,很难找到答案。因此,我在这里问这个软问题,因为我相信有足够的专家可以为我提供帮助。引用受到高度赞赏。 当我可以研究和研究PAC之前发生的事情时,我可能会更好地了解学术界为何如此热衷于PAC模型,这也是我的历史著作中有记载的地方!

1
分析Quicksort时要使用什么措施
我试图理解为什么使用Lomuto分区和固定枢轴的快速排序在随机生成的输入上表现不稳定,但总体效果不佳。我在想,即使输入是随机生成的,序列也可能有很多顺序,但是我不确定如何测量序列中的混乱程度。我曾考虑过使用反演次数,但从另一个问题中我看到,我问这不是一个很好的方法。 我怀疑我的随机序列具有很多“顺序”的原因是,随机化枢轴解决了性能问题。但是从理论上讲,这些所谓的“随机”输入序列应该不存在任何性能问题。


1
寻求关于生物信息学或计算基因组学的科普书
我认识的一个15岁聪明的人对计算机科学和遗传学感兴趣。我告诉她,这些领域完美地结合在一起。我想给她写一本有关生物信息学或计算基因组学的书。我正在寻找一本有趣的书,而不是一本教科书。特别是,它应该激发人们去研究该领域,而不是旨在提供本身的深入知识。我对遗传算法的书不感兴趣。有什么建议么?


1
具有不同初始状态/接受状态的两个DFA接受的语言之间的差异?
最近,我问了一个关于Math SE 的问题。暂无回应。该问题与该问题有关,但涉及计算机科学的更多技术细节。 给定两个DFA和,其中状态集,输入字母以及和是相同的,初始状态和最终(接受)状态可以不同。令和分别为和接受的语言。B = (Q ,Σ ,δ ,q 2,F 2)A B L 1 L 2 A BA=(Q,Σ,δ,q1,F1)A=(Q,Σ,δ,q1,F1)A = (Q, \Sigma, \delta, q_1, F_1)B=(Q,Σ,δ,q2,F2)B=(Q,Σ,δ,q2,F2)B = (Q, \Sigma, \delta, q_2, F_2)AAABBBL1L1L_1L2L2L_2AAABBB 有四种情况: q1=q2q1=q2q_1 = q_2和。F1=F2F1=F2F_1 = F_2 q1≠q2q1≠q2q_1 \neq q_2和。F1=F2F1=F2F_1 = F_2 q1=q2q1=q2q_1 = q_2和。F1≠F2F1≠F2F_1 \neq F_2 q1≠q2q1≠q2q_1 \neq q_2和。F1≠F2F1≠F2F_1 \neq …

2
当使用硬币翻转比较器时,是否有一种“排序”算法返回随机排列?
受这个问题的启发,在这个问题中,问询者想知道在标准搜索算法中使用的比较器被公平的硬币翻转代替时运行时间是否发生了变化,并且微软也未能编写统一的排列生成器,因此我的问题是: 是否有一个基于比较的排序算法,具体取决于我们对比较器的实现: 使用真正的比较器时,将元素按排序顺序返回(即,比较符合我们在标准排序算法中的预期) 当比较器被公平的硬币翻转代替时,返回元素的均匀随机排列(即x < y = true,无论x和y的值如何,返回概率均为1/2) 排序算法的代码必须相同。只有比较“黑匣子”内部的代码可以更改。

2
概率搜索数据结构有用吗?
SkipList提供与平衡树相同的搜索范围,其优点是不需要重新平衡。由于SkipList是使用随机硬币翻转构成的,因此只要SkipList的结构足够“平衡”,这些界限就成立。特别是,对于某些常数,概率为,插入元素后,平衡结构可能会丢失。O(logn)O(log⁡n)O(\log n)1/nc1/nc1/n^cc>0c>0c>0 假设我想将跳过列表用作可能永远运行的Web应用程序中的存储后端。因此,经过一些多项式运算之后,SkipList的平衡结构很可能会丢失。 我的推理正确吗?这样的概率搜索/存储数据结构是否具有实际应用,如果可以,那么如何避免上述问题? 编辑:我知道SkipList有确定性变体,与(经典)随机化SkipList相比,实现起来要复杂得多。

1
以下转换是否保留上下文无关性?
我遇到了涉及操纵上下文无关语言的问题。令为上下文无关的语言。限定大号# = { X :X 我 ∈ 大号每我= 0 ,1 ,2 ,。。。}。是大号#总是上下文? 我的猜测是它将保留上下文无关性。谁能提供这个的基本证明?大号LL大号#= { x :x一世∈ 大号L#={x:xi∈LL^{\#} = \{ x : x^i \in L我= 0 ,1 ,2 ,。。。}i=0,1,2,...}i=0,1,2,...\}大号#L#L^{\#}

2
用于括号匹配的二态图灵机
在大学里,我们一直在学习通用计算机和图灵机的计算理论。出色的理论结果之一是,以可能会变大的字母(符号)为代价,您可以将状态数减少到仅2个。 我一直在寻找不同图灵机的示例,并且提供的常见示例是括号匹配器/检查器。本质上,它检查一串括号(()()()))()()()是否是否平衡(例如,前面的示例将为不平衡返回0)。 尽我所能,我只能使它成为三态机。我想知道是否有人可以将其降低到理论上的最小值2,以及他们的方法/状态/符号是什么! 为了清楚起见,括号是“夹在”空白磁带之间的,因此在上面的示例中, - - - - - - - (()()()))()()() - - - - - - -将是磁带上的输入。该字母将包括(,),1,0,-,和*halt*状态不能算作一个状态。 作为参考,我使用的三种状态方法如下:状态描述: State s1: Looks for Closing parenthesis State s2: Looks for Open parenthesis State s3: Checks the tape to ensure everything is matched Symbols: ),(,X 转换列为: Action: State Symbol NewState WriteSymbol …

1
近似于0-1整数程序的硬度
给定一个形式的(二进制)整数程序:0,10,10,1 mins.t.f(x)Ax=bxi≥0xi∈{0,1}∀i∀iminf(x)s.t.Ax=bxi≥0∀ixi∈{0,1}∀i \begin{array}{lll} \text{min} & f(x) & \\ \text{s.t.} & A x = b \\ & x_i \ge 0 & \quad \forall i\\ & x_i \in \{0,1\} & \quad \forall i \end{array} 注意,的大小在任何一个维度中都不固定。AAA 我相信Garey&Johnson已证明这个问题很难近似(强烈完全)。如果是这样,当A ,b具有二进制项并且f (x )是线性函数(f (x )= ∑ i c i x i)时,情况仍然如此吗?NPNP{\sf NP}A,bA,bA, bf(x)f(x)f(x)f(x)=∑icixif(x)=∑icixif(x) = \sum_i c_i …

2
二维峰发现复杂度(MIT OCW 6.006)
在43:30的MIT OCW 6.006的朗诵视频中, 给定一个具有列和行的矩阵,二维峰查找算法(其中一个峰是大于或等于其相邻邻居的任何值)被描述为:m×n米×ñm \times nA一个Am米mnñn 注意:如果在通过来描述列时出现混淆,我表示歉意,但这是背诵视频描述它的方式,我尝试与该视频保持一致。这让我非常困惑。nñn 选择中间的列 // 具有复杂性n/2ñ/2n/2Θ(1)Θ(1个)\Theta(1) 求列的最大值// 具有复杂度, 因为一列中有行Θ (米)米n/2ñ/2n/2Θ(m)Θ(米)\Theta(m)m米m 检查水平。最大值的行邻居,如果大于,则找到一个峰值,否则以递归// 具有复杂度T (n / 2 ,m )T(n/2,m)Ť(ñ/2,米)T(n/2, m)T(n/2,m)Ť(ñ/2,米)T(n/2,m) 然后要评估递归,背诵教练说 T(1,m)=Θ(m)Ť(1个,米)=Θ(米)T(1,m) = \Theta(m)因为它找到最大值 Ť(n ,m )= Θ (1 )+ Θ (m )+ T(n / 2 ,m )(E1)(E1)Ť(ñ,米)=Θ(1个)+Θ(米)+Ť(ñ/2,米) T(n,m) = \Theta(1) + \Theta(m) + T(n/2, m) \tag{E1} 我了解下一部分,在视频中的52:09,他说要把当作常量,因为行数永不改变。但我不知道这如何导致以下产品:米米m …


2
语义网络是本体吗?
我在知识表示中几乎没有定义困难,并寻求可靠的帮助来区分它们。我一直在Wikipedia和许多网站上搜索本体和语义网络之间的区别(不要与语义网络混淆)。虽然语义网络上的Wikipedia页面从不提及本体,但是它们看起来极为相似,并且在CS中具有相似的应用。 我的猜测是语义网络是一种适用于AI研究的本体。但是,我不知道两者之间的区别。所以我的问题很简单: 语义网络是本体吗?如果是这样,它们是同义词吗?或有什么区别?

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.