1.计算机专业本科生做毕业论文一般用什么算法
一个程序的核心在于算法。
比如说打开一个软件和运行一个软件的速度在计算机硬件性能相同情况下,软件的算法起到了几近决定性作用,所有的计算机软件和硬件的编程都是需要算法的,就算一个hello world程序虽然我们编时候没有用到算法但是在编译他和运行再屏幕显示的时候就是算法了。算法是计算机乃至自然界的核心,如果知道人脑的算法,就可以制造出人工智能的软件。
算法太多,也就不全部列举出来了,具体的还有用法,你自己看下书或去网上找下,都应该可以找到的:比如:贪心算法,蚁群算法,遗传算法,进化算法,基于文化的遗传算法,禁忌算法,蒙特卡洛算法,混沌随机算法,序贯数论算法,粒子群算法,模拟退火算法等等。
2.计算机专业本科生做毕业论文一般用什么算法
一个程序的核心在于算法。比如说打开一个软件和运行一个软件的速度在计算机硬件性能相同情况下,软件的算法起到了几近决定性作用,所有的计算机软件和硬件的编程都是需要算法的,就算一个hello world程序虽然我们编时候没有用到算法但是在编译他和运行再屏幕显示的时候就是算法了。算法是计算机乃至自然界的核心,如果知道人脑的算法,就可以制造出人工智能的软件。
算法太多,也就不全部列举出来了,具体的还有用法,你自己看下书或去网上找下,都应该可以找到的:比如:贪心算法,蚁群算法,遗传算法,进化算法,基于文化的遗传算法,禁忌算法,蒙特卡洛算法,混沌随机算法,序贯数论算法,粒子群算法,模拟退火算法等等。
3.如何设计算法
设计一个正确的算法是一件困难的工作,因为它需要创新,从以太真空中发掘出一个解方案来解决问题。
算法设计比对现有的方案进行改良要难得多,因为算法设计的可选择空间太,过多的自由反而成了一种约束。 This book is designed to make you a better algorithm designer. The techniques presented in Part I of this book provide the basic ideas underlying all combinatorial algorithms. The problem catalog of Part II will help you with modeling your application and point you in the right direction of an algorithm or implementation. However, being a successful algorithm designer requires more than book knowledge; it requires a certain attitude, the right problem-solving approach. It is difficult to teach this mindset in a book; yet getting it is essential to become a successful designer. 本书的设计目标是让你成为一个更好的算法设计者。
本书第一部分展示有关组合算法的基本原理和基本思想;第二部分的问题清单帮助你为你的问题建模,并且为你指明实现正确算法的方向。尽管如此,要成为一个成功的算法设计者光有书本知识是不够的,面对问题的态度(attitude)和选择正确的方法更重要。
书本容易传授知识,很难传授人的心态(mindset)和思考方式;而这种心态和思考却是成为成功的算法设计者的根本条件。 The key to algorithm design (or any other problem-solving task) is to proceed by asking yourself a sequence of questions to guide your thought process. What if we do this? What if we do that? Should you get stuck on the problem, the best thing to do is move onto the next question. In any group brainstorming session, the most useful person in the room is the one who keeps asking, ``Why can't we do it this way?'' not the person who later tells them why. Because eventually she will stumble on an approach that can't be shot down. 算法设计(或其它问题解决任务)的关键是一系列持续的自我反问,这些反问引导我们思维的前进。
“如果这样做会怎样?”,“如果那样做又会怎样?”……如果 你被一个问题掐住了,最好的办法就是先搁一下,换一个问题换一个前进的方向试试。在每组头脑风暴会议中,最有价值的人是不断提出为什么的人,不是尔后解说为什么的人。
因为我们常常被一些习以为常的东西所拌倒,掉进自己设置的陷阱。 kemin:如果问题解决是一种思考过程,那么思考的形式(过程的严谨性、细致性和正确性)很重要,而思考的内容也不容忽视。
因为引导我们思考前进的方式 除反问本身外,反问的内容也很重。就比如参加头脑风暴的材料一样。
人大脑的思维功能是硬编码的,人与人之间没有思维规律——质的区别,只是思维的清晰度和 灵敏度——量的差别。人与人之间智力的差别更多体现在思维内容的量上,体现在对外部世界的事实掌握的广度和深度上。
Towards this end, we provide below a sequence of questions to guide your search for the right algorithm for your problem. To use it effectively, you must not only ask the questions, but answer them. The key is working through the answers carefully, by writing them down in a log. The correct answer to, ``Can I doit this way?'' is never ``no,'' but ``no, because 。.'' By clearly articulating(明确有力地表达) your reasoning as to why something doesn't work, you can check if it really holds up or whether you have just glossed(掩盖) over a possibility that you didn't want to think hard enough about. You will be surprised how often the reason you can't find a convincing(使人信服的) explanation for something is because your conclusion is wrong. 在末尾我们提供一个反问问题的列表,你不但要反问自己这些问题,更重要是仔细回答这些问题,最好把答案写下来。
回答诸如问题“我可以使用这种方式吗?”的 不是一个“不能”就完了,而是“不能,因为……”。通过仔细明确的回答“为什么不能”时,你会发现到底是“真的不能“,还是只是你自己不愿意去深入思考掩 盖了”能“。
如果你不曾训练出严谨的思考方式,当你这样做时你会惊讶的发现,为了说明某些东西但却找不到一个令人信服的解释的原因常常是因为你的结论本身 是错的。 An important distinction to keep aware of during any design process is the difference between strategy and tactics(战略). Strategy represents the quest for the big picture, the framework around which we construct our path to the goal. Tactics are used to win the minor battles we must fight along the way. In problem solving, it is important to check repeatedly whether you are thinking on the right level. If you do not have a global strategy of how you are going to attack your problem, it is pointless to worry about the tactics. 在设计过程中特别重要区分策略和战略的概念。
策略是对全局的一个探索,一个构筑通向目标路径的指导框架。战略则是用来解决通向大目标过程的较小的问题。
如果你对关于如何对付所面临的问题没有一个全局的策略。
4.我准备如何完成毕业设计
前期工作 开题后不久就是圣诞节,我到荷兰度假了一趟,准备放松心情完回来之后大干一场。
然而剧情就在这里来了个一百八十度转弯。首先是算法A在我的数据库上运行起来有很多问题,开题时以为这部分很快就能完成,现在需要对数据库重新整理。
再者是算法B比我想象中的难实现得多,我从第一步搭配环境就卡住了。然而更悲剧的是,我的技术指导老师在开年后,因为家里有事,突然请假回国了,一直到三月底才回来。
另一位可以请教的学长石头也不在芬兰。毕设进度停滞不前。
再加上由于我还有最后两门课程在上,所以今年三月份之前,毕业设计的进度基本为零。和我同届的朋友们,一个叫豆豆,已经基本完成了毕设,开始了论文的撰写。
一个叫kiki,毕设也在进行中了。只有我,真正的算法部分还没开始。
当时的我已经有些焦虑了。在这个阶段虽然进度缓慢,但是我也有成果,一是把所有课程修完了,二是把毕业设计需要的这个数据库终于整理好。
因为这个数据库包含1800多个录像的片段,所以我处理起来花费了很久。相当于原本计划的ABC三个阶段的基础上,还突然增加了一个数据库处理阶段。
在三月份之前能处理好数据库,我觉得已经是万幸了。此外在二月份石头学长回来之后,我同时把算法A也向他请教学习了一下,提前熟悉改进,以便能快速实现阶段A。
正式开始 所以我的毕业设计正式开始算是三月份了。一方面我的课程全部上完了,另一方面我的技术指导老师也回来了。
然而五月底就要交论文了,所以我只有三个月的时间实现算法。留给我的时间很有限。
如果想毕业设计按时完成,我的压力就很大了。显然,我的技术指导老师也意识到了这个问题,也许是为了让我时间更充裕地完成论文,不让我压力那么大。
他从国内回到芬兰后不久,和我讨论的第一件事就是:我觉得你可以考虑延期毕业,你的时间太紧张了。你可以再多留个半年,我们从头开始好好做,考虑一下发个期刊。
我当时听到这个建议后,内心一阵翻腾,心情真可谓五味陈杂。既有面对自己可能要延毕的恐惧,也有点埋怨技术指导老师不愿意再想想办法‘救救‘我,更有恨自己能力不足,不敢肯定自己一定能按时完成毕业的恨意。
当然,因为可以卸去非要按时毕业的压力,心里竟也会产生一丝丝的延毕的轻松感。当时我因了这点延毕轻松感,真的有动摇,和家里商量做了延毕的打算。
因为延期毕业半年,我的压力确实会小很多,什么事情都可以暂且缓一缓。但是现在想想还是有点后怕。
如果我延毕了,那么现在的我,不可能来到意大利旅游,而是会继续苦逼的在芬兰写毕业论文。甚至不可能这么早拿到博士的位置。
如果真延毕,我的心理压力就大了。说到这一丝延毕的轻松感,其实有件事情一定要说一下,这件事情对我按时毕业起到了非同寻常的帮助,帮助我克服了这点轻松感。
因为早在我开始毕设之处,我的心中就有了一个念头,那就是一定要按时毕业。这个念头来自一丝遗憾:其实,我心中一直有一丝遗憾,我高考的时候,因为那时的我还很懵懂,虽然知道高考很重要,但是并没有为之全力地付出拼了命地去准备,我那时很叛逆,也很懒惰。
很多次都觉得,那时的我就是太玩世不恭,连高考这么重要的事情我都不能认真地去对待,后悔自己的不懂事。如果高中再重来一次,我绝对好好学习好好准备不迷茫不懒惰。
这些年来,我的人生观和价值观也慢慢变得成熟,慢慢学会了承担责任和认真地生活,但是很遗憾再没有一次高考给我来过。于是,借着这个机会,我暗自心想,把硕士毕业论文作为我的挑战,当成高考。
我对自己说,一定要尽全力去按时完成毕业设计,是时候认真一次了,一辈子,总要认真一次地做一件事情吧。如果做一件事情失败了,我总可以以不认真作为借口,但是我一辈子就在逃避和玩世不恭中过去了。
但是只有全力以赴了,不给自己各种理由各种借口,才能激发自己全部的能力,也才能认清自己真正的模样。所以技术指导老师和我提及延毕后,我也动摇了甚至险些放弃了,但是我脑子里还是会回响我对自己说的上面这段话。
而我最后确实因为了心中的这点不甘心,咬咬牙坚持了下去。所以最后拿到毕业证书的时候,我很感激当时的我能拥有这么矫情而伟大的想法,竟然能把毕业设计上升到这么高的价值。
傻笑脸。有时候,矫情也挺好的,自己给自己设计个英雄梦吧。
实验阶段 因为有了嘉炜学长的前期工作和石头学长的帮助,我很快在四月份之前把算法A在数据库上的结果跑出来了。最开始的准确度只有大约26%,这大概是个什么水平呢,我这个数据库有七个类别,所以随机猜测的概率是17%,可见算法A还是对准确度做出贡献了9%的贡献,虽然提升的空间还很大,但我觉得一个数据库加上实现了一个表现还凑合的算法,也算能混毕业了。
于是我找到了导师,和她汇报了我的毕设进度,同时强烈地表达了我想按时毕业的意愿。导师听说了这个数据库做到了26%的精度,表示说一个新的数据库能做到26%已经不错了。
我们组以前一个数据库五个分类,也只有30%左右的精度。不过导师希望我可以再把算法B做出来,同时进一步提高算法A的精度,这样。
5.计算机论文框架怎么做
毕业论文写作框架(仅供参考)
2007年06月21日
摘要及关键词
Abstract and Keywords
目录
正文
第一章 引言
●本课题的研究意义
●本论文的目的、内容及作者的主要贡献
第二章 研究现状及设计目标
●相近研究课题的特点及优缺点分析
●现行研究存在的问题及解决办法
●本课题要达到的设计目标
第三章 要解决的几个关键问题
●研究设计中要解决的问题
●具体实现中采用的关键技术及复杂性分析
第四章 系统结构与模型
●设计实现的策略和算法描述
●编程模型及数据结构
第五章 系统实现技术
●分模块详述系统各部分的实现方法
●程序流程
第六章 性能测试与分析
●测试实例(测试集)的研究与选择
●测试环境与测试条件
●实例测试(表格与曲线)
●性能分析
第七章 结束语
致谢
6.计算机毕业设计
计算机毕业设计是计算机专业毕业生培养方案中的必修环节。
学生通过计算机论文的写作,培养综合运用计算机专业知识去分析并解决实际问题的能力,学有所用,不仅实践操作、动笔能力得到很好的锻炼,还极大地增强了今后走向社会拼搏、奋斗的勇气和自信。 计算机毕业设计一般可分为四大类: 1计算机信息管理 2计算机应用 3计算机网络 4计算机软件 计算机毕业设计的研究方向,通常有以下四类: 1.完成一个不太大的实际项目或在某一个较大的项目中设计并完成一个模块(如应用软件、工具软件或自行设计的板卡、接口等等),然后以工程项目总结或科研报告、或已发表的论文的综合扩展等形式完成论文。
这类项目的写作提纲是:1)引言(应该写本论文研究的意义、相关研究背景和本论文的目标等内容。);2)***系统的设计(应该写该系统设计的主要结论,如系统的总体设计结论(包括模块结构和接口设计)、数据库/数据结构设计结论和主要算法(思想)是什么等内容。)
;3)***系统的实现(主要写为了完成该系统的设计,要解决的关键问题都有什么,以及如何解决,必要时应该给出实验结果及其分析结论等。);4)结束语(应该总结全文工作,并说明进一步研究的目标和方向等)。
2. 对一个即将进行开发的项目的一部份进行系统分析(需求分析,平台选型,分块,设计部分模块的细化)。这类论文的重点是收集整理应用项目的背景分析,需求分析,平台选型,总体设计(分块),设计部分模块的细化,使用的开发工具的内容。
论文结构一般安排如下: 1)引言(重点描述应用项目背景,项目开发特色,工作难度等) ;2)项目分析设计(重点描述项目的整体框架,功能说明,开发工具简介等);3)项目实现(重点描述数据库设计结果,代码开发原理和过程,实现中遇到和解决的主要问题,项目今后的维护和改进等,此部分可安排两到三节);4)结束语。 3.对某一项计算机领域的先进技术或成熟软件进行分析、比较,进而能提出自己的评价和有针对性创见。
这类论文的写作重点是收集整理有关的最新论文或软件,分析比较心得,实验数据等内容。论文结构一般安排如下: 1)引言(重点描述分析对象的特点,分析比较工作的意义,主要结果等) ;2)分析对象的概括性描述;3)分析比较的主要结果(如果是技术分析,给出主要数据,如果是软件分析,给出代码分析结果,实验过程等) ;4)分析比较的评价和系统应用(可以给出基于分析比较的结果,提出某些设计实现方案,和进行一些实验工作 ;5)结束语。
4. 对某一个计算机科学中的理论问题有一定见解,接近或达到了在杂志上发表的水平。这类论文的写作重点是收集整理问题的发现,解决问题所用到的基本知识,解决问题的独特方法,定理证明,算法设计和分析。
论文结构一般安排如下: 1)引言(重点描述要解决的问题的来源,难度,解决问题的主要方法等) ;2)基本知识(解决问题涉及的基本定义,定理,及自己提出的概念等);3)推理结论(给出问题解决方案,包括定理证明,算法设计,复杂性分析等) ;4) 结束语。 完成计算机毕业设计的各个环节: 一、计算机专业实践环节形式:毕业设计 二、毕业设计实践环节应注意的事项1、“毕业设计”实践环节在全部毕业学分中占有一定学分;2、“毕业设计”实践环节从起步到毕业答辩结束历时至少4周以上;3、“毕业设计”实践环节包括两部分内容:① 完成“毕业设计”所开发的应用程序;② 针对所开发的应用程序书写“毕业设计”说明书(即论文); 三、毕业设计实践环节应先完成的工作在毕业设计实践环节之前,应向有关主管设计工作的单位或老师上报如下材料:①《毕业设计实践环节安排意见》(包括领导小组名单,毕业班专业、级别、性质、工作计划安排、实践环节工作步骤,指导教师名单,学生分组名单)、②《毕业设计(论文)审批表》一式两份(要求认真审核、填写指导教师资格,包括职称、从事专业、有何论著,每人指导学生不得超过一定人数,兼职(或业余)指导教师指导学生数根据情况酌减)。
四、关于“毕业设计”工作的过程步骤: 1、“毕业设计”题目的选择选题时应遵循以下原则:①选题必须符合计算机专业的综合培养要求;②应尽可能选择工程性较强的课题,以保证有足够的工程训练;③毕业设计工作要有一定的编程量要求,以保证有明确的工作成果;④选题原则上一人一题,结合较大型任务的课题,每个学生必须有毕业设计的独立子课题;⑤选题应尽量结合本地、本单位的教学、科研、技术开发项目,在实际环境中进行。总之选题要体现综合性原则、实用性原则、先进性原则、量力性原则等选题时要达到以下目标:①选题与要求提高综合运用专业知识分析和解决问题的能力;②掌握文献检索、资料查询的基本方法和获取新知识的能力;③掌握软硬件或应用系统的设计开发能力;④提高书面和口头表达能力;⑤提高协作配合工作的能力。
2、“毕业设计”题目审核有关单位将毕业学生选择的题目填写在同一个“毕业设计(论文)审批表”中的“毕业设计安排表”相应栏目中,,审核通过后方可。
转载请注明出处众文网 » 毕业论文怎么设计算法(计算机专业本科生做毕业论文一般用什么算法)