My GSOC Journey #3: The Great Rework

The problem

The solution

  • It directly leads to multiple profiles, since the user can choose which struct to pass into the pathfinding functions.
  • It is scalable to other types of pathfinding algorithms and other spaces without polluting any of the core code, since all that is required is defining new methods and/or structs

Pretty pictures

Rabbits are brown circles, Foxes are yellow squares, and Hawks are blue triangles
The agents follow the same colour scheme. It’s a bit fast, but much prettier, don’t you think?

Devil’s Advocate

Continuous complexities

best = to .- from
for offset in Iterators.product([-1:1 for _ in 1:D]...)
dir = to .+ offset .* size(space) .- from
if sum(dir .^ 2) < sum(best .^ 2)
best = dir
end
end

Prettier pictures

All animals are spheres now, which is anecdotally appropriate

In conclusion

Stay tuned!

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Stop building REST APIs for your Next.js apps, use tRPC instead

anotherApp? react : vanilla javascript

Building Appointment Scheduler App in React and NodeJS

Famous Angular forRoot pattern

How to Access the State in setTimeout Inside a React Function Component

Qutilz —for a quicker unit testing development 🚀

WHMCS Based Login for WordPress

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Aayush Sabharwal

Aayush Sabharwal

More from Medium

Implementation of Learned Metric Index

Common Mistakes we make while learning Machine Learning

The Failure Of Artificial Intelligence

What is TensorFlow, and what should you know about it?

Artificial Intelligence, Machine Learning, Data, Data Science, Analytics, Big Data, Consulting, Small Business, algorithms, predictive analytics, deep learning, neural networks, natural language processing, data mining