问题标签 [automaton]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 带有类和对象的 C++ 元胞自动机
我在 c 中做了我的元胞自动机,但现在我想使用类和对象将它转换为 c++。我是 C++ 新手,这就是为什么我需要你的帮助。我的程序在输入十进制数字后崩溃。我认为数据在函数之间没有正确传输,但我发送了几个小时但我无法得到它。如果我能得到任何建议来找出我的错误是什么时候,我会很高兴。我有3个文件。一个是我的main,一个是带函数的文件,最后一个是header。
主要的:
具有功能的文件:
标题:
我正在 CodeBlocks 中编写我的代码。而且.. 包括 cstdio 是因为我还没有从 C 代码更改我的 printf。
感谢您的任何帮助。问候, 内尔
math - 看不懂 Kleene Star 纸
我正在阅读一篇关于编程语言工程和编译器的论文(6.035 Fall 2005 MIT course)。下面的页面应该解释了 Kleene Star 操作符的工作原理,但我无法理解它的含义。
完整的 .pdf 可以在这里找到。
prolog - 如何冻结变量列表的目标?
我的最终目标是制作 automaton/3 的具体版本,如果传递给它的序列中有任何变量,它就会冻结。即我不希望自动机实例化变量。
(fd_length/3、if_/3 等由其他人在这里定义)。
首先,我对单个变量进行了具体测试:
这使我能够实现:
所以我可以做类似的事情:
其行为与以下内容相同:
如何扩展它以处理变量列表,以便在所有变量都已实例化时只调用一次 Goal?
在这种方法中,如果我有多个变量,我可以获得我不想要的这种行为:
我努力了:
其工作原理如下:
这看起来不错,但我无法将其应用于自动机/3。重申一下目标是制作 automaton/3 的具体版本,如果传递给它的序列中有任何变量,它就会冻结。即我不希望自动机实例化变量。
这就是我所拥有的:
哪个不起作用,在实例化 X 之前,应冻结以下目标:
更新这就是我现在所拥有的,我认为它可以按照我最初的意图工作,但我正在消化@Mat 所说的想法,如果这真的是我想要的。明天继续更新。
c++ - 元胞自动机,C++,应用规则时遇到问题
我正在尝试使用 C++ 编写元胞自动机,但是由于某种原因,当程序运行时,我的规则似乎应用不正确,或者根本没有应用。任何意见,将不胜感激。
主要模拟功能:
使用 beginSimulation 的函数:
programming-languages - 有限的字符串,但可能是无限的语言
我们知道字符串是有限的,但另一方面我们知道语言是字母表上的一组字符串(可能是无限的)。这种关系不是矛盾的吗?
algorithm - 如何理解 KMP 算法中 DFA 构建的过程
我在 Book Algorithms 4th中学习 KMP 算法。我可以理解大部分算法,但已经在 dfa 构建过程中停留了几天。
以图案ABABAC
为例。当C
(dfa 的状态为 5)不匹配时,我们应该在文本中右移一个字符。所以我们所知道的模式字符是BABA
。但是,在构建过程中如何计算dfa的下一个状态呢?我没看懂下面的文字:
例如,当我们在 j=5 处出现不匹配时,为了决定 DFA 应该做什么
ABABAC
,我们使用 DFA 来了解完整备份会使我们处于状态 3 forBABA
,因此我们可以复制dfa[][3]
到dfa[][5]
。
“完整备份会使我们处于状态 3 for”是什么意思,在BABA
没有指定输入的情况下如何得出这个结论?而且我无法理解文本中留下的图表。谁能解释一下这是什么意思?我试图自己理解它几天,但仍然无法理解。谢谢!
vb.net - 使用S7.Net库读取数据错误结果
我花了几天的时间与PLC进行通信,现在我想调用read方法,奇怪的是,我得到了一个不连贯的值。
我想得到 DWord DB172.DW1 的值,第一个值代表一个数量,第二个是 0 或 1,我的语法是这样的:
我得到显示的消息:
12 系统.UInt16
在 DB172.DBW2 上,我得到了这个:
3073 系统.UInt16
我究竟做错了什么?谢谢