【发布时间】:2012-03-20 18:13:40
【问题描述】:
我正在尝试找到一种在 python 中最小化 DFA 的算法。我找到了一些例子,它们都有代码类。现在,我不知道如何转发放置在 .txt 文件中的 DFA 定义并将它们放入这些类中。 .txt 格式如下:
- 行:以逗号分隔的状态集,按字典顺序排列
- 行:一组用逗号分隔的字母符号,按字典顺序排列
- 行:以逗号分隔的可接受状态集,按字典顺序排列
- 行:第一个状态
- 和所有其他行:格式为当前状态的传递函数,字母符号->下一个状态
定义示例:
dyny,fllf,gdci,gwtj,knos,kole,mjnw,msdl,mtfz,nbat,njgb,nzwx,rzpn,vcsc,zgfx
b,d,e,f,g,k,l,m,n,o,p,q,r,t,u,w
dyny,njgb,zgfx
mtfz
dyny,b->rzpn
dyny,d->msdl
dyny,e->gdci
.
.
.
类示例
class DFA:
def __init__(self, states, alphabet, delta, start, accepts):
self.states = states
self.start = start
self.delta = delta
self.accepts = accepts
self.alphabet = alphabet
self.current_state = start
我用
加载 .txt 文件f = open('definition.txt','r')
lines = f.readlines()
【问题讨论】:
-
您能发布到目前为止您尝试过的内容吗?我假设这是你的作业。
-
是的,类似于家庭作业。我有 dfa 类,以及用于打印、验证、删除无法访问的状态的方法……但我不知道如何在类及其方法中填充数据……
-
我也不知道如何为您做作业;)但是,如果您向我们提供更多信息,那么我们可以为您提供帮助。
-
我只想知道如何将 .txt 文件中的数据转发到类及其方法
-
@skywlk:“前锋”是什么意思。解析并调用构造函数?