理论计算机科学

理论计算机科学家和相关领域的研究人员的问答

3
从DFA到正则表达式的已知算法
我想知道是否有一种从DFA 开始并构造一个正则表达式r使得L (A)= L (r )的``更好''(我将在什么意义上解释)算法,而不是Hopcroft and Ullman(1979)的书。在这里,集合R k i j用于表示将DFA从状态q i转移到q j而不经过任何高于k的状态的字符串集合。尽管显然是正确的并且非常有用,但是这种构造是技术性的。一种A\mathcal{A}[Rrr大号(甲)= L (r )L(A)=L(r)L(\mathcal{A})=L(r)[Rķ我ĴRijkR_{ij}^kq一世qiq_iqĴqjq_jķkk 我正在撰写有关代数自动机理论的专着,但我不想分散太多技术细节(至少不会与我想显示的结果无关的细节)来分散听众的注意力,但我确实希望包括为完整性起见,证明DFA与正则表达式之间的等效性。作为记录,我正在使用Glushkov自动机将正则表达式转换为DFA。它似乎比更直观,我完全没有定义它(再次,因为我不需要它们)。εε\varepsilon 从DFA到正则表达式还有哪些其他已知算法?我重视简单性而不是效率(在这种情况下,这对我来说``更好''),但这不是必须的。 在此先感谢您的帮助!

4
什么是平面度最简单的多项式算法?
有多种算法可在多项式时间内决定是否可以在平面上绘制图形,甚至有许多算法具有线性运行时间。但是,我找不到一种非常简单的算法,可以在课堂上轻松,快速地进行解释,并且无法证明PLANARITY在P中。您知道吗? 如有必要,可以使用Kuratowski定理或Fary定理,但不能使用任何深层次的定理,例如图次要定理。还要注意,我不在乎运行时间,我只想要一些多项式。 以下是到目前为止的3种最佳算法,它们显示了简单/无需深入理论所需的权衡。 算法1:通过使用该算法,我们可以检查图在多项式时间内是否包含或作为次要,我们使用了深层理论,得到了一个非常简单的算法。(请注意,正如Saeed所指出的那样,该理论已经使用了图嵌入,所以这并不是真正的算法方法,只是简单地告诉已经知道/接受图次要定理的学生。)ķ5ķ5K_5ķ3 ,3ķ3,3K_{3,3} 算法2 [基于某人的答案]:显而易见,它足以处理3个连通图。对于这些,找到一张脸,然后应用Tutte的弹簧定理。 算法3 [Juho建议]:Demoucron,Malgrange和Pertuiset(DMP)算法。画一个循环,剩余图的组件称为片段,我们以适当的方式嵌入它们(同时创建新片段)。这种方法不使用其他定理。

2
如何发表论文?
作为我生命中大部分时间的软件工程师,我绝对不知道如何开始发表“学术”类论文。在我的最新研究中,我发现了一个有趣的算法,可以解决我正在解决的任务(与金融市场的某些计算有关)。这不是一个很好的结果,但是我认为对于执行类似任务的人来说可能会很有趣,我希望将其发布。 我当然熟悉研究论文的风格,因为我在工作中广泛使用它们(这要感谢Google Scholar和那里所有的好人),而且我能够在Google上免费获取有关学术写作风格以及如何使用的手册使用LaTeX,我有很多数学家的朋友,他们会检查我的论文并帮助使其看起来更好。 但是我完全不知道下一步该怎么做!我不属于任何学术机构或知名研究机构,我在一家小型本地公司工作,很高兴能在某些论文上发表自己的名字,但这个名字不会对任何人说什么。我不知道有人在这方面做研究,我是说我从未与任何人交流过。 如何找到合适的寄纸地点?我是否需要某种推荐或评论,如何以及在哪里尝试获得它们?我的步骤是什么?..我意识到,如果您是专业的牙科学专家,那么所有这些对于您来说都是绝对显而易见的事情,但是我不知道从哪里开始:)

5
有效计算的Kolmogorov复杂度变体
Kolmogorov前缀复杂度(即K(x)K(x)K(x)是输出的最小自定界程序的大小xxx)具有几个不错的功能: 这对应于一种直觉,即给具有模式的字符串或结构比不具有模式的字符串降低复杂度。 它允许我们定义条件复杂度K(x|y)K(x|y)K(x|y),甚至可以为某些oracle O定义更好的。K(x|O)K(x|O)K(x|O)OOO 它是子添加剂K(x,y)≤K(x)+K(y)K(x,y)≤K(x)+K(y)K(x,y) \leq K(x) + K(y)。 但是它有一个可怕的缺点:给定x时,返回是无法确定的。K(x)K(x)K(x)xxx 我想知道是否存在使用受限计算模型的Kolmogorov复杂度(通过使用比TM弱的语言或使用资源有界TM)保留特征(1)和(2)(特征( 3)是可有效计算的红利,但不是必须的吗?K′(x)K′(x)K'(x) 这个问题的动机是用于各种进化玩具模型的仿真研究。因此,以前被用作Kolmogorov复杂度在数字工作中的“近似”答案是更可取的。但是,我们的目标不是完全进行实验,因此首选相对简单/简洁的描述语言/计算模型,从而有可能证明一些合理的定理,关于K '与K和什么样的字符串。K′K′K'K′K′K'KKK 相关问题 弱描述语言的Kolmogorov复杂性 对于不确定的问题,是否有一个合理的近似算法概念?

2
多少DFA接受两个给定的字符串?
固定整数和字母。将定义为具有起始状态1的个状态上所有有限状态自动机的集合。我们正在考虑所有 DFA(不仅是连接的,最小的或非退化的)。因此,。Σ = { 0 ,1 } d ˚F 甲(Ñ )ñ | D F A (n )| = n 2 n 2 nnnnΣ={0,1}Σ={0,1}\Sigma=\{0,1\}DFA(n)DFA(n)DFA(n)nnn|DFA(n)|=n2n2n|DFA(n)|=n2n2n|DFA(n)| = n^{2n}2^n 现在考虑两个串,并确定是的元素的数量该接受两个和。 ķ (X ,ÿ )d ˚F 甲(Ñ )x,y∈Σ∗x,y∈Σ∗x,y\in\Sigma^*K(x,y)K(x,y)K(x,y)DFA(n)DFA(n)DFA(n) ÿxxxyyy 问题:计算的复杂度是多少?K(x,y)K(x,y)K(x,y) 这个问题对机器学习有影响。 编辑:现在有一个悬赏在这个问题上,我想在公式上要更精确一点。对于,令为自动机的集合,如上所定义。对于,定义是自动机的数目该接受两个和。问题:可以在时间计算吗?d ˚F 甲(Ñ )ñ 2 Ñ 2 Ñ X ,ÿ ∈ { 0 ,1 …

16
定理使难看的算法问题变得容易
我正在寻找很好的示例,其中发生以下现象:(1)如果您想根据定义并仅使用标准结果来解决算法问题,那么算法问题就很难解决。(2)另一方面,如果您知道一些(不是那么标准的)定理,则变得很容易。 这样做的目的是向学生说明,学习更多定理甚至对理论领域之外的人(例如软件工程师,计算机工程师等)也很有用。这是一个例子: 问题:给定整数,是否存在一个顶点图(如果存在,找到一个),使得其顶点连通性为,其边缘连通性为,其最小度为?n ,k ,l ,dñ,ķ,升,dn, k, l, dññnķķk升升lddd 请注意,我们要求参数必须完全等于给定的数字,而不仅仅是边界。如果您想从头解决这个问题,它可能会显得很难。另一方面,如果您熟悉以下定理(请参阅B. Bollobas的《极值图论》),情况将大为不同。 定理:令为整数。当且仅当满足以下条件之一时,存在一个具有顶点连通性,边缘连通性和最小度 的顶点图:n ,k ,l ,dñ,ķ,升,dn, k, l, dññnķķk升升lddd 0 ≤ ķ ≤ 升≤ d&lt; ⌊ Ñ / 2 ⌋0≤ķ≤升≤d&lt;⌊ñ/2⌋0\leq k\leq l \leq d <\lfloor n/2 \rfloor, 1 ≤ 2 d+ 2 - Ñ ≤ ķ ≤ 升= d&lt; n …

4
最小化多项式公式大小的复杂性
令是变量的多项式,其中是常数(例如2或3)。我想找到的最小公式,其中“公式”和“公式大小”以明显的方式定义(例如,多项式的最小公式是)。f(x1,…,xn)f(x1,…,xn)f(x_1,\dots,x_n)dddnnnF2F2\mathbb{F}_2dddfffx1x2+x1x3x1x2+x1x3x_1 x_2 + x_1 x_3x1(x2+x3)x1(x2+x3)x_1(x_2+x_3) 这个问题的复杂性是什么-难解决NP吗?复杂度取决于吗?ddd [更正式地说,公式(又称“算术公式”)是一棵有根的二叉树,其每一个叶子都用输入变量或常数1标记。树的所有其他顶点都用或标记。公式的大小是使用的叶子数。公式递归计算多项式:顶点计算上其子项的总和,顶点计算乘积。]+++××\times+++F2F2\mathbb{F}_2××\times

1
归纳类型用于大数量的序数符号。
我希望以一种“自然的方式”为大量可计数的普通物品建立符号。“自然”是指给定归纳数据类型X,相等应为通常的递归相等(与deriving EqHaskell中产生的相同),并且顺序应为通常的递归词典顺序(与deriving OrdHaskell中产生的相同)),并且有一个可确定的谓词来确定X的成员是否为有效序数符号。 例如,序数小于ε 0可以通过世袭有限排序的列表,并且满足这些要求来表示。将X定义为μα。μβ。1 +α×β,又称遗传有限列表。定义isValid以检查X是否已排序并且X的所有成员均为isValid。X的有效成员都是序小于ε 0通常的词典顺序下。 我猜想,μα 0 ...μα ñ。1 +α 0 ×...×α Ñ可用于以下定义序比φ n + 1个(0),其中φ是凡勃伦功能,以类似的方式。 如您所见,我用完了φω(0)的μ个量词。我可以建立满足我要求的较大序数符号吗?我希望得到尽可能Γ 0。如果我对有效性谓词放弃可判定性要求,我可以得到更大的序数吗?

8
存储数独谜题所需的最少位数是多少?
注意:这是关于标准的9x9数独谜题的。该解决方案只需支持已解决的法律难题。因此,解决方案不需要支持空单元格,而可以依赖于已解决的数独难题的属性。 我想知道,但是我想不出一个我满意的答案。天真的解决方案将为每个单元(81个单元)使用一个字节,共648位。更复杂的解决方案是将整个数独谜题存储在以9为底的数字(每个单元格一位)中,并要求位。⌈ 日志2(981))⌉ = 257⌈log2⁡(981))⌉=257\lceil\log_2(9^{81}))\rceil = 257 但是它仍然可以改进,例如,如果您知道3x3子网格中9个数字中的8个,则可以轻松推论第9个数字。您可以将这些想法继续下去,直到这个问题归结为:独有的数独解决方案的数量是多少?现在,您可以使用一个巨大的查找表,该表将每个二进制数映射到一个数独难题,但这将不是一个可用的解决方案。 所以,我的问题是: 在不使用查找表的情况下,存储数独谜题所需的最小位数是多少?使用哪种算法?


4
仅通过谱图理论获得的证明
我对频谱图理论越来越感兴趣,这使我感到很着迷,并且我已经开始收集一些文档,这些文档到目前为止还没有深入阅读。 但是,我对一条出现在多个来源(例如那里)中的语句感到好奇,该语句本质上说图论中的某些结果仅使用基于频谱的技术进行了证明,到目前为止,没有证据表明绕开那些技术是已知的。 除非我没有跳过,否则我不记得在迄今为止阅读的文献中看到过这样的例子。你们中有人知道这种结果的例子吗?

1
是否有适用于TCS定理的合理的自动证明系统?
假设我想形式化图灵关于暂停问题的证明,以便机器可以对其进行检查。一些著名的自动定理证明系统包括Mizar,Coq和HOL4。我下载了Coq并进行了实验,但是它没有用于Turing机器的库。我本来想自己编写代码,但发现该教程缺乏,而且语言难以掌握。 我的问题是:是否有一个自动定理证明者,通常能很好地证明涉及图灵机的定理?如果可以使用已经存在的库来形式化证明停止问题的不确定性的证明,那么我将认为这样的一个定理证明者“很好”。如果相对容易拿起它,我会认为更好。(据记录,我通常不会遇到编程语言方面的困难。) 谢谢, 菲利浦


17
几何学洞察力对于解决完全非几何学问题有用的示例
在具有三个空间维度的宇宙中进化的好处之一是,我们开发了解决与空间物体有关的问题的技巧。因此,例如,我们可以将三元组视为3-d中的一个点,因此将有关三元组的计算视为有关3-d中的点的计算,然后可以使用我们对空间的直觉来解决。这似乎表明使用几何学技术有时可能可以解决一个完全非几何学的问题。有人知道这样的例子吗? 当然,术语“几何”和“非几何”在这里有点模糊。可以辩称,如果将所有点替换为其坐标,则任何几何问题实际上都是非几何问题。但从直观上看,定义很明确。假设我们考虑将有关其的论文发送给SoCG,那么我们称其为几何图形。

3
展示进行中的工作(现已提供幻灯片)
现在进行演示。下方有幻灯片。 提出正在进行的工作是我们所有人都应该做的事情,以便获得早期反馈并帮助使我们的想法具体化。不幸的是,即使只是针对自己的研究小组,许多研究生也需要帮助来克服呈现早期研究的障碍。我将谈论如何向我们的研究生介绍正在进行的工作,我想就应该给他们的建议提供些帮助,以帮助他们更乐于分享他们的工作。 在介绍进行中的工作时,您可以提供哪些提示? 演讲者应该如何处理想法在脑海中并不完全清楚的事实? 我不太担心被盗,因为演示会在本地进行。我想知道如何让学生介绍这样的作品,以及他们如何才能做到最好。 学生的作品通常是形式性的,而不是描述系统的,所以我希望这个问题在这里有意义。如果您认为这超出范围,请这么做。 结果演示。 这是结果。我非常感谢您的输入,您会发现它很有用。

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.