【发布时间】:2012-04-14 18:55:11
【问题描述】:
是否有人知道任何讨论使用超图来实现或表示非确定性图灵机的论文、文本或其他文档?它们实际上是等价的吗?
我很确定超图能够正确且完整地表示非确定性图灵机的状态转换。但到目前为止,我一直无法在印刷品中找到任何可以验证这一点的东西。在我看来,这似乎是一种如此明显的关系,但是我没有找到现有技术的事实让我觉得我走错了路。 (也可能是我发现的内容不足以让我理解它在说什么。);-)
我为什么问:我正在开发一个开源包,它在对等网络中进行分布式数据存储和分布式计算。我正在寻找可能支持所需功能的最原始的数据结构。到目前为止,分布式超图看起来很有希望。我的理由是,如果超图可以支持像非确定性图灵机这样的通用事物,那么它应该能够支持更高级别的图灵完备 DSL。 (还有其他原因,“非确定性”部分对我来说可能也很有价值,这与分布式数据和/或计算结果的版本控制有关。不过这里尽量避免发表论文。)
部分答案:
- opencog 人员对超图如何适应不同的计算模型进行了精彩的讨论;这显然与 HypergraphDB 包的开发有关:http://markmail.org/message/5oiv3qmoexvo4v5j
- 在 MathOverflow 上,有一个问题在讨论超图 可以 做什么 -- 还没有提到图灵,但我要添加它:https://mathoverflow.net/questions/13750/what-are-the-applications-of-hypergraphs
- 如果超图可以表示非确定性图灵机,那么我认为具有加权边缘的超图将等效于 概率 图灵机。 http://en.wikipedia.org/wiki/Probabilistic_Turing_machine
【问题讨论】:
-
您究竟想用超图表示什么?用嵌套表或有向标记图很容易描述状态转换关系。只需将
(State,Symbol)对作为节点并使用Move Left或Move Right标记弧。 -
@max,是的,这几乎就是我的想法——要么是您对普通图灵 5 元组规则的其他变体的版本。应用于非确定性图灵机,弧(边)当然会有多个头,指向多个可能的下一个节点。
-
要表示 完整 TM 状态(即以某种方式执行您的超图表示),您还需要存储已访问磁带单元的状态。
-
@max,我想你可能是在正确的轨道上;我遇到的问题可能是“代表”和“实现”的含义之间的区别。超图等价于通用非确定性图灵机的tape,因为它包含规则和辅助非确定性图灵机的程序。但是你仍然需要一台机器来执行它——存储状态。如果为真,那么超图可以表示但不能实现机器。
-
表示似乎很简单,因为如果你有一个由一组元组定义的图灵机,那么它可以被认为是一个超图:元组组件是节点,元组本身是边。
标签: theory distributed graph-theory turing-machines