Students find their first course in Formal Languages and Automata Theory challenging. In addition to the development of formal arguments, most students struggle to understand nondeterministic computation models. In part, the struggle stems from the course exposing them for the first time to nondeterminism. Often, students find it difficult to understand why a nondeterministic machine accepts or rejects a word. Furthermore, they may feel uncomfortable with there being multiple computations on the same input and with a machine not consuming all of its input. This article describes a visualization tool developed to help students understand nondeterministic behavior. The tool is integrated into, FSM, a domain-specific language for the Automata Theory classroom. The strategy is based on the automatic generation of computation graphs given a machine and an input word. Unlike previous visualization tools, the computation graphs generated reflect the structure of the given machine's transition relation and not the structure of the computation tree.
翻译:学生在形式语言与自动机理论的入门课程中面临诸多挑战。除了构建形式化论证之外,大多数学生难以理解非确定性计算模型。部分原因在于这门课程首次向他们引入非确定性的概念。学生常困惑于为何非确定性机器会接受或拒绝某个单词,并对同一输入存在多重计算路径以及机器未消耗全部输入的情况感到不适。本文描述了一种为帮助学生理解非确定性行为而开发的视觉化工具。该工具集成于自动机理论课堂专用领域特定语言FSM中,其策略基于根据给定机器和输入词自动生成计算图。与以往可视化工具不同,该工具生成的计算图反映了给定机器转移关系的结构,而非计算树的结构。