本文致力于创建专家系统。 本文开头是一本参考书列表中一本书的框图,然后是数据库和算法的描述。 接下来是“如何制作该项目的帮助”,其中描述了创建该项目的算法。 本文结尾是参考文献列表。 它还有几个屏幕截图。

流程图
该数据库包含三个表-图像,问题和结果。 第一个是“分类和识别”中的主要符号,包含成功识别的标志(标志字段)和“训练样本”中的“对象,答案”对的数量(字段n)。 第二个包含该选择(值字段),以及“属性和属性”的名称(名称字段)和识别算法中使用的规则字段。 最后,第三张表包含可能的答案(雨/无雨等)。
动作表演该算法的工作原理如下。 在当前迭代中,规则*值的总和不超过规则* n(因为值具有两个值之一:0或1)。 在下一次迭代中,rule的单个值超过了该总和,即rule = rule * n + 1。
减去一个单位的惯性数(答案为零且在第一次迭代时未知)是答案的数目(对于K. Naylor,规则的正和*值表示第一个答案,负值表示第二个答案)。
显然,在第一次迭代(默认规则为零值)时,这些值的总和也将为零。 在第二次迭代中,它将在[1,n]范围内(请参见上面的规则公式),在第三次迭代中,它将在[n + 1(n + 1)* n]范围内; 在第四个范围上将是这样:[(n + 1)* n + 1(((n + 1)* n + 1)* n],依此类推。
因此,范围的右边界由公式sum =(sum + 1)* n计算。 选中所有可能的答案后,我们将重置规则。
网络浏览器的外观帮助如何做这个项目
几乎所有项目文件都可以使用命令创建
rails generate scaffold Image name:string flag:boolean n:integer rails generate scaffold Question name:string value:integer rule:integer image:references rails generate scaffold Outcome name:string image:references
在db / migration / yyyyMMddhhmmss_create_images.rb文件中,而不是t.boolean:标志行,写t.boolean:标志,默认值:false。 我们还会为images.n,questions.value和questions.rule字段添加零默认值。 并做rake db:迁移。
接下来,在config / routes.rb文件中,我们将问题和结果资源从属于images资源。 还在文件app / models / image.rb中添加has_many:问题和has_many:结果。 它保留在控制器和视图中以相应地更改路径:用image_questions_path(params [:image_id])替换questions_path,等等。
我们创建_question.html.erb和_outcome.html.erb部分,以便稍后在images / show.html.erb视图中渲染它们。 您可以通过观看Rails 5上的视频教程来了解有关此技术的更多信息,该视频位于该Web框架官方网站的主页上。
所有这些操作的结果是,两个从属资源的new.html.erb和edit.html.erb视图中断。 连同单个_form.html.erb部分,它们为该表单的操作获得了相同的路径,这是不正确的。 我们正在纠正。
上面描述了重新计算规则字段值(如果需要)的算法。 当ImageController的show操作显示的网页更新时,它开始。
最后是自动测试。 由于路线的变化,测试和固定装置也需要相应的变化。
文学作品
C.奈洛 如何建立专家系统-能源出版社(Energoatomizdat),1991年