西电电院人工智能课程大作业Word下载.docx

上传人:b****6 文档编号:19405807 上传时间:2023-01-06 格式:DOCX 页数:18 大小:162.63KB
下载 相关 举报
西电电院人工智能课程大作业Word下载.docx_第1页
第1页 / 共18页
西电电院人工智能课程大作业Word下载.docx_第2页
第2页 / 共18页
西电电院人工智能课程大作业Word下载.docx_第3页
第3页 / 共18页
西电电院人工智能课程大作业Word下载.docx_第4页
第4页 / 共18页
西电电院人工智能课程大作业Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

西电电院人工智能课程大作业Word下载.docx

《西电电院人工智能课程大作业Word下载.docx》由会员分享,可在线阅读,更多相关《西电电院人工智能课程大作业Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

西电电院人工智能课程大作业Word下载.docx

stdio.h>

typedefstructNode{

intnum[9];

//棋盘状态

intdeepth;

//派生的深度g(n)

intdiffnum;

//不在位的数目h(n)

intvalue;

//耗散值f(n)=g(n)+h(n)

structNode*pre;

structNode*next;

structNode*parent;

}numNode;

/*----------endofstructnumNode----------*/

intorigin[9];

//棋盘初始状态

inttarget[9];

//棋盘目标状态

intnumNode_num,total_step;

numNode*open,*close;

//Open表和Close表

numNode*create_numNode()

{

return(numNode*)malloc(sizeof(numNode));

}

numNode*open_getfirst(numNode*head);

//返回第一项,并从Open表中删除

voidopen_insert(numNode*head,numNode*item);

//向Open表中按序插入新节点

voidclose_append(numNode*head,numNode*item);

//向Close表中插入新节点

intexpand(numNode*item);

//扩展节点

intprint_result(numNode*item);

//打印结果

numNode*copy_numNode(numNode*orgin);

charisNewNode(numNode*open,numNode*close,intnum[9]);

//是否在Open表或Close表中

voidprint_num(intnum[9]);

//打印棋盘状态

intdiff(intnum[9]);

//求不在位棋子的个数

voidinit();

//初始化,获得棋盘初始状态和目标状态

voidswap(int*a,int*b);

intoperate(intnum[],intop);

voidfree_list(numNode*head);

/*

*Name:

主函數

*Description:

程序入口

*/

Intmain(intargc,char*argv[])

//初始化Open表和Close表

open=create_numNode();

close=create_numNode();

open->

pre=open->

next=close->

pre=close->

next=NULL;

init();

//由用户输入初始和目标状态

//初始化初始节点

numNode*p1;

p1=create_numNode();

p1->

parent=NULL;

deepth=0;

inti=0;

for(i=0;

i<

9;

i++)

{

num[i]=origin[i];

}

open_insert(open,p1);

numNode_num=1;

p1=open_getfirst(open);

while(p1!

=NULL)

close_append(close,p1);

if(expand(p1))

returnEXIT_SUCCESS;

printf("

Nosolution!

\n"

);

}/*----------endoffunctionmain----------*/

void

init()

while

(1)

Pleaseinputopriginalstatus:

\nForexample:

123456780standsfor\n"

"

123\n"

456\n"

780\n"

chartemp[10];

scanf("

%s"

&

temp);

i<

9&

&

temp[i]-'

0'

>

=0&

<

=8;

origin[i]=temp[i]-'

;

Pleaseinputtargetstatus:

intj=0;

for(j=0;

j<

temp[j]-'

j++)

target[j]=temp[j]-'

system("

cls"

if(i==9&

j==9)

break;

}/*-----endoffunctioninit-----*/

open_insert(numNode*head,numNode*item)

numNode*p,*q;

p=head->

next;

q=head;

while(p!

=NULL&

item->

value>

p->

value)

q=p;

p=p->

q->

next=item;

pre=q;

next=p;

if(p!

pre=item;

}/*-----endoffunctionopen_insert-----*/

numNode*

open_getfirst(numNode*head)

numNode*p;

if(head->

next==NULL)

returnNULL;

head->

next=p->

if(p->

next!

=NULL)

next->

pre=head;

pre=NULL;

returnp;

}/*-----endoffunctionopen_getfirst-----*/

close_append(numNode*head,numNode*item)

next=head->

if(item->

next!

=NULL)

}/*-----endoffunctionclose_append-----*/

int

expand(numNode*p1)

numNode*p2;

intop=1;

for(op=1;

op<

=4;

op++)

p2=copy_numNode(p1);

operate(p2->

num,op);

if(isNewNode(open,close,p2->

num)=='

N'

p2->

parent=p1;

deepth=p1->

deepth+1;

diffnum=diff(p2->

num);

value=p2->

deepth+p2->

diffnum;

if(p2->

diffnum==0)

total_step=print_result(p2);

Totalstep:

%d\n"

total_step);

free_list(open);

free_list(close);

return1;

else

numNode_num++;

open_insert(open,p2);

free(p2);

return0;

}/*-----endoffunctionexpand-----*/

operate(intm[],intop)

intblank;

blank=0;

while(m[blank]!

blank<

9)

++blank;

if(blank==9)

switch(op){

case1:

/*up*/

if(blank>

2)

swap(m+blank,m+blank-3);

case2:

/*down*/

if(blank<

6)

swap(m+blank,m+blank+3);

case3:

/*left*/

if(blank!

blank!

=3&

=6)

swap(m+blank,m+blank-1);

case4:

/*right*/

=2&

=5&

=8)

swap(m+blank,m+blank+1);

default:

swap(int*a,int*b)

intc;

c=*a;

*a=*b;

*b=c;

copy_numNode(numNode*origin)

p=create_numNode();

deepth=origin->

deepth;

diffnum=origin->

value=origin->

value;

inti;

(p->

num)[i]=(origin->

num)[i];

}/*-----endoffunctioncopy_numNode-----*/

diff(intnum[9])

inti,diffnum=0;

for(i=0;

i++)

if(num[i]!

=target[i])

diffnum++;

returndiffnum;

}/*-----endoffunctiondiff-----*/

char

isNewNode(numNode*open,numNode*close,intnum[9])

p=open->

if(p->

num[i]!

=num[i])

if(i==9)

return'

O'

//Open

p=close->

i++)

C'

//Close

}/*-----endoffunctionisNewNode-----*/

free_list(numNode*head)

q=p->

free(p);

p=q;

free(head);

}/*-----endoffunctionfree_list-----*/

print_num(intnum[9])

{

%d\t"

num[i]);

if((i%3)==2)

}/*-----endoffunctionprint_num-----*/

print_result(numNode*item)

intstep;

p=item;

step=print_result(p->

parent);

\nStep%d:

step+1);

print_num(p->

returnstep+1;

return-1;

}

4.结果:

下图实验结果中,一步代表一层的搜索结果中的最优解;

八数码难题的宽度优先搜索树:

5.实验分析

宽度优先搜索属于一种盲目搜索算法,可以系统的展开所有节点,理论上一定能达到搜寻目的。

但是,倘若搜索步骤太多,则会十分费时,所以应考虑具体问题具体改进。

本实验结果中,一步代表一层的搜索结果中的最优解;

以简化输出显示,实验耗时也在可以接受的程度。

6.结论

经过分析和查询相关资料,本报告决定采用宽度优先搜索来求解问题,划定流程图及明确算法步骤之后,经多次调试和修改,最终得出有效结论,找出了八数码难题的解。

本报告严格依照实验和报告的要求进行,从分析查找到最终得出阶段性结论的过程中,收获了宝贵的经验。

人工神经网络和神经模糊技术,在用图像处理甜樱桃果实

成熟过程中,检测抗氧化活性与花青素的量时的潜力评估

摘要

背景

本文介绍了一种别样的思路,糅合了图像处理技术和两种人工智能技术,在樱桃成熟的不同阶段,检测抗氧化活性与花青素的量。

与普通的冗长实验理论相比,本方法有重要贡献,它更经济,更快捷。

精确地人工神经网络技术(ANN),和自适应神经模糊推理系统理论(ANFIS),被用以检测输出。

ANNandANFIS使用的敏感性分析和主成分分析,分别指出了输出的有效属性。

RESULTS

结果

AmongthedesignedANNs,twohiddenlayernetworkswith11-14-9-1and11-6-20-1architectureshadthehighestcorrelationcoefficientsandlowesterrorvaluesformodelingantioxidantactivity(R=0.93)andanthocyanincontent(R=0.98)respectively.ANFISmodelswithtriangularandtwo-termGaussianmembershipfunctionsgavethebestresultsforantioxidantactivity(R=0.87)andanthocyanincontent(R=0.90)respectively.

所设计的神经网络中,两个隐层的网络体系结构和11-6-20-111-14-9-1,具有最高的相关系数和最低误差值,抗氧化活性(R=0.93)和花青素含量(R=0.98)。

ANFIS模型的三角函数和两项高斯隶属函数,给出了最好的结果,分别是:

抗氧化活性(R=0.87)和花青素含量(R=0.90)。

CONCLUSION

结论

ComparisonofthemodelsshowedthatANNoutperformedANFISforthiscase.Byconsideringtheadvantagesoftheappliedsystemandtheaccuracyobtainedinsomewhatsimilarstudies,itcanbeconcludedthatbothtechniquespresentedherehavegoodpotentialtobeusedasestimatorsofproposedattributes.©

2013SocietyofChemicalIndustry

模型的比较表明,人工神经网络优于ANFIS这个案子。

考虑到类似的研究应用系统和精度的优点,可以得出这样的结论:

这里介绍的技术有很好的潜力被用作估计该属性。

©

2013化学工业协会

简介

甜樱桃(Prunusavium)是一种流行的水果,无论新鲜的还是加工过的。

,伊朗被评为世界第三大甜樱桃生产国,每年生产约241117MT。

Humansliveinahighlyoxidativeenvironment,andmanyprocessesinvolvedinmetabolismmayresultintheproductionofexcessfreeradicals,whichcanleadtohealthproblems.[2]Oxidationcausestheformationoftoxiccompoundsthatareharmfultohumanhealth,suchasreactiveoxygenspeciesandfreeradicals,whichcanleadtocarcinogenesis,mutagenesis,inflammation,DNAchanges,aging,cardiovasculardiseaseandnutritionalloss.[3-5]Inaddition,oxidationmayresultinunpleasantflavorandrancidtaste.[6,7]Thereisgrowinginterestamongfoodproducersandconsumersintheuseofnaturalantioxidantsbecauseoftheirprotectiveroleagainstoxidation.[8]Thusitmaybebeneficialtofindarapidandnon-destructivewayforestimatingthisattributeinfruitsasanimportantsourceofantioxidants.

人类生活在一个高度氧化的环境,参与许多代谢过程可能会导致过量的自由基的产生,从而导致健康问题。

氧化导致有毒化合物的形成,如活性氧和自由基,从而导致致癌,诱变,炎症,基因的变化,老化,心血管疾病和营养损失,对人类的健康是有害的。

另外,氧化可能会导致不愉快的味道和腐臭。

含有天然抗氧化剂的食品,因为其抗氧化保护作用,越来越受生产商和消费者的欢迎。

可以有利于发现估计这个属性在水果作为一种重要的的。

寻找一种快速的,非破坏性的方式,检测水果的这个属性,作为抗氧化剂的重要来源,有利可图。

花青素,植物颜料中这是最常见的,似乎有多种功能。

例如,作为着色剂和食品质量控制指标。

最近,增近对它的了解,发现对人体健康有利,已经导致花青素研究加剧。

近年来,Variousdatamining/artificialintelligence(DM/AI)techniquessuchasdecisiontrees,artificialneuralnetworks(ANNs),geneticalgorithms,fuzzysets,expertsystems,etc.havebeenincreasinglyappliedincombinationwithmachinevision(MV)foragriculturalproductqualityevaluationinrecentyears

各种数据挖掘、人工智能(DM/AI)技术,如决策树,人工神经网络(ANN),遗传算法,模糊集,专家系统等,已被越来越多地应用于机器视觉的组合(MV),以进行农产品质量评价。

农产品的图像处理的一个新领域被用来估计一些质量属性,如植物色素的抗氧化活性。

采用独立分量分析的西红柿光谱图像,估计番茄红素和叶绿素浓度。

最近,taghadomi萨贝里等人,结合图像处理和人工神经网络技术,在酸樱桃在成熟过程中,估计抗氧化活性与花青素含量。

Giventhefactsthatantioxidantsh

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1