حالا کافیه که داخل شبه کد ucs علاوه بر در نظر گرفتن مسیر تا راس مورد برای مرتب کردن priority queue که برای frontier استفاده شده از یک تابع هم استفاده کنید که طول تخمینی از اون راس تا راس هدف رو بهمون میده و این مقدار رو با path cost جمع بزنید .
اگر این تخمینی که زده میشه "همیشه " مقدارش از مقدار واقعی کمتر باشه الگوریتم optimal هست .
و هر چه هم این تخمین نزدیکتر باشه به مقدار واقعی برای search space های بزرگ سریع تر به جواب میرسیم .
این که این تابع چطوری باید باشه هم کاملا بستگی به محیط جست و جو داره مثلا فرض کنید که داخل یک نقشه می خواهید از *A استفاده کنید می تونید از طول مسیر مستقیم بین 2 شهر استفاده کنید و چون مسیر مستقیم همیشه یا برابر با مقدار واقعی هست یا کمتر هست optimal هم میشه .