Atomic distributions in crystal structures solved by Boolean satisfiability techniques
The atomic distribution in crystal structures becomes very complex if atoms are disordered and randomly distributed over positions not being fully occupied. Interatomic distances between neighboring atoms might be too close for simultaneous occupancies and thus are mutually exclusive. The distribution of atoms over crystallographic positions avoiding close contacts with neighboring atoms represents an NP-complete problem that is believed to have no efficient solution. Here, we use Boolean satisfiability (SAT) techniques to find a valid atomic distribution pattern in the crystal structure. Distance constraints are encoded as conjunctions of logical disjunctions over Boolean variables and handed to a SAT solver. If a solution exists, the solver supplies a satisfying assignment to the Boolean variables yielding a valid distribution after decoding. That way the hitherto unsolved problem of distributing k atoms over n positions has an elegant solution related to one of the most central problems in computer science.