求助大神,实现论文里的算法,百分酬谢

IT0918liu 2014-10-22 04:54:23
小弟的研究生课题
因为是跨专业考研,编程能力不行,导师又逼着做
想死的心都有

论文附的有源码 不过是在linux环境下用c语言编写的
导师让用java重新实现
求大神指导


算法原理:
本文的解决方案依靠的基本原理是利用移动感应器之间的合作进行复制检测。对于每一个协议轮,每个传感器将该轮中所遇见的邻居,以及自己的位置存储在日志中,我们假设一个节点有足够的存储空间,以保存最后h轮轨迹上的邻居(历史记录)。

相邻的传感器交换他们的日志,而每个感应器比较这些日志。HIP和HOP协议的不同是它们如何对日志进行比较。在这两个协议中,在每个节点将自己的日志与从邻居接收到的日志进行比较。然而,对于HOP协议,每个节点不只将接收到的日志与自己的日志进行比较,还在接收到的不同邻居发来的日志进行比较。

比较日志的目的是检测出与恶意节点相关的不一致的信息(以ni为例),也就是说,在找出相同id的传感器,在同一协议轮j存在(至少)两个位置。如果这两个位置是不一致的:即我们认为这两个位置作为存在克隆攻击的证据。

当检测到一个节点ni存在冲突的位置,发现复制攻击的的节点向所有节点广播警报来撤销ni节点。
该解决方案不会受到误报影响。实际上,该位置声明产生并广播每轮只有一次:如果相同id的传感器在同一轮的不同位置的声明自己的位置,它们必须来自克隆的传感器。

算法原理图:


算法第一部分:


算法第二部分:


其他所有手头上的资料都在网盘:http://pan.baidu.com/s/1hqkU9bY
...全文
1691 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT0918liu 2014-10-24
  • 打赏
  • 举报
回复
引用 19 楼 dragonlw 的回复:
自己动手,这件事情不能麻烦别人 只要用心,没什么事情不能做。况且你是研究生,脑袋够用。 有时候,人生很无奈。 男人选错了职业也是一种 翻过这坐山, 因为努力过,你会一览众山小 不要投机取巧, 人生的路还长,苦恼还很多 祝你顺利完成论文
这不是我的论文 只能算是一个对比实验
IT0918liu 2014-10-24
  • 打赏
  • 举报
回复
左右找人请教了半天 总算有点思路了 还是自己动手吧
勤奋的小游侠 2014-10-23
  • 打赏
  • 举报
回复
一个二到三年工作经验的程序猿日薪是三百到六百左右。你估计你的代码工作量要写多久?再加上要理解你的算法需要一定的专业基础,这方面的人才就更少了。所以你不可能用一二千块就解决的。要么自己动手,要么高薪求人。
IT0918liu 2014-10-23
  • 打赏
  • 举报
回复
引用 8 楼 lovesmiles 的回复:
不花钱,很难有人会帮你做这种事的,又不是简单的给大学生改个代码,是一篇高质量论文的实现,你发了论文有各种好处,给你做这种劳动,却没有收益的话,那简直就是程序猿界的罪人。
是想过花钱解决 找了各种以前的技术大牛同学 甚至让同学帮我找人 进公司的人随便接点私活 都比我报的价高
精分患者 2014-10-23
  • 打赏
  • 举报
回复
基本上c源码到java上都改好多东西的吧。。。。个人总觉得linux下的c基本都是面向结构的而不是面向对象的。。。
IT0918liu 2014-10-23
  • 打赏
  • 举报
回复
引用 6 楼 addsspu 的回复:
楼主,C源码你自己打开过没,先从头文件看起,我先帮你把头文件贴出来吧 都发出来大家看到的可能性大些
看了啊 不过c语言 早就丢掉了 很多看不懂 nodes.h 定义了一些结构体 另一个就不知是在干嘛了
勤奋的小游侠 2014-10-23
  • 打赏
  • 举报
回复
不花钱,很难有人会帮你做这种事的,又不是简单的给大学生改个代码,是一篇高质量论文的实现,你发了论文有各种好处,给你做这种劳动,却没有收益的话,那简直就是程序猿界的罪人。
Inhibitory 2014-10-23
  • 打赏
  • 举报
回复
引用 11 楼 IT0918liu 的回复:
[quote=引用 8 楼 lovesmiles 的回复:] 不花钱,很难有人会帮你做这种事的,又不是简单的给大学生改个代码,是一篇高质量论文的实现,你发了论文有各种好处,给你做这种劳动,却没有收益的话,那简直就是程序猿界的罪人。
是想过花钱解决 找了各种以前的技术大牛同学 甚至让同学帮我找人 进公司的人随便接点私活 都比我报的价高[/quote] 你看看,连熟人都不便宜,难道我们这些和你不认识的人就要便宜吗?
dragonlw 2014-10-23
  • 打赏
  • 举报
回复
自己动手,这件事情不能麻烦别人 只要用心,没什么事情不能做。况且你是研究生,脑袋够用。 有时候,人生很无奈。 男人选错了职业也是一种 翻过这坐山, 因为努力过,你会一览众山小 不要投机取巧, 人生的路还长,苦恼还很多 祝你顺利完成论文
只是_曾经 2014-10-23
  • 打赏
  • 举报
回复
盘子饿了 2014-10-23
  • 打赏
  • 举报
回复
这是找免费外包么??哪有那么多活雷锋啊。
正负 2014-10-23
  • 打赏
  • 举报
回复
好长的中文文档,好长的英文文档,爱莫能助啊
hemmingway 2014-10-23
  • 打赏
  • 举报
回复
Java 学的有点忘记了,很久以前学过的
hemmingway 2014-10-23
  • 打赏
  • 举报
回复
-逗你玩儿- 2014-10-22
  • 打赏
  • 举报
回复
不花钱,没人给你做吧。
1239609798 2014-10-22
  • 打赏
  • 举报
回复
楼主,C源码你自己打开过没,先从头文件看起,我先帮你把头文件贴出来吧
//nodes.h
struct _node {
  double x;
  double y;
  int id;
  int nbors;
  int round;
  int maxnbors;
  struct _node** nbhood;
  struct _lognode* logs;
};

typedef struct _node node;

struct _logentry {
  int id;
  double x;
  double y;
};

typedef struct _logentry logentry;

struct _lognode {
  int round;
  int size;
  int maxsize;
  logentry *log;
};

typedef struct _lognode lognode;

struct _area {
  // Main field
  node *wsn;

  // Attributes
  int xsize;
  int ysize;
  double range;
  int nelem;
  int nround;
  int logsize;
};
#define AREA_FIELDS 6

typedef struct _area area;

struct _alarmStr {
  int checker;
  int idnode1;
  int idnode2;
  int round;
  int suspectRound;
  int suspectNode;
};
  
typedef struct _alarmStr alarmStr;
//header.h
double randomize(int maxint);
int myerr(char *e);
int draw (area *net, int round);
int dumpOut (area *net);
int restoreWsn (area **net);
double dist (node*, node*);
void printLog(lognode *l, int logsize);
int raiseAlarm(int checker, int checked1, int checked2, int suspectNodeid, int round, int suspRound);
//from mt19973.c
int output0alarms(int round);
int reorder(logentry * logen, int k);

long genrand_int31(void);
unsigned long genrand_int32(void);
void init_by_array(unsigned long init_key[], int key_length);
void init_genrand(unsigned long s);
double genrand_real1(void);
double genrand_real2(void);
double genrand_real3(void);
double genrand_res53(void);
都发出来大家看到的可能性大些,
IT0918liu 2014-10-22
  • 打赏
  • 举报
回复
没有大神能指导一下么?
IT0918liu 2014-10-22
  • 打赏
  • 举报
回复
引用 3 楼 tianyutaizi 的回复:
你找个懂java和c的,按着源码翻译一遍
我发到网上不就是想找大神帮助的么
-天宇 2014-10-22
  • 打赏
  • 举报
回复
你找个懂java和c的,按着源码翻译一遍
IT0918liu 2014-10-22
  • 打赏
  • 举报
回复
引用 1 楼 rumlee 的回复:
论文还是自己做的好,如果对这个不感兴趣可以换课题呗。
论文是要自己做啊 这篇论文只是我自己论文的对比 如果不是非要发级别很高的期刊 算法复杂度神马的纯数学分析就够了 只是导师非要我做出这篇论文的程序
加载更多回复(1)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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