penka borukova student at telerik academy. 1. history 2. hamiltonian cycle 3. hamiltonian graph 4....
Post on 11-Jan-2016
217 views
TRANSCRIPT
![Page 1: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/1.jpg)
Hamiltonian Cycle
Penka Borukova
Student at Telerik Academy
![Page 2: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/2.jpg)
Table of Contents
1. History
2. Hamiltonian Cycle
3. Hamiltonian Graph
4. Travelling salesman
2
![Page 3: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/3.jpg)
History
![Page 4: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/4.jpg)
History Invented by William Rowan Hamilton in 1859
Icosian game = Hamilton’s puzzle Finding Hamiltonian cycle in
dodecahedron
4
![Page 5: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/5.jpg)
Hamiltonian Cycle Definition
![Page 6: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/6.jpg)
Hamiltonian Cycle Hamiltonian path is a path in a graph that visits each vertex exactly once
Hamiltonian cycle is a cycle in a graph that visits each vertex exactly once
Hamiltonian path/cycle problem – determining if Hamiltonian path/cycle exists
Both are NP-complete6
![Page 7: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/7.jpg)
Hamiltonian Graph Definition
![Page 8: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/8.jpg)
Hamiltonian Graph Hamiltonian graph is a graph that has Hamiltonian cycle
Complexity for finding Hamiltonian cycle – O(n!)
Works for less than 50 vertices
8
![Page 9: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/9.jpg)
Hamiltonian Graph (2) Possibility for Hamiltonian graph
Complete graph – 100%
Almost complete graph – high possibility
Less edges => less possibility
9
![Page 10: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/10.jpg)
Hamiltonian Graph (3) Examples
Complete graph
Cycle graph
Platonic solid
Prism
Maximal planar graph
Tournament – odd number Hamiltonian paths
10
![Page 11: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/11.jpg)
Let’s find Hamiltonian cycle
Herschel graph
11
![Page 12: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/12.jpg)
Hamiltonian Graph (4)public static void HamiltonianCycle(Node node, int level, List<Node> pathSoFar) { if (level == nodesCount) { foreach (Node neighbor in node.Neighbors) { if (neighbor == startNode) { List<Node> p = new List<Node>();
p.AddRange(pathSoFar);p.Add(startNode);cycles.Add(p);
} } return; }
12
![Page 13: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/13.jpg)
Hamiltonian Graph (5) for (int i = 0; i < node.Neighbors.Count; i++) { if (!node.Neighbors[i].Visited) { node.Neighbors[i].Visited = true; pathSoFar.Add(node.Neighbors[i]); HamiltonianCycle(node.Neighbors[i], level + 1, pathSoFar); pathSoFar.Remove(node.Neighbors[i]); node.Neighbors[i].Visited = false; } }}
13
![Page 14: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/14.jpg)
Live Demo
![Page 15: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/15.jpg)
Travelling Salesman Problem
![Page 16: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/16.jpg)
Travelling Salesman Finding Hamiltonian cycle with minimal cost
Also NP-complete Heuristics
Greedy
Pairwise exchange
Randomized improvement
16
![Page 17: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/17.jpg)
Live Demo
![Page 18: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/18.jpg)
форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно
програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки
уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop
уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC
безплатен курс "Разработка на софтуер в cloud среда"
BG Coder - онлайн състезателна система - online judge
курсове и уроци по програмиране, книги – безплатно от Наков
безплатен курс "Качествен програмен код"
алго академия – състезателно програмиране, състезания
ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NETкурсове и уроци по програмиране – Телерик академия
курс мобилни приложения с iPhone, Android, WP7, PhoneGap
free C# book, безплатна книга C#, книга Java, книга C#Дончо Минков - сайт за програмиранеНиколай Костов - блог за програмиранеC# курс, програмиране, безплатно
?
? ? ??
?? ?
?
?
?
??
?
?
? ?
Questions?
?
Hamiltonian Cycle
http://algoacademy.telerik.com
![Page 19: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/19.jpg)
Resources Nakov’s book: Programming = ++Algorithms;
http://en.wikipedia.org/wiki/Hamiltonian_path
http://neohumanism.org/h/ha/hamiltonian_path.html
http://en.wikipedia.org/wiki/Travelling_salesman_problem
http://en.wikipedia.org/wiki/Herschel_graph
19
![Page 20: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e165503460f94b00bcc/html5/thumbnails/20.jpg)
Free Trainings @ Telerik Academy
“C# Programming @ Telerik Academy csharpfundamentals.telerik.com
Telerik Software Academy academy.telerik.com
Telerik Academy @ Facebook facebook.com/TelerikAcademy
Telerik Software Academy Forums forums.academy.telerik.com 20