Django - 转换函数建模

Django - Modeling a transition function

我正在使用 Django 并尝试为有限自动机创建一个模型,这是我到目前为止想出的:

class Alphabet(models.Model):
    alphabet = models.CharField(max_length = 10, null = True, blank = True)
    automata = models.ForeignKey(Automata, on_delete = models.CASCADE)

class States(models.Model):
    state = models.CharField(max_length = 10, null = True, blank = True)
    final = models.BooleanField(default = False)
    initial = models.BooleanField(default = False)
    automata = models.ForeignKey(Automata, on_delete = models.CASCADE)

class Automata(models.Model):
    pass

现在我想对转换函数建模,每个自动机都有一个:

示例: 我们可以使用符号 1

从状态 1 转到状态 2

我不确定如何完成,如有任何帮助,我们将不胜感激!

以下可以模拟有限自动机的转移函数的单个转移。然而,值得注意的是,确定性有限自动机和 non-deterministic 有限自动机转换看起来不同。 DFA 转换映射到单个状态,而 NFA 转换映射到一组状态。添加关系时,您必须牢记这一点。

class Transition(models.Model):

    current_state = models.ForeignKey(State)
    symbol = models.CharField(max_length=1)
    next_state = models.ForeignKey(State)

    def __str__(self):
        return "T({0}, {1}) = {2}".format(
            self.current_state,
            self.symbol,
            self.next_state
        )