- 1、本文档共121页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能问答系统 CPT对象模型设计(原)
CPT对象类型
对象类别
对象分为下列类别,主要的设计目的是减少对象之间的依赖关系。
确定有限自动机DFA
序号 名称 解释 1 DFA 确定的有限状态自动机 2 MapItem 一个状态的转移 3 MapItems 所有状态的转移 4 StateMap 用于状态机器的变换
DFA
接口类为DFA,而实现类为在impl下面的DFA。
接口类:
Sigma getSigma();
得到一个自动机的字符集。
States getStates();
得到一个自动机的状态列表。
State getQ0();
得到一个自动机的起始状态。
States getF();
得到一个自动机的结束状态集合。
MapItems getMapItems();
MapItems表示所有的状态转移信息。
State shfit(State from,Element element);
得到一个状态的状态转移结果。当前状态为from,在element的作用下,返回状态为返回值。
void setSigma(Sigma sigma);
设置一个自动机的字符集。
void setQ(States Q);
void setQ0(State Q0);
void setF(States F);
void setMapItems(MapItems mapItems);
DFA new_mapped_dfa(States nQ,StateMap sm);
产生一个新的自动机。一个状态机的状态可以合并,合并之后,相关的转移也应该合并。但是转移合并之后,会产生下列情况:
转移重复
一个状态在统一状态下会转移到多个状态。
所以当自动机状态合并之后,需要对产生的新的自动机进行验证。
boolean validate();
对自动机进行验证。
系统对自动机的验证包含下列内容:
1 成功 0:SUCCEED!, 2 每个状态对一个输入只能有一个输出 1:Each state must have only one out route for each input!, 3 开始状态必须在状态表中[1] 2:Start State must be in State set!, 4 中止状态必须在状态表中[1] 3:Final States mus be in State set!, 5 DFA必须是一个连通图 4:DFA must be an connected graph!, 6 状态转移不能重复 5:Mapping can not be repeated!, 7 除中止状态外,每个状态至少有一个输出状态 6:Each state(except final states) must have at least one output route!, 8 除开始状态外,每个状态必须至少有一个输入状态 7:Each state(except the start state) must have at lease one input route!, 9 状态名不能重复 8:State name can not be repeated!
注1:有些状态虽然状态名一样,但是状态对象不一样。这样在处理的时候会发生错误。所以在创建对象的时候,最好首先创建状态列表。而后当需要某个状态的时候,可以根据状态名获得状态,而不能通过StateImpl(String name)的方式得到新的状态。
void print();
构造函数:
public DFAImpl(Sigma sigma,States Q,State Q0,States F,MapItems mapItems)
MapItem
表示自动机的一个转移。
接口和类说明
1 当前输入 public Element element; 2 当前状态 public State fromState; 3 在当前状态下,输入当前输入将会跃迁到的状态 public State toState; 接口方法
1 略 Element getElement(); 2 略 State getFromState(); 3 略 State getToState(); 4 略 void print(); 实现类方法
序号 说明 定义 1 创建一个MapItem public MapItemImpl(Element e,State f,State s) 2 以字符串的方式创建一个MapItem。推荐使用这种方式 public MapItemImpl(Sigma sigma,States Q,String element_name,String
您可能关注的文档
- 新标准大学英语综合教程3英译汉汉译英答案.doc
- 新媒体运营之如何正确选择第三方应用【入门篇】.ppt
- 新机考系统测试简易流程.ppt
- 新洲戴斯大酒店餐饮服务英语(PPT 48页).ppt
- 新概念手机网游——财富时空.ppt
- 新能会计科目体系.doc
- 新能NC项目阶段工作报告.doc
- 新社区产品运营规划1019.ppt
- 新能决算报表操作手册.doc
- 新课程下高考化学试题内容及能力要素的质量控制初探.doc
- 2024年云阳县公务员考试行测试卷历年真题及答案详解(有一套).docx
- 2024年垫江县公务员考试行测试卷历年真题及答案详解(名师系列).docx
- 2024年巴音郭楞蒙古自治州公务员考试行测试卷历年真题精选答案详解.docx
- 2024年毕节地区公务员考试行测试卷历年真题含答案详解.docx
- 2024年怀化市公务员考试行测真题及一套完整答案详解.docx
- 2023年龙岩市公务员考试行测试卷历年真题及答案详解(名校卷).docx
- 2024年咸宁市公务员考试行测试卷历年真题及完整答案详解.docx
- 2024年云浮市公务员考试行测试卷历年真题带答案详解.docx
- 2024年七台河市公务员考试行测试卷历年真题及答案详解(典优).docx
- 2024年大理州公务员考试行测真题及答案详解(全优).docx
文档评论(0)