docs: def find_triangles(self):
          """
          Finds all the triangles present in the given model
  
          Examples
          --------
          >>> from pgmpy.models import MarkovModel
          >>> from pgmpy.factors.discrete import DiscreteFactor
          >>> from pgmpy.inference import Mplp
          >>> mm = MarkovModel()
          >>> mm.add_nodes_from(['x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7'])
          >>> mm.add_edges_from([('x1', 'x3'), ('x1', 'x4'), ('x2', 'x4'),
          ...                    ('x2', 'x5'), ('x3', 'x6'), ('x4', 'x6'),
          ...                    ('x4', 'x7'), ('x5', 'x7')])
          >>> phi = [DiscreteFactor(edge, [2, 2], np.random.rand(4)) for edge in mm.edges()]
          >>> mm.add_factors(*phi)
          >>> mplp = Mplp(mm)
          >>> mplp.find_triangles()
          """
          return list(filter(lambda x: len(x) == 3, nx.find_cliques(self.model)))