This is beside the point, but the only way an engine can possibly search to depth 20 is by being extremely selective, using heuristics to guess move quality (such as static exchange analysis, the killer move heuristic, history tables, countermove tables, follow-up tables, late move reductions, &c). The discovery was that it's often better to guess move quality dynamically, based on the observed utility of similar moves in similar contexts, rather than statically. But this is not especially "simple", and it still (necessarily!) involves judging up front a few moves as likely-good and the vast majority of moves as unworthy of further examination.
Both type A engines (to use Shannon's terminology) and type B engines are relatively weak. The strong engines are all hybrids.
Both type A engines (to use Shannon's terminology) and type B engines are relatively weak. The strong engines are all hybrids.