计算机科学

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


2
高阶函数是否为函数式编程提供了更多功能?
我在cstheory.SE上问过类似的问题。 根据关于Stackoverflow的答案,有一种算法在非惰性纯函数式编程语言上具有复杂度,而在命令式编程中,同一算法是。向FP语言添加惰性可以使算法。Ω (n )Ω (n )Ω (ñ 日志n )Ω(nlog⁡n)\Omega(n \log n)Ω (n )Ω(n)\Omega(n)Ω (n )Ω(n)\Omega(n) 比较带有和不带有高阶函数的FP语言是否存在等效关系?它仍然是图灵完整的吗?如果是这样,那么FP缺少高阶语言是否会使该语言的“功能”或效率降低?

1
派系问题的受限版本?
考虑下面的Clique问题版本,其中输入的大小为,我们被要求找到大小为k的小集团。限制在于,决策过程无法将输入图更改为任何其他表示形式,并且不能使用任何其他表示形式来计算其答案,除了超出输入图的log (n k)个额外位之外。例如,可以在蛮力算法中使用这些额外的位来跟踪穷举搜索团的状态,但是欢迎决策程序以仍然可以确定问题的任何其他方式使用它们。ñnnķkk日志(nķ)log⁡(nk)\log(n^k) 关于这一点的复杂性,目前是否知道?是否对Clique的其他限制做了任何工作,如果可以,您能否指导我进行此类工作?

2
用固定语言对商进行封闭
我非常感谢您的帮助: 对于任何固定的我需要确定以下运算符下是否存在闭包:大号2L2L_2 一种[R(大号)= { X | ∃ ÿ∈ 大号2:x y∈ 大号}Ar(L)={x∣∃y∈L2:xy∈L}A_r(L)=\{x \mid \exists y \in L_2 : xy \in L\} 。一种升(大号)= { X | ∃ ÿ∈ 大号:X ÿ∈ 大号2}Al(L)={x∣∃y∈L:xy∈L2}A_l(L)=\{x \mid \exists y \in L : xy \in L_2\} 相关选项为: 常规语言在中关闭。A r,对于任何语言L 2一种升AlA_l一种[RArA_r大号2L2L_2 对于某些语言,常规语言在A l resp 下关闭。A r和某些语言L 2的常规语言不会在A l resp …

1
溢出安全求和
假设我给了固定宽度的整数(即它们适合宽度w的寄存器),a_1,a_2,\点a_n,使得它们的和a_1 + a_2 + \ dots + a_n = S也适合宽度w的寄存器。nnna 1,a 2,… a n a 1 + a 2 + ⋯ + a n = S wwwwa1,a2,…ana1,a2,…ana_1, a_2, \dots a_na1+a2+⋯+an=Sa1+a2+⋯+an=Sa_1 + a_2 + \dots + a_n = Swww 在我看来,我们总是可以将数字置换为b1,b2,…bnb1,b2,…bnb_1, b_2, \dots b_n,以便每个前缀和Si=b1+b2+⋯+biSi=b1+b2+⋯+biS_i = b_1 + b_2 + \dots + b_i也适合宽度为w的寄存器www。 …


1
为线性反馈移位寄存器选择抽头
我对如何为线性反馈移位寄存器选择抽头感到困惑。 我有一个图,它示出了具有连接多项式的LFSR 。五个阶段​​标记为:R 4 ,R 3 ,R 2 ,R 1和R 0,抽头从R 0和R 3出来。C(X)= X5+ X2+ 1C(X)=X5+X2+1C(X) = X^5 + X^2 + 1R 4 ,R 3 ,R 2 ,R 1R4,R3,R2,R1R4, R3, R2, R1[R 0R0R0[R 0R0R0R 3R3R3 如何确定这些水龙头?当我得到一个连接多项式但没有图时,我如何知道应该对哪些值进行异或?

2
从三分区问题减少到平衡分区问题
3分区问题询问是否一组整数可以被划分为Ñ使得每个组总结了一些给定的整数集合的三个整数乙。平衡分区问题询问是否可以将2 n个整数划分为两个相等的基数集合,以使两个集合具有相同的总和。已知这两个问题都是NP完全的。但是,3分区是完全NP完全的。在文献中,我还没有看到从3分区到平衡分区的任何减少。3 n3n3nñnn乙BB2 n2n2n 我正在寻找从3分区到平衡分区问题的(简单)减少方法。

3
为什么对二进制数据使用词法分析器/解析器如此错误?
我经常使用lexer / parsers而不是解析器组合器,并且看到从未参加过解析类的人问起解析二进制数据的问题。通常,数据不仅是二进制的,而且是上下文相关的。这基本上导致只有一种令牌,即字节令牌。 有人可以解释为什么对于没有参加语法课程但有理论基础的CS学生来说,用词法分析器/语法分析器解析二进制数据如此错误并且足够清晰。

2
函授问题的可判定限制
该波斯特对应问题(PCP)是不可判定。 PCP的有界版本为 -complete,PCP的标记版本(两个列表之一的单词的首字母必须不同)在P S P A C E [1]中。NPNP\mathrm{NP}PSPACEPSPACE\mathrm{PSPACE} 这些受限制的版本是否用于证明其他问题的某些复杂性结果(通过减少)? PCP是否还有其他受限制的版本,使其可以确定(尤其是完整)?PSPACEPSPACE\mathrm{PSPACE} [1] V. Halava,M. Hirvensalo,R. De Wolf(1999)“ 标记的五氯苯酚是可判定的 ”。

1
破坏基于预共享对称密钥的身份验证协议
考虑以下协议,该协议旨在将(爱丽丝)认证为(鲍勃),反之亦然。乙AAABBB A→B:B→A:A→B:“I'm Alice”,RAE(RA,K)E(⟨RA+1,PA⟩,K)A→B:“I'm Alice”,RAB→A:E(RA,K)A→B:E(⟨RA+1,PA⟩,K) \begin{align*} A \to B: &\quad \text{“I'm Alice”}, R_A \\ B \to A: &\quad E(R_A, K) \\ A \to B: &\quad E(\langle R_A+1, P_A\rangle, K) \\ \end{align*} RRR是随机随机数。 KKK是预共享的对称密钥。 PPP是一些有效载荷。 m KE(m,K)E(m,K)E(m, K)表示用加密的。mmmKKK 米1 米2⟨m1,m2⟩⟨m1,m2⟩\langle m_1, m_2\rangle表示将与组合在一起,可以进行明确的解码。m1m1m_1m2m2m_2 我们假设加密算法是安全的并且正确实现。 攻击者(Trudy)想要说服Bob接受她的有效载荷来自Alice(代替)。Trudy可以假冒Alice吗?怎么样?P 一PTPTP_TPAPAP_A 这与 Mark Stamp的“信息安全:原则与实践”中的练习9.6略有修改。在书籍版本中,没有,最后一条消息仅为,并且要求Trudy“说服Bob她是爱丽丝”。马克·斯坦普(Mark Stamp)要求我们找到两次攻击,而我发现的两次攻击允许Trudy伪造而不是。 PAPAP_AE(RA+1,K)E(RA+1,K)E(R_A+1,K)E(R+1,K)E(R+1,K)E(R+1,K)E(⟨R,PT⟩,K)E(⟨R,PT⟩,K)E(\langle R, P_T\rangle, …

1
证明Nisan-Wigderson伪随机数生成器的安全性
让是部分(米,ķ ) -设计和˚F :{ 0 ,1 } 米 → { 0 ,1 }是布尔函数。该尼散-Wigderson发生器ģ ˚F:{ 0 ,1 } 升 → { 0 ,1 } Ñ定义如下:S={Si}1≤i≤nS={Si}1≤i≤n\cal{S}=\{S_i\}_{1\leq i\leq n}(m,k)(m,k)(m,k)f:{0,1}m→{0,1}f:{0,1}m→{0,1}f: \{0,1\}^m \to \{0,1\}Gf:{0,1}l→{0,1}nGf:{0,1}l→{0,1}nG_f: \{0,1\}^l \to \{0,1\}^n Gf(x)=(f(x|S1),…,f(x|Sn))Gf(x)=(f(x|S1),…,f(x|Sn))G_f(x) = (f(x|_{S_1}) , \ldots, f(x|_{S_n}) ) 为了计算G f的第个比特,我们将x的比特与S i中的索引相乘,然后将f应用于它们。iiiGfGfG_fxxxSiSiS_ifff 假设为1fff对于大小为nc的电路,其中c为常数。我们如何证明Gf为(nc1nc1nc\frac{1}{n^c}ncncn^ccccGfGfG_f伪随机数生成器?(nc2,2nc)(nc2,2nc)(\frac{n^c}{2}, \frac{2}{n^c}) 定义: 的部分 -设计是子集的集合小号1,... ,小号Ñ ⊆ [ …

1
所有系统调用是否都阻塞?
我正在阅读一篇文章,描述系统调用时用户空间和内核空间之间的切换。文章说 在恢复用户模式执行之前,应用程序期望系统调用完成。 现在,直到现在,我还假设某些系统调用为blocking,而另一些为non-blocking。有了以上评论,我现在感到困惑。这是否意味着所有系统调用都被阻止,或者我误解了一个概念?

1
分析纸牌游戏《战争》的修改版
一个通常由儿童玩的简单游戏,战争游戏由两个人使用标准的52张纸牌玩。最初,牌组被洗牌,所有牌都发给了两个玩家两张,因此每张都有随机顺序的26张随机卡。我们假设允许玩家检查(但不能更改)两个牌组,以便每个玩家都知道两个牌组中的纸牌和纸牌顺序。这通常是在实践中完成的记录,但不会改变游戏的玩法,并有助于使该问题的版本完全确定。 然后,玩家展示各自卡组中最上面的卡。露出较大牌的玩家(按照通常的顺序:2、3、4、5、6、7、8、9、10,Jack,Queen,King和Ace)赢得回合,首先将其牌(高牌),然后是对手牌底部的对手牌(低牌)(通常不执行此顺序,而是为了使该问题的第一个版本保持确定性,例如订单将被强制执行)。 如果出现平局,则每个玩家从其牌组顶部再显示四张额外的牌。如果一个玩家显示的第四张牌高于另一位玩家显示的第四张牌,则具有较高第四张牌的玩家将赢得决胜局中所有已玩过的牌,在这种情况下,获胜者的牌首先被放置在获胜者的牌(按照先进先出的顺序;换句话说,较旧的牌排在最底部),其次是败者的牌(以相同的顺序)。 在随后的平局中,重复此过程,直到确定平局获胜者为止。如果一名玩家用完了纸牌并且无法继续打破平局,则仍然拥有纸牌的玩家被宣布为获胜者。如果两个玩家都用完纸牌同时玩游戏,则该游戏被视为平局。 进行回合,直到一名玩家的纸牌用完(即,他的牌组中没有更多的纸牌),此时仍拥有纸牌的玩家被宣布为获胜者。 到目前为止,已经对游戏进行了描述,因此,确定结果并不涉及技巧和运气。由于有52张牌的排列有一定数量的限制,因此可以有一定数量的初始套牌发行方式,并且随之而来(因为游戏中唯一的状态信息是两个玩家的套牌的当前状态)每个游戏配置的结果都可以事先确定。当然,有可能赢得战争游戏,并且以同样的理由失去它。我们也没有保留战争游戏可能导致并列或无限循环的可能性。对于上述完全确定性版本,可能会或可能不会。 尝试使游戏变得更有趣的几种变体(不,并非全部都涉及将其变成饮酒类游戏)。我想让游戏变得更有趣的一种方法是允许玩家在某些回合中声明自动“王牌”。在每个回合中,任何一个球员(或两个球员)都可以宣布“王牌”。如果一个玩家宣布“王牌”,则该玩家将赢得该回合,而与所玩的牌无关。如果两个玩家都宣布“王牌”,则该回合被视为平局,比赛继续进行。 可以想象有多种规则限制玩家的胜败能力(无限的胜局总会导致并列游戏,因为玩家每回合都会胜出)。我根据这个想法提出了两个版本的战争(就在我脑海中;更有趣的版本是可能的),但使用了不同的王牌限制机制: ķkk ķkk 现在,这些问题适用于上述每个版本: 是否存在一种策略,对于某些可能的初始游戏配置,使用该策略的玩家始终会获胜(强烈获胜策略)?如果是这样,这是什么策略?如果没有,为什么不呢? 是否有一种策略,对于某些可能的初始游戏配置,使用该策略的玩家始终可以赢得或强制平局(获胜策略)?如果是这样,这是什么策略?如果没有,为什么不呢? 小号SSS′S′S' 明确地说,我认为“策略”是一种固定算法,它确定使用策略的玩家应该胜过几轮。例如,“只要有可能就干脆”算法是一种策略,也是一种算法(启发式算法)。我要问的另一种方式是: 玩这些游戏是否有任何好的(或证明是最佳的)试探法? kkkk=0k=0k=0

2
识别与段落中日期有关的事件
是否存在一种算法方法来确定段落中给定的日期与段落中的特定事件(短语)相关? 示例,请考虑以下段落: 1970年6月,这位伟大的领袖宣誓就职。但是直到1972年5月国务卿去世后,他才接管了国家的the绳。在1980年中期之前,他一直得到民众的支持,但此后,他的影响力开始下降。 是否有一种算法(确定性或随机性)#可以生成2元组(日期,事件),而该段落暗示该事件发生在该日期上?在上述情况下: (1970年6月,伟大的领袖宣誓) (1972年5月,接任the绳) 甚至更好 (1972年5月,伟大的领导人接管了ins绳) (1980年,影响力下降) #后来加法

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.