PathFinding.js
or-tools
PathFinding.js | or-tools | |
---|---|---|
14 | 57 | |
8,301 | 10,446 | |
- | 0.9% | |
0.0 | 9.9 | |
10 months ago | 5 days ago | |
JavaScript | C++ | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PathFinding.js
-
A* Tricks for Videogame Path Finding
JPS is fun; though I struggled to interpret the suggested performance gains by the authors indeed due to the calculation of the jump nodes.
Many years ago I added a visualisation to the JPS implementation of PathFinding.js to visualise this recursive search to find jump nodes - here's an online demo: https://qiao.github.io/PathFinding.js/visual/
-
Why do pawns walk crooked like this?
Would be very, very weird. This just seems like the heuristics bugging out. I just replicated the terrain from this screenshot on: https://qiao.github.io/PathFinding.js/visual/
-
Show HN: GPT-4-powered web searches for developers on Phind.com
"A* Pathfinding Visualization" demo on GitHub by Qiao Zhang: https://qiao.github.io/PathFinding.js/visual/
-
bif fort 100 fps 200 dwarfs 4x4 embark.
Central staircase is a bad idea for pathfinding. See e.g. here, try it in 2D here. If you want fps for 200 dwarfs keep things on one z-level with rooms along a single corridor. I personally don't like all these low z-level forts so use multiple staircases at the edges of a cube.
- Graph pathfinding video
-
Is A* pathfinding hard for beginners to code?
Here it is visualised https://qiao.github.io/PathFinding.js/visual/
-
Can you find the optimal route for the trolly?
Jokes aside, I started this year and solved a couple of problems like this. I really liked the challenged, discovered and read about something called graphs in mathematics and Hamiltonian paths. There is a simple part and an algorithm part. The simple part is "listing" all the dots there. Imagine a table of elements, every dot has its sub- table with its name and connections (where you have a list of all the other Dots you could directly go from this one). Then comes the algorithm, which can be as elaborate as you want. Usually, if you don't mind performance time, it becomes simple since you only need to tell the program "start here, end here, go through all possible paths and give me the shortest one" Then, if you need to have a better performance, you adapt one of the many know algorithms for pathfinding, like the dikjistra one. For those, when adapted into your code, you "just" give them your table of dots with their connections and they will return you the "shortest" path, or the first they found, depending on the algorithm. The challenge I found most useful to understand this was from codewars. https://www.codewars.com/kata/5a667236145c462103000091 And here you can se a demonstration of those algorithms (just imagine that every square, in this case, would be one of those dots and instead of 4 connections they have the ones showed here) https://qiao.github.io/PathFinding.js/visual/
- [Media] Wrote a neat little maze solver. Largest solved so far is 125k x 125k. Here's a smaller 512x512:
-
Beginner C++ Projects Recommendation?
make this (but as a desktop application, not a web app - you can make it a lot simpler and just implement A Star) https://qiao.github.io/PathFinding.js/visual/
-
Is it normal if A* does this?
Here's a picture comparing the search areas using this tool that another commenter linked.
or-tools
-
or-tools VS timefold-solver - a user suggested alternative
2 projects | 4 Jan 2024
-
A* Tricks for Videogame Path Finding
Small NP-hard problems aren't actually that bad. You can usually formulate them as eg a integer programming problem or a SMT problem, and throw an off-the-shelf solver at them.
You only need to learn the solver once, and you can re-use it for all kinds of problems. (Assuming that your instances don't have to be solved with low latency. Eg only as part of your level generation process, or at most when loading a randomly generated level, but not every frame or so.)
https://developers.google.com/optimization has a decent collection of tools.
-
Ask HN: Comment here about whatever you're passionate about at the moment
Just saw that it looks like an upcoming release of OR-Tools might include reified tables: https://github.com/google/or-tools/commit/94f3d9b46870e7ea04...
-
[P] Advice needed for what tool/algorithm is appropriate
Google OR - Tried to represent a solution to be a 5 dimensional matrix with an hour granularity. Dimensions are stations, program, project manager, day and time. If matrix[station][program][project manager][day][time] = 1, then that set is assigned, otherwise not. The main issue encountered here is about time slots, as they are not necessarily on a per hour basis. We tried time slots to be in a 5-minute interval. However, constructing the constraints that would adhere to each programs duration was proven to be difficult.
- What software is used in the field these days?
-
Sudoku solver
If you are just interested in getting a solution or for having a reference solver: There is a sudoku example in the OR-Tools package that uses constraint programming.
- Matrix / 2d Array Puzzle-Like Problem
-
Linear Programming
Not sql, but check out google’s OR-Tools. Hardly ever gets mentioned but looks very capable for some applications. https://developers.google.com/optimization
-
Would anyone know how to auto schedule tasks based on certain constraints?
Then there's also the Google's solution: https://developers.google.com/optimization/
-
Assignment to at most K groups from distance matrix?
start enumerating the properties you think the solution to your problem should have. once you have this, you should be able to reformulate those properties as constraints and then you can just plug this into a combinatorial solver such as https://developers.google.com/optimization
What are some alternatives?
pysc2 - StarCraft II Learning Environment
OptaPlanner - Java Constraint Solver to solve vehicle routing, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.
build-your-own-x - Master programming by recreating your favorite technologies from scratch.
optapy - OptaPy is an AI constraint solver for Python to optimize planning and scheduling problems.
awesome-advent-of-code - A collection of awesome resources related to the yearly Advent of Code challenge.
pyomo - An object-oriented algebraic modeling language in Python for structured optimization problems.
gerev - 🧠 AI-powered enterprise search engine 🔎
SciPy - SciPy library main repository
optaplanner-quickstarts - Mirror of https://github.com/apache/incubator-kie-optaplanner-quickstarts
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
Decider - An Open Source .Net Constraint Programming Solver
HiGHS - Linear optimization software