计算机科学

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


1
谁创造了“机器学习”一词?
我试图找出谁创造了“机器学习”一词。一个辅助问题是从1959年引用亚瑟·塞缪尔(Arthur Samuel)在哪里定义“机器学习”的领域为: 使计算机无需明确编程即可学习的研究领域 ? 在Internet上可以找到很多对此定义的引用,但是我一直无法找到源。有人将其作为他在1959年发表的关于棋子的论文,但我在那里没有找到任何这样的定义。

1
查找等于一个数字的二项式系数的复杂性
假设您得到一个数字mmm(使用二进制编码中的O(logm)O(log⁡m)O(\log m)位)。 您能在(找到(或确定不存在)n,k \的速度有多快Ñ ,ķ ∈ Ñ,1 &lt; ķ ≤ Ñ2:( nķ) =米ñ,ķ∈ñ,1个&lt;ķ≤ñ2:(ñķ)=米n,k\in \mathbb N, 1<k\leq\frac{n}{2}:{n \choose k}=m ? 例如,给定输入m = 8436285米=8436285m=8436285,可以输出n = 27 ,k = 10ñ=27,ķ=10n=27, k=10。 针对该问题的幼稚算法将遍历n的所有可能值ññn,并搜索满足该属性的k值ķķk。 一个简单的观察结果是,无需检查小于\ log m或大于O(\ sqrt m)的n值。但是(即使我们只能检查每个n值O(1)个可能的k值),这最终导致效率低下的算法,该算法的输入大小成指数增长。ññn日志米日志⁡米\log mÔ (米--√)Ø(米)O(\sqrt m)Ô (1 )Ø(1个)O(1)ķķkññn 一种替代方法是遍历k的可能值ķķk(足以检查{ 2 ,3 ,... ,2 日志m }{2,3,…,2日志⁡米}\{2,3,\ldots,2\log m\}),并为每次检查确定可能的ññn值。然后,我们可以使用: (nķ)ķ&lt; ( nķ) …

6
我如何在学术上说“一台计算机比另一台计算机慢”?
我正在写一篇研究论文,我必须说一个微控制器比另一个微处理器慢。但是,我担心仅仅说它“慢”一点在研究论文中是不合适的。 我对吗?仅仅说一个处理器“慢”就可以,还是我需要说其他话吗?我还能说什么?我想出的最好的办法是,一个具有比另一个低的“计算能力”,或者微控制器具有“低的计算能力”。不幸的是,这些表达式在网上搜索时似乎不太流行。 那么,这是一种更好且学术上正确的说法吗?

2
可证明需要二次时间的问题
我正在寻找输入的下限为Ω(|x|2Ω(|x|2\Omega(|x|^2)的问题的示例。xxx 该问题需要具有以下属性: Ω(n2)Ω(n2)\Omega(n^2)任何算法的运行时证明-第一优先级是具有尽可能简单的下限参数。 O(n2)O(n2)O(n^2)算法(如果可能)也很简单。 输出大小为(或更小)。显然,任何需要加长输出的问题都至少需要相似的运行时间,但这不是我想要的。注意,任何决策问题都适合于此。O(n)O(n)O(n)Ω(n2)Ω(n2)\Omega(n^2) (如果可能)“自然”问题。如果没有正式定义,则任何CS毕业生都会认识到的问题是更可取的。 最近有人问我这样的问题,但无法提出一个简单的问题。我想到的第一个问题是,它被构想为运行时问题。这还不够简单,而且,最近证明这种变形是错误的:o。3SUM3SUM3SUMΩ(n2)Ω(n2)\Omega(n^2) 谈到一个非常不自然的问题,我相信这个问题是输入确定性TM并输入作为输入,并在之后输出磁带头的位置的问题。在上运行时的步骤可能会回答问题。⟨M⟩,x⟨M⟩,x\langle M \rangle,x(|M|+|x|)2(|M|+|x|)2(|M|+|x|)^2xxx 如果您绝对需要,请同意我们正在使用单磁带TM模型,尽管我更喜欢其运行时间与确切模型无关的问题(只要它是合理的模型即可)。 因此,我们能否找到一个运行时间为的简单(证明),自然(众所周知)的问题?Θ(n2)Θ(n2)\Theta(n^2)


3
Cookie框中有多少个Cookie?—平铺星星
随着假期临近,我决定做一些肉桂星。那很有趣(而且结果很好吃),但是当我把第一盘星星放在盒子里时,我的内心书呆子就有些畏缩了,它们不能合在一起了: 几乎!他们有办法适应吗?无论如何,我们如何才能平铺星星?假定这些是规则的六点星,我们当然可以使用众所周知的六边形平铺作为近似,如下所示: 弄乱了右上角的那个,哎呀。 但这是最佳选择吗?提示之间有足够的空间。 考虑到这一点,让我们将自己限制为矩形框和六点规则的恒星,即,每个尖端与其相邻的角之间存在三十度(或)。恒星的特征在于内半径和外半径: - [R我řöπ6π6\frac{\pi}{6}[R一世rir_i[RØror_o [ 来源 ] 请注意,对于,我们有六角形;对于,我们有六边形。我认为考虑这些极端情况(对于Cookie)并将自己限制在两者之间的范围内是合理的,即。- [R我=1[R一世= 3√2⋅ [RØ[R一世=32⋅[RØr_i = \frac{\sqrt{3}}{2} \cdot r_oř我[R一世= 13√⋅ [RØ[R一世=1个3⋅[RØr_i = \frac{1}{\sqrt{3}} \cdot r_o[R一世[R0∈ [ 13√,3√2][R一世[R0∈[1个3,32]\frac{r_i}{r_0} \in \Bigl[\frac{1}{\sqrt{3}}, \frac{\sqrt{3}}{2}\Bigr] 我的cookie的和忽略了缺陷-我只是想品尝,而不是一次成型!- [R ö ≈ 25 米米[R一世≈ 17 米米[R一世≈17米米r_i \approx 17\mathrm{mm}[RØ约25 m m[RØ≈25米米r_o \approx 25\mathrm{mm} 如上所述,最佳的恒星平铺是什么?如果没有静态的最佳平铺,是否有一种算法可以有效地找到良好的平铺?

1
是否有O(n log n)算法可简化4D线?
用于简化行的Ramer-Douglas-Peucker算法具有最坏情况的运行时间。对于适当分布的随机输入,它具有期望的运行时复杂度。在2D模式下,还有其他算法的运行时复杂度为最差,其计算结果与Ramer-Douglas-Peucker算法完全相同。由于这些算法基于“路径(凸)壳”数据结构,因此是否可以将其推广到4D线尚不清楚。O (n log n )O (n log n )Ø (ñ2)O(n2)O(n^2)Ø (ñ 日志n )O(nlog⁡n)O(n \log n)Ø (ñ 日志n )O(nlog⁡n)O(n \log n) 对于4D线,是否有一个(随机的)算法具有(预期的)运行时间(与输入无关)?您可以假设欧几里得距离和整体绝对公差。Ø (ñ 日志n )O(nlog⁡n)O(n \log n)

2
操作系统如何为随机种子创建熵?
在Linux上,文件/dev/random和/dev/urandom文件分别是伪随机字节的阻塞和非阻塞源。 它们可以作为普通文件读取: $ hexdump /dev/random 0000000 28eb d9e7 44bb 1ac9 d06f b943 f904 8ffa 0000010 5652 1f08 ccb8 9ee2 d85c 7c6b ddb2 bcbe 0000020 f841 bd90 9e7c 5be2 eecc e395 5971 ab7f 0000030 864f d402 74dd 1aa8 925d 8a80 de75 a0e3 0000040 cb64 4422 02f7 0c50 6174 f725 0653 2444 …

3
如何在计算机国际象棋中使用人工智能
在某些(历史)论文中,国际象棋被称为人工智能的果蝇。尽管我认为在当前的研究中,仅应用搜索算法最多只能算是高级计算机科学,但我相信仍然存在可以应用(和实践)人工智能技术的领域。 一个简单的例子是开书学习,因为该程序不适合某些类型的职位,因此可以教该程序在开场中使用还是不使用某些动作。我们可以使用一种强化学习的形式并将其自动化:我想我可以对自己进行编程,并增加赢得线路的可能性并降低失去线路的可能性。 更为复杂的示例是使用一种学习评估功能(例如,可以调整块平方表的值)。但是,我在想: 由于存在大量实际位置(相对于实际的打开线的数量)而产生了所有噪音 以及计算机国际象棋游戏的成本(持续时间)以及玩游戏的需求。 如何才能有效地做到这一点?(或者我应该看看其他技术,例如神经网络。)

4
为什么在lambda演算中使函数匿名很重要?
我正在看Jim Weirich的演讲,标题为“ 函数式编程历险记 ”。在本讲座中,他介绍了Y组合器的概念,该概念实质上是为高阶函数找到固定点的。 正如他提到的那样,动机之一是能够使用Lambda微积分来表达递归函数,从而保持Church的理论(可以使用Lambda微积分来计算任何可有效计算的理论)。 问题在于函数不能简单地这样调用自身,因为lambda演算不允许使用命名函数,即 n (x ,y)= x + yn(x,y)=x+yn(x, y) = x + y 不能使用名称“ ”,必须匿名定义:ñnn (x ,y)→ x + y(x,y)→x+y(x, y) \rightarrow x + y 为什么lambda演算具有未命名的函数很重要?如果命名函数违反了什么原则?还是我只是误解了吉姆的视频?

1
可以使哪些类的数据结构持久化?
持久数据结构是不可变的数据结构。对它们的操作将返回数据结构的新“副本”,但会被操作更改;尽管旧的数据结构保持不变。通常,通过共享一些基础数据并避免完全复制数据结构来实现效率。 问题: 是否存在关于可以使数据结构类别持久化(同时保持相同或非常相似的复杂性)的结果? 是否可以使所有数据结构具有持久性(同时保持相同或非常相似的复杂性)? 是否已知任何数据结构无法持久化(同时保持相同或非常相似的复杂性)?

2
可以通过图灵折减来显示NP硬度吗?
Ramírez-Alfonsín 在论文的Frobenius问题的复杂度中,使用图灵归约法证明了一个问题是NP完全的。那可能吗?到底如何 我以为这只有通过多项式时间多减一才有可能。有什么参考吗? 是否存在两种不同的NP硬度概念,甚至是NP完整性?但是然后我感到困惑,因为从实际的角度来看,如果我想证明我的问题是NP难题,我该使用哪一个? 他们开始进行如下描述: 从问题 到另一个问题的多项式时间Turing约简 是一种算法A,它 通过使用假设子例程A'求解来求解 , 使得如果A'是的多项式时间算法, 则A将是多项式时间算法 。我们说 可以被图灵简化为 。P1P1P_1P2P2P_2P1P1P_1P2P2P_2P2P2P_2P1P1P_1P1P1P_1P2P2P_2 一个问题 被调用(图灵)NP-硬,如果有一个NP完全决策问题 使得 可以图灵降低到 。P1P1P_1P2P2P_2P2P2P_2P1P1P_1 然后,他们使用NP完全问题的Turing约简来显示其他一些问题的NP完全性。

1
最近N个数字的加权和
假设我们正在接收流中的数字。接收到每个数字后,需要计算最后数字的加权和,其中权重始终相同,但是是任意的。ñNN 如果允许我们保留数据结构来帮助计算,那么这样做的效率如何?我们能做得比更好的方法吗,即每次收到一个数字都重新计算总和?Θ (N)Θ(N)\Theta(N) 例如:假设权重为。在某一点上,我们有最后数字的列表和加权和。Ñ 大号1 = ⟨ 一个,b ,c ^ ,d ⟩ &gt; 小号1 = 瓦特1 * 一个+ 瓦特2 * b + 瓦特3 * C ^ + 瓦特4 * dw ^= ⟨ 瓦特1个,w2,w3,w4⟩W=⟨w1,w2,w3,w4⟩W= \langle w_1, w_2, w_3, w_4\rangleñNN大号1个= ⟨ 一个,b ,c ^ ,d⟩ &gt;L1=⟨a,b,c,d⟩&gt;L_1= \langle a, b, c, d \rangle>小号1个= …

4
运行时环境可以检测到无限循环吗?
运行时环境是否有可能检测到无限循环并随后停止相关的进程,或者实现这样的逻辑是否等效于解决暂停问题? 出于这个问题的目的,我定义了一个“无限循环”来表示一系列指令和相关的起始堆栈/堆数据,这些数据在执行时将过程返回到与之前完全相同的状态(包括数据)启动无限循环。(换句话说,生成pi的无限长十进制扩展的程序不会“卡在”“无限循环”中,因为在每次迭代中,它在关联的内存中都有更多的pi数字。) (从/programming//q/16250472/1858225移植)

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.