←back to thread

114 points pseudolus | 1 comments | | HN request time: 0s | source
Show context
jasonthorsness ◴[] No.44459044[source]
"Their new algorithm adapts to an adversary’s strategy, but on time scales that it picks randomly"

"Even though many real-world data settings are not adversarial, situations without an adversary can still sometimes involve sudden floods of data to targeted spots, she noted."

This is pretty neat. I bet this will find practical applications.

replies(2): >>44459183 #>>44459434 #
troelsSteegin ◴[] No.44459434[source]
Are "adversaries" broadly used in algorithm design? I've not seen that before. I'm used to edge cases and trying to break things, but an "adversary", especially white box, seems different.
replies(4): >>44459936 #>>44460066 #>>44460159 #>>44461092 #
1. mxplerin ◴[] No.44460159[source]
Yes. There is a whole sector of algorithm design called online algorithms dedicated to studying algorithms that must make decisions without complete information. A common analysis technique proves the "competitive ratio" of an algorithm by analyzing its worst case performance against an adversary. In fact, this article was the analysis of one particular online problem. For a simple introduction, you can check out "the ski rental problem." More complex applications include things like task scheduling and gradient descent.

Adjacent to this topic is algorithms for two-player games, like minimax, which depend on imagining an adversary that plays perfect counter moves.

In a similar vein, in ML, there is a model called generative adversarial networks (GANs) in which 2 networks (a generator and discriminator) play a minimax game against each other, improving the capability of both models at once.