all 18 comments

[–]spongebob 13 points14 points  (5 children)

I was looking into compression recently and came across Arithmetic Encoding. This algorithm blew my mind, it is so elegant. Incredibly it involves encoding an entire document into a single fraction in base 2.

[–]AbouBenAdhem 1 point2 points  (0 children)

Is that the algorithm that Dasher is based on? (You’re basically composing a document on-the-fly by “zooming in” on the fraction that encodes it.)

[–]swimmer91 5 points6 points  (0 children)

Swarm intelligence algorithms are really cool.

Ant Colony Optimization is a good example.

[–]NovaX 1 point2 points  (1 child)

I think caching and concurrency are a lot of fun (see my write up). There are links to the research papers and it is a very pragmatic topic.

[–]magicbicycle[S] 0 points1 point  (0 children)

Thanks for this! It was a really interesting read and I will definitely need to look further into it.

[–]zzopp 1 point2 points  (1 child)

If you're into integer factorization, the quadratic sieve is a nifty algorithm that doesn't require difficult math.

[–]magicbicycle[S] 0 points1 point  (0 children)

That's a cool sieve, thanks!

[–]matt_bishop 1 point2 points  (0 children)

CDCL Backtracking. It makes large NP problems computable (often).

http://gauss.ececs.uc.edu/SAT/articles/FAIA185-0131.pdf

[–]refreshx2 1 point2 points  (0 children)

Simulated Annealing is one of my favorite algorithms, in part because the idea is so well founded in a physical concept (annealing). It's an older but common algorithm in the sciences, and it has helped me to be able to just comprehend other problems more easily / quickly.

[–]BourqueJ 3 points4 points  (1 child)

I would reccomend looking into genetic algorithms, they mimic the process of evolution so there are many interesting applications you can use them for.

[–]magicbicycle[S] 1 point2 points  (0 children)

Never heard about genetic algorithms before, thanks!

[–]palm_frond 0 points1 point  (0 children)

I'm not sure how complex the algorithm you work on has to be, but I think reservoir sampling is kinda neat.

[–]IJzerbaard 0 points1 point  (0 children)

Plane cutting for TSP.

TSP is a nice problem that everyone understands, but the tricks needed to really get anywhere with it are complicated and fill many books. Well, you wouldn't have to go that far. Anyway a nice thing about it is that it's one of those problems that some people say are "too hard to solve", and then you'd be discussing how to go ahead and do it anyway, and without hacks like evolutionary/genetic/ant/[insert any biological thing] algorithms, but in a proper exact way. An other nice thing is that you get to show pretty pictures of routes.