Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4....

20
Hamiltonian Cycle Penka Borukova Student at Telerik Academy
  • date post

    11-Jan-2016
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4....

Page 1: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

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.

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.

History

Page 4: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

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.

Hamiltonian Cycle Definition

Page 6: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

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.

Hamiltonian Graph Definition

Page 8: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

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.

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.

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.

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.

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.

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.

Live Demo

Page 15: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

Travelling Salesman Problem

Page 16: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

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.

Live Demo

Page 18: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно

програмиране за деца – безплатни курсове и уроцибезплатен 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 20: Penka Borukova Student at Telerik Academy. 1. History 2. Hamiltonian Cycle 3. Hamiltonian Graph 4. Travelling salesman 2.

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