The problem of devising an algorithm that will decide whether a collection of generals, who communicate using messages some of which may be lost due to deficient transmission, agree to carry out an attack on a target. This is a reformulation in familiar terms of a problem that occurs in the design and development of distributed computer systems.