The category is chosen at random, but only if it is possible in the current SMIRKS pattern. For example, an atom can only be removed if it is untagged (does not have a :n in the SMIRKS) and is only connected to one other atom. Therefore, if a tagged atom, an atom with two neighbors, or a bond was chosen, this category would not be available in the random decision. Similarly, if the component has no or'd together decorators this option would not be available. If option a) is chosen the atom and corresponding bond are removed. Currently in ChemPer bonds can only have one and'd decorator either in a ring (@) or not in a ring (!@). Thus, for bonds option b) means removing whichever option is there. In a bond the or'd decorators correspond to bond orders. Removing a single bond order would lead to that bond not matching all bonds in its cluster, so for a bond in option c) all or'd decorators are removed.