الگوریتم های مسیر یابی در شبکه, الگوريتم Dijkstra:
روتر گرافي از شبكه را ايجاد نموده و گره هاي منبع و مقصد (براي مثال V1 و ( V2 را شناسايي ميكند. سپس يك ماتريس به نام ماتريس adjacency را ميسازد.در اين ماتريس يك مختصه مبين Weight میباشد.براي مثال [i,j] ،وزن يك پيوند بين Vi وVjميباشد. در صورتي که هيچ پيوند مستقيمي بين Vi و Vj وجود نداشته باشد اين وزن (ویت) بصورت infinity در نظر گرفته ميشود. روتر يك مجموعه رکورد وضعيت را براي هر گره روي شبكه ايجاد مينمايد اين رکورد داراي سه فيلد ميباشد:
فيلد :Predecessorاولين فيلدي که گره قبلي را نشان ميدهد.
فيلد :Lengthفيلد دوم که جمع وزنهاي از منبع تا آن گره را نشان ميدهد.
فيلد :Labelآخرين فيلد که وضعيت گره را نشان ميدهد. هر گره ميتواند داراي يك مود وضعيت باشد.
روتر،پارامترهاي مجموعه رکورد وضعيت براي همه گره ها را آماده سازي اوليه نموده و طول آنها را در حالت infinity و Label آن را در وضعيت tentative قرار ميدهد. روتر،يك گره Tرا ايجاد ميكند. براي مثال اگرv1 ميبايست گره Tمنبع باشد،روتربرچسب v1 را در وضعيت permanent قرار ميدهد.هنگاميکه يك Label به حالت permanent تغيير ميكند ديگر هرگز تغيير نخواهد کرد. يك گرهT در واقع يك agent ميباشد. روتر،مجموع رکورد وضعيت مربوط به همه گره هاي Tentative را که مستقيما به گره T منبع متصل هستند،روز آمد مينمايد. روتر همه گره هاي Tentative را بررسي نموده و گرهاي را که وزن آن تا v1 کمترين مقدار را دارد انتخاب ميكند.سپس اين گره،گره T مقصد خواهد بود. اگر اين گره،V2 نباشد (گره مقصد) روتر به مرحله 5 باز ميگردد.اگر اين گره V2 باشد،روتر گره قبلي آن را از مجموع رکورد وضعيت استخراج نموده و اين کار را انجام ميدهد تا به V1 برسد،اين فرست از گره ها،بهترين مسير ازV1تاV2 را نشان ميدهد.
این وبلاگ توسط دانشجویان گروه کامپیوتر (نرم افزار) دانشگاه پیام گلپایگان تشکیل شده است.