作者序


网络编码自2000年提出后,得到了众多研究者的关注,最初被用来提升组播网络的吞吐量。后来广大学者将其中间节点编码的思想广泛应用于各种领域,如提高无线网络能量效率,提升可靠性,提升服务质量,在存储,安全,数据共享等领域也都有重大的作用。

网络编码经过数十年的研究,理论成果已经较为丰富,通过近两年的发表的文献发现,基于网络编码的真实应用系统方面的研究将会非常火爆,尤其是在移动手机终端中。但开展这方面的研究需要较强网络编码相关的开发能力,这也是我为什么想编这本书的原因。通过这本书的学习,希望大家能具备开发基于网络编码应用的能力。掌握基本技术后,结合你们自己的idea,一定能做出有特色的系统出来,相信这些特色的系统将帮助你们发表高水平文章,获得专利,获得成果转化等等。

我为何想编这本书:

最让人头疼的事,每年实验室进来新的师弟师妹,总是要让他们去学习网络编码的基础知识。每年我都要教他们这些基础,但他们上手起来也比较慢,读研总共就2年,花半年甚至一年学基础知识和技能,确实不太划算。所以,我就琢磨着如果能有一本适合新手入门的书,那将极大地加快他们学习的进度。读书这些年,跟这导师搞横向项目,花费了不少时间。期间虽有一些编教程的想法,却无法实施。参加工作后,又忙着各种教学,各种基金申请,带学生做项目,累得跟狗一样,囧!终于工作的第二年暑假来了,打算把这本书整理出来。希望在这本书的帮助下,让实验室的师弟师妹进来后能快速入门网络编码。同时,打算把代码开源到网上,帮助更多的初学者快速入门。

这本书讲什么?

说到底这是一本入门的教程,旨在帮助新来的师弟师妹快速入门,因此,并不会介绍太深理论方面的知识。话说回来,师兄学术能力本身就较为一般,但动手能力还可以,读研期间开发一些与网络编码相关的程序,软件和系统。通过这本书,将会一并奉献给大家,所有项目的代码全部上传到github上。另外,由于是入门的书籍,并不会长篇大论,希望能以极短的篇幅,让大家迅速上手,以网络编码为手段,开展自己的研究。本书主要以网络编码应用为背景来开展工作。学习期间会产生较多的代码,大家可以集成到自己的项目中去。

言归正传,回到主题“这本书讲什么”。学完本书,将会理解网络编码的基础知识,对经典的网络编码算法(随机线性网络编码,确定线性网络编码)实现有深刻的认识,通过几个实例了解网络编码的应用。通过本书,大家将掌握常见的工具的使用,如MATLAB, OMnet++, VC++, Eclipse。这些可是仿真网络编码,进行网络编码开发必不可少的工具哦。

预备知识

一定有不少师弟师妹会说:“师兄,我很渣的,能学会吗?”。我相信,只要大学期间,稍微认真学习过编程,都应当能看懂。比如:如果你对C++,java等本身较为精通的话,学起来应该会很快。有很多代码,设计的都较为模块化,可以直接集成到你的项目中去。

关于本书

本书在Gitbook上撰写,大家可以对任意章节,任意位置进行评论,我会经常给大家回复的。 另外,如果大家有意为本书贡献个别章节的话,也可以联系我。

致谢

本书在编写的过程中,得到了来自全国各个高校网络编码领域师兄弟们的支持和帮助,如西安电子科技大学,北京邮电大学,南京邮电大学,南京理工大学,北京大学深圳研究院,山东大学,华中科技大学,成都电子科技大学, 东南大学,哈尔滨工程大学等等。在此,向大家表示感谢。同时也要感谢我的老婆,我的孩子们,他们在我读博士期间给了我无穷的动力。

由于本人水平也非常有限,书中难免会有不合理甚至错误之处,请批评指正,大家可以直接在Gitbook上以评论的方式指出,也可以发邮件到我的工作邮箱[email protected]

补充

最后补充一下:国内有2个研究网络编码的QQ群,大家有兴趣可以申请加入,那里有不少来自全国各地的老师和同学。群号:39113064,154422403。

本书所有程序的源代码,可以在以下网址下载: https://github.com/WangLei20167/NetworkCoding

王磊,2016年夏,于南京邮电大学

results matching ""

    No results matching ""