मान लें कि कोई स्व-किनारे नहीं हैं G।
नोड के बीच प्रत्येक किनारे के लिए vi तथा vj में G, चलो E[i,j]=1, तथा E[i,j]=0अगर कोई किनारा नहीं है। गणना करनाn×n आव्यूह C[i,j]=∑nk=1E[i,k]⋅E[k,j], जो प्रत्येक जोड़ी नोड्स के बीच दो-हॉप पथों की संख्या देता है vi तथा vj। फिर बीच में बढ़त के लिएvi तथा vj में G गणना करना D[i,j]=E[i,j]⋅C[i,j] अन्यथा सेट करें D[i,j]=∞, जो त्रिभुज की संख्या देता है किनारे का हिस्सा है (या यदि कोई किनारा नहीं है तो अनंत)। गणना करने के लिए आवश्यक मैट्रिक्स गुणनC लागत O(n3) (की गणना के आधार पर तेजी से गणना की जा सकती है G)।
अब गणना करें n×n आव्यूह A, ऐसा है कि A[i,j]=min(D[i,j],mink(D[i,k]+D[k,j]−E[i,j]))। , सभी त्रिकोणों के दो किनारों के साथ जाने वाले रास्तों के लिए दो लंबाई तक की सबसे छोटी पथ है ।AD
अब बस बीच कम से कम पथ की गणना और में एक नया ग्राफ पर जिनमें से डिज्कस्ट्रा (के बाद से सभी किनारे वजन सकारात्मक रहे हैं) यानी का उपयोग कर (भारित) निकटता मैट्रिक्स है और यह निर्धारित करता है, तो , जहां उष्णकटिबंधीय सेमिनार (जो दूरी मैट्रिक्स देता है) पर बंद है।vivjGAA∗[i,j]≤kA∗