

Using AI for Map Marker Labeling - madhkrish
http://tech.adstruc.com/post/54481728760/using-ai-for-map-marker-labeling

======
gjm11
The term "artificial intelligence" should not be used when what's meant is
"optimization of a not terribly complicated function in a not terribly large
number of dimensions".

[EDIT: I see someone disagrees with this, or with the fact that I said it out
loud, or something, strongly enough to downvote it. I would be interested to
know why, though I don't guarantee to be persuaded.]

~~~
madhkrish
Thanks for your comment. I don't see how the difficulty of a problem alters
the class of the algorithm that is applied towards finding a solution; the
algorithms that we used here are mentioned in almost every classic textbook on
AI (Russel, Norvig etc.). If you're alluding towards the difference b/w weak
and strong AI, then that's another discussion (btw, I didn't down-vote your
comment).

~~~
gjm11
(Sorry for the slow reply.)

Yes, these optimization algorithms are used in AI. But that doesn't make
_them_ AI. Loops are used in AI; strings are used in AI; but a loop isn't an
"AI algorithm" and a string isn't an "AI data structure", and writing a
program that uses strings and loops wouldn't be "using AI to [do whatever]".

Simulated annealing is a less trivial thing than loops and strings. But it
still isn't specifically an AI technique. Simple hill-climbing optimization,
even less so. I'm pretty sure that a hefty majority of the uses of these
things is unambiguously not AI unless AI is defined super-broadly (e.g., as
"doing something tricky with a computer").

(No, I wasn't alluding to the distinction between "weak" and "strong" AI. I'm
perfectly happy to call things AI that don't come close to actually
implementing human-like intelligence!)

------
munificent
It seems to me like a spring-mass system would be another good thing to try
here. That would give you similar behavior to hill climbing, but would also be
better at avoiding local minima since I can push neighboring labels away.

~~~
mark_l_watson
I thought the article was well written and interesting but I had the same
reaction you did: the first thing I would have tried would have been a force-
graph.

~~~
madhkrish
Thanks for your comments. Plugging in a Physics engine to do just that did
cross my mind but I ended up using more traditional optimization algorithms
b/c they're incredibly easy to implement. Plus, I had worked with them before.

