Coding Challenge 35: Introduction to the Traveling Salesperson Problem
In Part 1 of this multi-part coding challenge, we explore the classic computer science problem of the Traveling Salesperson (TSP) and examine common pitfalls associated with it.
🔥 Related Trending Topics
LIVE TRENDSThis video may be related to current global trending topics. Click any trend to explore more videos about what's hot right now!
THIS VIDEO IS TRENDING!
This video is currently trending in Bangladesh under the topic 's'.
About this video
In Part 1 of this multi-part coding challenge, I introduce the classic computer science problem of the Traveling Salesperson (TSP) and discuss the pitfalls with a brute force solution. In Part 2, I discuss Lexicographic Ordering and demonstrate one algorithm to iterate over all the permutations of an array. In Part 3, I apply this algorithm to a brute-force solution of the TSP problem. Every single route permutation is checked one by one. In Part 4, I attempt to create a solution to the TSP problem with a genetic algorithm, and then I add a “crossover” algorithm in Part 5. Code: https://thecodingtrain.com/challenges/35-traveling-salesperson
p5.js Web Editor Sketches:
🕹️ Part 1: Traveling Salesperson (TSP): https://editor.p5js.org/codingtrain/sketches/FCNAHaCqf
🕹️ Part 2: Lexicographic Order: https://editor.p5js.org/codingtrain/sketches/iYxi30gbl
🕹️ Part 3: TSP with Lexicographic Order: https://editor.p5js.org/codingtrain/sketches/bWPIkEv9s
🕹️ Part 4: TSP with Genetic Algorithm: https://editor.p5js.org/codingtrain/sketches/EGjTrkkf9
🕹️ Part 5: TSP with Genetic Algorithm and Crossover: https://editor.p5js.org/codingtrain/sketches/EGjTrkkf9
Other Parts of this Challenge:
📺 Part 2: Lexicographic Order: https://youtu.be/goUlyp4rwiU
📺 Part 3: TSP with Lexicographic Order: https://youtu.be/9Xy-LMAfglE
📺 Part 4: TSP with Genetic Algorithm: https://youtu.be/M3KTWnTrU_c
📺 Part 5: TSP with Genetic Algorithm and Crossover: https://youtu.be/hnxn6DtLYcY
🎥 Previous video: https://youtu.be/Cl_Gjj80gPE?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
🎥 Next video: https://youtu.be/rX5p-QRP6R4?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
🎥 All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
🌐 Traveling Salesman on Wikipedia: https://en.wikipedia.org/wiki/Travelling_salesman_problem
🗨️ Permutation Algorithm Using Lexicographic Ordering: https://www.quora.com/How-would-you-explain-an-algorithm-that-generates-permutations-using-lexicographic-ordering
📝 Array on MDN: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array
📝 Array.includes() on MDN: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
📝 Array.reverse() on MDN: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
📝 ES6 Sets on MDN: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Set
💾 The Nature of Code Part 2: https://github.com/shiffman/NOC-S17-2-Intelligence-Learning
📕 The Nature of Code: http://natureofcode.com/
Videos:
🎥 Improved Pool Selection: https://www.youtube.com/watch?v=ETphJASzYes&list=PLRqwX-V7Uu6YJ3XfHhT2Mm4Y5I99nrIKX&index=23
🎥 Genetic Algorithm Playlist: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6bJM3VgzjNV5YxVxUwzALHV
🔴 Live Stream Archive #57: https://youtu.be/r_SpBy9fQuo
Related Coding Challenges:
🚂 #29 Smart Rockets in p5.js: https://youtu.be/bGz7mv2vD6g
🚂 #51 A* Pathfinding Algorithm: https://youtu.be/aKYlikFAV4k
🚂 #69 Evolutionary Steering Behaviors: https://youtu.be/flxOkx0yLrY
🚂 #70 Nearest Neighbors Recommendation Engine: https://youtu.be/N8Fabn1om2k
Timestamps:
00:00 Welcome to this coding challenge!
00:50 What is the Traveling Salesperson problem?
04:50 Code! Placing random cities on the canvas
07:30 Go through the cities in order
08:13 Shuffling the array with swaps
11:35 Computing the distance and saving the shortest one
15:20 Oups! Fixing an array index error
17:00 How to make a copy of an array?
19:43 Storing a copy of the best cities path ever
20:24 Drawing the best cities path ever
21:00 The limits of this brute force algorithm
Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound
🚂 Website: http://thecodingtrain.com/
👾 Share Your Creation! https://thecodingtrain.com/guides/passenger-showcase-guide
🚩 Suggest Topics: https://github.com/CodingTrain/Suggestion-Box
💡 GitHub: https://github.com/CodingTrain
💬 Discord: https://discord.gg/hPuGy2g
💖 Membership: http://youtube.com/thecodingtrain/join
🛒 Store: https://standard.tv/codingtrain
🖋️ Twitter: https://twitter.com/thecodingtrain
📸 Instagram: https://www.instagram.com/the.coding.train/
🎥 Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
🎥 Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
🔗 p5.js: https://p5js.org
🔗 p5.js Web Editor: https://editor.p5js.org/
🔗 Processing: https://processing.org
📄 Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct
This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/thecodingtrain.com/issues/new
#travelingsalesperson #permutation #lexicographicordering #natureofcode #geneticalgorithm #evolution #bruteforce #factorial #arrays #p5js #travelingsalesman
Video Information
Views
292.6K
Total views since publication
Likes
4.5K
User likes and reactions
Duration
22:55
Video length
Published
Aug 24, 2016
Release date
Quality
hd
Video definition
About the Channel
Tags and Topics
This video is tagged with the following topics. Click any tag to explore more related content and discover similar videos:
#shiffman #p5js #p5.js tutorial #processing tutorial #creative coding #traveling salesman #traveling salesperson #permutation #lexical ordering #lexicographic ordering #nature of code #coding challenge #genetic #genetic algorithms #genetic algorithm #algorithm #evolution #challenge #patreon #brute force #factorial #swap #javascript swap #lexicographical ordering #coding #salesperson #traveling #p5.js #TSP #TSP algorithm #TSP brute force #traveling salesman problem
Tags help categorize content and make it easier to find related videos. Browse our collection to discover more content in these categories.