代写159.271留学生作业、代做Python程序语言作业、代写Greedy Heuristics作业、代写Python实验作业代做Python程序|代做R语

Computational Thinking 14/05/19, 6*55 PMfile:///Users/cmmccart/Documents/Teaching/159271/Notes/assignment3_2019.html Page 1 of 2159.271 Computational ThinkingAssignment 3Greedy Heuristics for Independent SetThis assignment is worth 10% of your final mark. It will be marked out of a total of 20marks. The due date for this assignment is Friday May 31st. You are expected to work onthis assignment individually and all work that you hand in is expected to be your own work.In this assignment your task is to test greedy heuristics for the NP-complete problemMaximum Independent Set. Recall that a maximum independent set for a graph is a subsetof the vertices in the graph, of maximum size possible, where no two vertices in the subsetare adjacent to one another. Two vertices are adjacent if there is an edge connecting one tothe other.You have seen this problem already in Tutorial 5, where two different algorithms werepresented. Each of these takes a graph as input (in the form of a list of vertices and a list ofedges) and returns the size of a maximum independent set for the graph. Both of thesealgorithms essentially use a brute-force approach (with some minor improvements to allowus to avoid considering every subset of vertices.) As you will have seen, both of thesealgorithms run in time exponential in n, where n is the number of vertices.Your task is to implement two different greedy heuristics for the Maximum Independent Setproblem, and to compare the results they produce against a brute-force approach, using a setof small benchmark graphs. A simple example of a (polynomial-time) greedy heuristic forthis problem: Start with an empty independent set. At each step, pick a vertex with lowestdegree and add it to the independent set. Remove this vertex v and all of its neighboursfrom the graph (along with all of the edges involving v and its neighbours.) Stop when thereare no more vertices left. This heuristic will return an independent set, but not necessarily amaximum-sized independent set.Proceed as follows:1. Implement a version of one of the algorithms presented in Tutorial 5, altered so that itreturns the independent set itself, along with the size of that set.2. Implement your two greedy algorithms so that each returns the independent set that itfinds, along with the size of that set.3. Run your three algorithms on the test graphs supplied on Stream (and any others thatyou choose) and report a comparison of the results obtained.Computational Thinking 14/05/19, 6*55 PMfile:///Users/cmmccart/Documents/Teaching/159271/Notes/assignment3_2019.html Page 2 of 2Your implementations will need to handle the test graph files as input. The test graph filesare text files with the following format:n # number of vertices in the graph, vertices are named as n # number of vertices in the graph, vertices are named asnumbers numbers 1 to n)m # number of edges in the graph m # number of edges in the graph# blank line, followed by m rows, each containing a pair of # blank line, followed by m rows, each containing a pair ofdigits representing the edges of G digits representing the edges of GFor each of your algorithms, consider carefully what sort of data structures should be used tostore the input graphs, in order to allow for efficient implementation of your strategy.Marking scheme1. 5 marks for a correct brute-force program, returning a maximum independent set, alongwith the size of that set.2. 5 marks each, for each of your implemented greedy heuristics, returning anindependent set, along with the size of that set.3. 5 marks for a report, sensibly comparing the results of your three algorithms, on thetest graphs supplied on Stream (and any others that you might decide to utilise.)SubmissionSubmit your project in Stream as a single zipped file containing your completed code, asthree separate .py files, and the results report that you produce in a separate text file.本团队核心人员组成主要包括BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected] 微信:codehelp QQ:99515681 或邮箱:[email protected] 微信:codehelp

你可能感兴趣的:(代写159.271留学生作业、代做Python程序语言作业、代写Greedy Heuristics作业、代写Python实验作业代做Python程序|代做R语)