Questions tagged «finite-automata»

有关有限自动机(具有有限内存的基本自动机模型)的问题。它等效于常规语言,并且是许多更复杂模型的基础。




1
我们可以多快决定给定的DFA是否最小?
最小化确定性有限自动机(DFA)是一个在文献中已经深入研究的问题,并且已经提出了几种算法来解决以下问题:给定DFA,计算对应的最小DFA并接受与。这些算法大多数都在多项式时间内运行。A一种A\mathscr{A}一种A\mathscr{A} 但是,我不知道该问题的决策变量是否为“给定了DFA,最小”?-比实际计算最小自动机更有效地解决。显然,这还可以通过运行例如Hopcroft的分区细化算法,然后确定是否所有分区都精确地包含一个状态来有效地完成。A一种A\mathscr{A}一种A\mathscr{A} 正如Yuval Filmus 在他的回答中所建议的那样,可以通过使用标准算法来更快地解决可判定性变量。不幸的是,我看不到如何做(希望我在这里没有遗漏明显的观点)。 Yuval在此处的注释中指出,对于恒定大小的字母,最著名的算法(如上述算法)在时间中运行。因此,我不仅对运行时的渐进式显着收益感兴趣,因为这些收益似乎不太可能。最让我困扰的是,我无法想象任何“捷径”都可能源于我们只对“是-否”答案感兴趣的事实,甚至没有可以节省渐近时间的时间的捷径。我认为,每种决定DFA最小化的明智算法都必须实际最小化DFA,并查看在此过程中是否有任何变化。Ø(ñ日志n )O(nlog⁡n)\mathcal{O}(n \log n)

4
FSA可以计数吗?
这可能是一个愚蠢的问题。显然,FSA由于是有限的,因此只能对输入字符串中的符号数进行计数,最多不能超过其状态数所限制的数字。但是现在假设我们为FSA配备了输出(例如打印)功能。这样,构造一台能够为每个读取的符号打印一个符号的机器将非常容易。那算作计数吗?如果没有,为什么不呢? 用FST代替:我认为不可能构造能够将任意长度的字符串映射到其长度的二进制表示形式(即,以2为底的数字系统中的数字)的FST。但是,构造一个FST能够将任意长度的字符串映射到相同长度的零(或一个)字符串的过程当然是微不足道的。但这可以算作计数,是否可以算,因为FST所做的是建立其输入长度的表示。有点古怪的表示,但仍然是表示,不是吗?

1
无法从NFA转换为DFA
我有一个简单的问题,就是假设给定是DFA的字母集,那么制作一个DFA就能接受所有以双字母(aa,bb)开头或以双字母(aa,bb)结尾的输入。给定的语言。Σ = { a ,b }Σ={一种,b}\Sigma =\{a, b\} 我试图通过以下方法来解决此问题: 生成正则表达式 制作相应的NFA 使用Powerset构造来推导DFA 最小化DFA中的状态数 第1步: 给定问题的正则表达式为(除其他之外): ((aa|bb)(a|b)*)|((a|b)(a|b)*(aa|bb)) 步骤2: 给定表达式的NFA为: (来源:livefilestore.com) 在表格形式中,NFA为: State Input:a Input:b ->1 2,5 3,5 2 4 - 3 - 4 (4) 4 4 5 5,7 5,6 6 - 8 7 8 - (8) - - 第3步:使用Powerset结构转换为DFA: Symbol, State …

1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 



2
接受给定字符串并拒绝其他给定字符串的最小DFA
给定字母两组字符串,我们可以计算最小的确定性有限状态自动机(DFA)从而使A,BA,BA,BΣΣ\SigmaMMMA⊆L(M)A⊆L(M)A \subseteq L(M)和?L(M)⊆Σ∗∖BL(M)⊆Σ∗∖BL(M) \subseteq \Sigma^*\setminus B 换句话说,代表一组积极的例子。DFA必须接受A中的每个字符串。 B代表一组否定示例。DFA不接受B中的任何字符串。AAAAAABBBBBB 是否可以使用DFA最小化技术来解决此问题?我可以想象创建一个具有三种状态的类似于DFA的自动机:接受状态,拒绝状态和“无关”状态(任何以“无关”状态结尾的输入都可以被接受或被拒绝)。但是,我们能否找到一种将这种情况最小化到普通DFA的方法呢? 给出正面和负面的例子,您可以将其视为学习DFA的问题。 这是受 regex golf NP-Complete吗?,它向正则表达式而不是DFA询问类似的问题。

2
是否研究了有限状态自动机的以下扩展?
像往常一样考虑有限状态机,但是每次转换时,它也可以通过加或减数字来更新整数计数器。比方说,具有以下形式的转换函数 移动到新的状态p,并添加ķ到计数器,其中ķ ∈ Ž(所以ķ可以是正,负或零) 。δ(q,a )= (p ,k )δ(q,a)=(p,k)\delta(q,a) = (p,k)pppķkkķ ∈ žk∈Zk \in \mathbb{Z}ķkk 如果最终状态和计数器值在,则可接受字符串,其中F是状态和计数器值对的有限集合。FFFFFF 这个模型已知吗?我找不到此特定扩展名的任何参考。



2
测量FSA语法之间“相似性”的方法?
我正在使用一种模式匹配算法,该算法生成一个非循环的有限状态自动机,该自动机接受给定的文本字符串及其所有子字符串。FSA算法正在音乐流(例如MIDI数据)的符号表示上运行。音乐流已经过预处理,可以将每首歌曲分为未标记的“段”。一个FSA被用于每首歌曲的每个段中产生:如果我有歌曲,各自分成ÿ段,我会Ñ ⋅ ý单独的FSA。nnnyyyn⋅yn⋅yn \cdot y 我想将每个部分的FSA与我的语料库中的其他FSA进行比较。最终目标将是在相似性空间内进行聚类,并根据其构造指标的相似性提出细分的“类别”。因此,特别令人感兴趣的是每个FSA定义的语法(大致对应于片段中音乐内容的某些组成部分)。是否有一些技巧可以比较这样的东西?尽管可能存在更好/更有效的技术,但我想到了KL散度(例如,使用它比较与给定FSA相关联的字符串的分布)。 同样,如果这个问题是(1)轻而易举的或(2)表示有更深的误解或(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.