PageRank در مدلِ آموزشیِ این صفحه، یک رتبهٔ گرافی از رابطهٔ پیوندها میسازد. مسئلهٔ مهم فقط حلِ یک توزیعِ پایا نیست؛ باید از خودِ گراف، ماتریسِ درست بسازیم، گرهِ بدون خروجی را تعیین تکلیف کنیم و سهمِ پرشِ مستقل یا teleport را صریح بگذاریم. این محاسبه فرمولِ رتبهبندیِ امروزِ گوگل یا راهِ تضمین افزایشِ کلیک نیست.
از سه گره به سطرهای احتمال
گرافِ ساختگی A→B، A→C و B→C دارد؛ C هیچ یالِ خروجی ندارد و dangling است. ترتیبِ گرهها A، B، C و قراردادِ بردار سطری است. در A، سهمِ پیوند میان دو خروجی نصف میشود و در B تمامِ سهم به C میرود. برای C، توزیعِ جایگزین را فعلاً یکنواختِ یکسوم برای هر مقصد میگذاریم.
P = [[0, 1/2, 1/2],
[0, 0, 1 ],
[1/3, 1/3, 1/3]]سطرِ C را صفر رها نمیکنیم؛ هر سطر باید مجموع۱ داشته باشد. این جایگزینی یک قراردادِ مدل است و در فایل کنار توزیعِ personalization ثبت میشود. خودِ گراف یالِ واقعیِ تازه از C پیدا نکرده است.
Teleport را روی همان قرارداد اضافه کنیم
برای تمرین α=۱÷۲ و بردارِ پرش v=(۱÷۳،۱÷۳،۱÷۳) است. ماتریسِ نهایی از M[i,j]=α×P[i,j]+(۱−α)×v[j] ساخته میشود. در هر گام، نصفِ سهم مطابقِ P و نصف مطابقِ v توزیع میشود؛ این α انتخابِ آموزشی است، نه تنظیمِ استخراجشده از گوگل.
| سطر M | ستونA | ستونB | ستونC |
|---|---|---|---|
| A | ۱÷۶ | ۵÷۱۲ | ۵÷۱۲ |
| B | ۱÷۶ | ۱÷۶ | ۲÷۳ |
| C | ۱÷۳ | ۱÷۳ | ۱÷۳ |
بردارِ سطریِ p با pM یک گام جلو میرود. فایل از یکنواخت شروع میکند و در هر گام مجموعِ جرم را دقیقاً۱ میسنجد؛ تفریقِ pM−p و مجموعِ قدرمطلق آن، residualِ نقطهٔ ثابت را میدهد. در اجرای این مثال، پس از۱۴گام این باقیمانده از ۱۰ به توانِ منفیِ۱۰ (یک دهمیلیاردم) کمتر شده است؛ آستانهٔ کد و residual دقیق در JSON ثبتاند، نه زمانِ پاسخ یا benchmarkِ سرویس.
حلِ خطیِ مستقل چه جوابی میدهد؟
تابعِ دیگر، معادلاتِ πM=π را همراه مجموعِ مؤلفهها=۱ با حذفِ گاوسیِ Fraction حل میکند؛ از آخرین بردارِ تکرار بهعنوان جوابِ دقیق استفاده نمیکند. جواب A=۸÷۳۳، B=۱۰÷۳۳ و C=۱۵÷۳۳ است. دوباره ضربِ دقیق، πM=π را کنترل میکند و نتیجهٔ تکراری هم با این حلِ مستقل مقایسه میشود. در این مدل C بیشترین سهم را دارد؛ صرف شمارشِ لینکها قانونِ عمومیِ همهٔ گرافها نیست.
اگر سطرِ بدون خروجی را فراموش کنیم چه میشود؟
اجرای نادرستِ جدا، سطرِ C در P را صفر میگذارد ولی فرمولِ teleport را همانطور اعمال میکند. مجموعِ سطرِ C در M فقط۱÷۲ میشود؛ از آغازِ یکنواخت، جمعِ جرمِ پس از یک گام۵÷۶ است. بخشی از احتمال گم شده است. تقسیمِ دلخواهِ عددها در آخر، جایِ تعریفِ روشنِ مدلِ انتقال را نمیگیرد؛ فایل خطا را با سطر و جرم نشان میدهد.
توزیعِ پرش، نتیجه را تغییر میدهد
در آزمایشِ مستقلِ دوم، v=(۴÷۵،۱÷۱۰،۱÷۱۰) و جایگزینیِ dangling نیز همان v است؛ گراف و α ثابتاند. حلِ دقیق A=۱۶÷۳۱، B=۶÷۳۱ و C=۹÷۳۱ میشود و این بار A بیشترین سهم را دارد. این تغییر از قراردادِ پرش آمده، نه تغییرِ پیوندها یا افزایشِ اعتبارِ یک سایت واقعی. هر دو بردارِ این تمرین مثبتاند و α کمتر از۱ است، پس ماتریسِ نهایی خانههای مثبت دارد؛ بردارِ نامعتبر یا α=۱ در قراردادِ این فایل واقعاً رد میشود.
کاربردِ آموزشی را از توصیهٔ سئو جدا نگه داریم
راهنمای زنجیرهٔ مارکوف پایایی و همگرایی را با ماتریسِ دادهشده بررسی میکند؛ سهمِ تازهٔ این صفحه ساختِ ماتریس از گراف، dangling و teleport بود. گراف دانش هم رابطه و شناسه را ثبت میکند و این رتبه را بهتنهایی نمیسازد.
راهنمای رسمیِ گوگل میگوید PageRank در طول زمان تغییر کرده و یکی از سامانههای رتبهبندی است. بنابراین از این سه گره، امتیازِ واقعیِ دامنه یا دستورِ خرید و تبادلِ لینک درنمیآید. برای نیازِ پاسخگویی و پیگیری، از راهکارهای اپرا شروع کنید؛ این مثال قابلیت داخلیِ محصول، رتبهٔ گوگل یا نتیجهٔ فروش را اعلام نمیکند.
فایل تمرین و منبع
کد کامل Python؛ محاسبه و کنترلهای مستقل · ورودیِ ساختهشده، مراحل و خروجیِ اجرای واقعی
- NetworkX؛ تعریف PageRank و ورودیِ personalization و dangling؛ کتابخانه اجرا نشده
- NetworkX؛ ساخت ماتریسِ انتقال و شرطِ یکتایی؛ قراردادِ بردارِ این تمرین صریح است
- Google Search Central، فقط بخش Link analysis systems and PageRank؛ متنِ راهنما میگوید سازوکار تغییر کرده و جزئی از سامانههای رتبهبندی است
منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.