老师留的假期作业

sdhsdhsdh_sdh 2009-01-14 08:46:05
放假了,导师让我们几个学点东西,留了寒假作业(好久没有听说过这个词了)。
希望完成下面的问题的程序设计之一:
1.设计一个简单的“有限状态机”;
2.设计一个简单的“规则引擎”;
3.设计一个简单的“工作流引擎”;
4.设计一个简单的人工智能算法(要求是产生式专家系统,自学习系统等);
要求:
1.例子自己选,如电梯运动,下象棋,走迷宫及最短路等;
2.先做功能说明;
3.源码注释清楚;
4.用什么语言均可,建议用c#,c;
5.数据(规则)和程序分开。
...全文
302 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenshinan 2009-10-13
  • 打赏
  • 举报
回复
你们老师要求真高
zhenshinan 2009-10-13
  • 打赏
  • 举报
回复
真的很难
sdhsdhsdh_sdh 2009-01-17
  • 打赏
  • 举报
回复
不能沉下去
流年岁月 2009-01-16
  • 打赏
  • 举报
回复
你说的那些我都不懂,直接说个项目还明白些!!
流年岁月 2009-01-16
  • 打赏
  • 举报
回复
没读过大学,只搞开发!
Deathsign 2009-01-16
  • 打赏
  • 举报
回复
设计一个简单的人工智能算法(要求是产生式专家系统,自学习系统等);


这个不是一个人一个暑假能完成的吧。。。即使是简单的……
jscn123789abc 2009-01-16
  • 打赏
  • 举报
回复
ding...
sdhsdhsdh_sdh 2009-01-16
  • 打赏
  • 举报
回复
upupup
sdhsdhsdh_sdh 2009-01-16
  • 打赏
  • 举报
回复
我导师在铁路应用方面可是有一点名气的任务,铁科院的博士,铁路的TIMS系统他也有参加。但我现在还不知道他研究的重点在哪方面,这只是留给我们的作业。把你的这个轻量级工作流的demo代码分享一下吧,超级感谢,409293083@qq.com。
jjcl521 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sdhsdhsdh_sdh 的回复:]
怎么了?这个专业不偏吧,我们是面向铁路的
[/Quote]

CSDN上朋友以后买票都找你了
xeon_pan 2009-01-16
  • 打赏
  • 举报
回复
这东西,好高难度吧。。。
BossFriday 2009-01-16
  • 打赏
  • 举报
回复
2.设计一个简单的“规则引擎”;
3.设计一个简单的“工作流引擎”;

我都怀疑你们老师自己能不能写出来.
这些东西,有现成的开源代码.不过作者都是大师级别的人物.

我用过一个parse的开源的东西,里面的东西好抽象.
至于工作流,不但要搞清楚工作流的相关背景理论,做其表现也很花功夫.
手上也有个轻量级工作流的demo代码,虽然不是很晚上,但是核心意思已经足够说明了。
我也只是简单的研究了一下,为以后的应用留一个参考和备份。

你们老师真会扯蛋.
sdhsdhsdh_sdh 2009-01-16
  • 打赏
  • 举报
回复
一个Stateless Rule Session的示例:

// 装载一个 RuleServiceProvider ,该接口有不同的JRULES提供商实现。

Class.forName( "org.jcp.jsr94.ri.RuleServiceProvider" );

RuleServiceProvider serviceProvider =

RuleServiceProviderManager.getRuleServiceProvider( RULE_SERVICE_PROVIDER );

// 建立一个 stateless RuleSession

RuleRuntime ruleRuntime = serviceProvider.getRuleRuntime();

StatelessRuleSession srs = (StatelessRuleSession)

ruleRuntime.createRuleSession( bindUri, null,

RuleRuntime.STATELESS_SESSION_TYPE );

// 执行一个规则列表

List inputList = new LinkedList();

inputList.add( new String( "Foo" ) );

inputList.add( new String( "Bar" ) );

inputList.add( new Integer( 5 ) );

inputList.add( new Float( 6 ) );

List resultList = srs.executeRules( inputList );

System.out.println( "executeRules: " + resultList );

// 释放session

srs.release();

Stateful Rule的示例:

String RULE_SERVICE_PROVIDER = "org.jcp.jsr94.jess";

// 装载一个 RuleServiceProvider

Class.forName( "org.jcp.jsr94.jess.RuleServiceProviderImpl" );

// Get the rule service provider from the provider manager.

RuleServiceProvider serviceProvider =

RuleServiceProviderManager.getRuleServiceProvider(

RULE_SERVICE_PROVIDER );

RuleRuntime ruleRuntime = serviceProvider.getRuleRuntime();

一个 StatefulRuleSession示例 :



StatefulRuleSession statefulRuleSession =

(StatefulRuleSession) ruleRuntime.createRuleSession( uri,

new HashMap(),

RuleRuntime.STATEFUL_SESSION_TYPE );

// 加入一个发票对象

Invoice inputInvoice = new Invoice("Invoice");

inputInvoice.setAmount(1750);

// add an Object to the statefulRuleSession

statefulRuleSession.addObject( inputInvoice );

//execute the rules

statefulRuleSession.executeRules();

//从statefulRuleSession取出结果对象

results = statefulRuleSession.getObjects();

// 加入另外一个发票对象

Invoice inputInvoice2 = new Invoice("Invoice 2");

inputInvoice2.setAmount(3000);

//执行结果

statefulRuleSession.executeRules();

// extract the Objects from the statefulRuleSession

results = statefulRuleSession.getObjects();

// 释放 statefulRuleSession

statefulRuleSession.release();
sdhsdhsdh_sdh 2009-01-16
  • 打赏
  • 举报
回复
规则引擎的推理步骤如下:
1. 将初始数据(fact)输入Working Memory。
2. 使用Pattern Matcher比较规则(rule)和数据(fact)。
3. 如果执行规则存在冲突(conflict),即同时激活了多个规则,将冲突的规则放入冲突集合。
4. 解决冲突,将激活的规则按顺序放入Agenda。
5. 使用规则引擎执行Agenda中的规则。重复步骤2至5,直到执行完毕所有Agenda中的规则。
commandos 2009-01-16
  • 打赏
  • 举报
回复
设计一个简单的“工作流引擎”; 这个百度一搜 结果一大票。。。
sdhsdhsdh_sdh 2009-01-15
  • 打赏
  • 举报
回复
别让这帖子沉下去啊
crowzwong 2009-01-15
  • 打赏
  • 举报
回复
人工智能 ...... 麻省理工的课程之一.....
skeljy 2009-01-15
  • 打赏
  • 举报
回复
mark
sdhsdhsdh_sdh 2009-01-15
  • 打赏
  • 举报
回复
upupup
fxcjy 2009-01-15
  • 打赏
  • 举报
回复
好专业呀,这些词头一回听说
加载更多回复(25)

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧