  The realization that selfish interests need to be accounted for in the design
of algorithms has produced many contributions in computer science under the
umbrella of algorithmic mechanism design. Novel algorithmic properties and
paradigms have been identified and studied. Our work stems from the observation
that selfishness is different from rationality; agents will attempt to
strategize whenever they perceive it to be convenient according to their
imperfect rationality. Recent work has focused on a particular notion of
imperfect rationality, namely absence of contingent reasoning skills, and
defined obvious strategyproofness (OSP) as a way to deal with the selfishness
of these agents. Essentially, this definition states that to care for the
incentives of these agents, we need not only pay attention about the
relationship between input and output, but also about the way the algorithm is
run. However, it is not clear what algorithmic approaches must be used for OSP.
In this paper, we show that, for binary allocation problems, OSP is fully
captured by a combination of two well-known algorithmic techniques: forward and
reverse greedy. We call two-way greedy this algorithmic design paradigm. Our
main technical contribution establishes the connection between OSP and two-way
greedy. We build upon the recently introduced cycle monotonicity technique for
OSP. By means of novel structural properties of cycles and queries of OSP
mechanisms, we fully characterize these mechanisms in terms of extremal
implementations. These are protocols that ask each agent to consistently
separate one extreme of their domain at the current history from the rest.
Through the connection with the greedy paradigm, we are able to import a host
of approximation bounds to OSP and strengthen the strategic properties of this
family of algorithms. Finally, we begin exploring the power of two-way greedy
for set systems.
