问题描述
小弟的研究生课题因为是跨专业考研,编程能力不行,导师又逼着做想死的心都有论文附的有源码不过是在linux环境下用c语言编写的导师让用java重新实现求大神指导算法原理:本文的解决方案依靠的基本原理是利用移动感应器之间的合作进行复制检测。对于每一个协议轮,每个传感器将该轮中所遇见的邻居,以及自己的位置存储在日志中,我们假设一个节点有足够的存储空间,以保存最后h轮轨迹上的邻居(历史记录)。相邻的传感器交换他们的日志,而每个感应器比较这些日志。HIP和HOP协议的不同是它们如何对日志进行比较。在这两个协议中,在每个节点将自己的日志与从邻居接收到的日志进行比较。然而,对于HOP协议,每个节点不只将接收到的日志与自己的日志进行比较,还在接收到的不同邻居发来的日志进行比较。比较日志的目的是检测出与恶意节点相关的不一致的信息(以ni为例),也就是说,在找出相同id的传感器,在同一协议轮j存在(至少)两个位置。如果这两个位置是不一致的:即我们认为这两个位置作为存在克隆攻击的证据。当检测到一个节点ni存在冲突的位置,发现复制攻击的的节点向所有节点广播警报来撤销ni节点。该解决方案不会受到误报影响。实际上,该位置声明产生并广播每轮只有一次:如果相同id的传感器在同一轮的不同位置的声明自己的位置,它们必须来自克隆的传感器。算法原理图:算法第一部分:算法第二部分:其他所有手头上的资料都在网盘:http://pan.baidu.com/s/1hqkU9bY
解决方案
本帖最后由 IT0918liu 于 2014-10-22 17:07:22 编辑
解决方案二:
论文还是自己做的好,如果对这个不感兴趣可以换课题呗。
解决方案三:
引用1楼rumlee的回复:
论文还是自己做的好,如果对这个不感兴趣可以换课题呗。
论文是要自己做啊这篇论文只是我自己论文的对比如果不是非要发级别很高的期刊算法复杂度神马的纯数学分析就够了只是导师非要我做出这篇论文的程序
解决方案四:
你找个懂java和c的,按着源码翻译一遍
解决方案五:
引用3楼tianyutaizi的回复:
你找个懂java和c的,按着源码翻译一遍
我发到网上不就是想找大神帮助的么
解决方案六:
没有大神能指导一下么?
解决方案七:
楼主,C源码你自己打开过没,先从头文件看起,我先帮你把头文件贴出来吧//nodes.hstruct_node{doublex;doubley;intid;intnbors;intround;intmaxnbors;struct_node**nbhood;struct_lognode*logs;};typedefstruct_nodenode;struct_logentry{intid;doublex;doubley;};typedefstruct_logentrylogentry;struct_lognode{intround;intsize;intmaxsize;logentry*log;};typedefstruct_lognodelognode;struct_area{//Mainfieldnode*wsn;//Attributesintxsize;intysize;doublerange;intnelem;intnround;intlogsize;};#defineAREA_FIELDS6typedefstruct_areaarea;struct_alarmStr{intchecker;intidnode1;intidnode2;intround;intsuspectRound;intsuspectNode;};typedefstruct_alarmStralarmStr;
//header.hdoublerandomize(intmaxint);intmyerr(char*e);intdraw(area*net,intround);intdumpOut(area*net);intrestoreWsn(area**net);doubledist(node*,node*);voidprintLog(lognode*l,intlogsize);intraiseAlarm(intchecker,intchecked1,intchecked2,intsuspectNodeid,intround,intsuspRound);//frommt19973.cintoutput0alarms(intround);intreorder(logentry*logen,intk);longgenrand_int31(void);unsignedlonggenrand_int32(void);voidinit_by_array(unsignedlonginit_key[],intkey_length);voidinit_genrand(unsignedlongs);doublegenrand_real1(void);doublegenrand_real2(void);doublegenrand_real3(void);doublegenrand_res53(void);
都发出来大家看到的可能性大些,
解决方案八:
不花钱,没人给你做吧。
解决方案九:
不花钱,很难有人会帮你做这种事的,又不是简单的给大学生改个代码,是一篇高质量论文的实现,你发了论文有各种好处,给你做这种劳动,却没有收益的话,那简直就是程序猿界的罪人。
解决方案十:
引用6楼addsspu的回复:
楼主,C源码你自己打开过没,先从头文件看起,我先帮你把头文件贴出来吧都发出来大家看到的可能性大些
看了啊不过c语言早就丢掉了很多看不懂nodes.h定义了一些结构体另一个就不知是在干嘛了
解决方案十一:
基本上c源码到java上都改好多东西的吧。。。。个人总觉得linux下的c基本都是面向结构的而不是面向对象的。。。
解决方案十二:
引用8楼lovesmiles的回复:
不花钱,很难有人会帮你做这种事的,又不是简单的给大学生改个代码,是一篇高质量论文的实现,你发了论文有各种好处,给你做这种劳动,却没有收益的话,那简直就是程序猿界的罪人。
是想过花钱解决找了各种以前的技术大牛同学甚至让同学帮我找人进公司的人随便接点私活都比我报的价高
解决方案十三:
一个二到三年工作经验的程序猿日薪是三百到六百左右。你估计你的代码工作量要写多久?再加上要理解你的算法需要一定的专业基础,这方面的人才就更少了。所以你不可能用一二千块就解决的。要么自己动手,要么高薪求人。
解决方案十四:
解决方案十五:
解决方案:
Java学的有点忘记了,很久以前学过的
解决方案:
好长的中文文档,好长的英文文档,爱莫能助啊
解决方案:
这是找免费外包么??哪有那么多活雷锋啊。
解决方案:
解决方案:
自己动手,这件事情不能麻烦别人只要用心,没什么事情不能做。况且你是研究生,脑袋够用。有时候,人生很无奈。男人选错了职业也是一种翻过这坐山,因为努力过,你会一览众山小不要投机取巧,人生的路还长,苦恼还很多祝你顺利完成论文
解决方案:
引用11楼IT0918liu的回复:
Quote: 引用8楼lovesmiles的回复:
不花钱,很难有人会帮你做这种事的,又不是简单的给大学生改个代码,是一篇高质量论文的实现,你发了论文有各种好处,给你做这种劳动,却没有收益的话,那简直就是程序猿界的罪人。是想过花钱解决找了各种以前的技术大牛同学甚至让同学帮我找人进公司的人随便接点私活都比我报的价高
你看看,连熟人都不便宜,难道我们这些和你不认识的人就要便宜吗?
解决方案:
左右找人请教了半天总算有点思路了还是自己动手吧
解决方案:
引用19楼dragonlw的回复:
自己动手,这件事情不能麻烦别人只要用心,没什么事情不能做。况且你是研究生,脑袋够用。有时候,人生很无奈。男人选错了职业也是一种翻过这坐山,因为努力过,你会一览众山小不要投机取巧,人生的路还长,苦恼还很多祝你顺利完成论文
这不是我的论文只能算是一个对比实验