Django建立过渡函数模型

2024-09-29 01:22:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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

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

示例:我们可以使用symbol1从state1转到state2

我不知道该怎么办,任何帮助都将不胜感激!你知道吗


Tags: truemodel自动机onmodelsdeletenulllength
1条回答
网友
1楼 · 发布于 2024-09-29 01:22:53

下面可以为有限自动机的转移函数的单个转移建模。然而,值得注意的是,确定性有限自动机和非确定性有限自动机的转换看起来是不同的。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
        )

相关问题 更多 >