智能问答系统 CPT对象模型设计(原).doc

  1. 1、本文档共121页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档