TG Telegram Group & Channel
Web Development Code | United States America (US)
Create: Update:

ازاى google maps بيحسبلك اقصر طريق للمكان اللى انتا عايز تروحه ؟!!
ويعنى ايه Breadth First Search وايه علاقته ب google maps ؟!!


خلينا كالعادة نضرب مثال نفهم منه ازاى بتحسب اقصر طريق للمكان اللى انتا عايز تروحه

-- نفترض مثلا انك واقف فى ( ميدان التحرير ) وعايز تروح ( ميدان رمسيس )

-- فانتا اول حاجه هتعملها انك هتشوف هل فيه طرق بتوصل ل ( ميدان رمسيس ) من ( ميدان التحرير ) ولا لأ

-- فهتبص قدامك وهتلاقى قدامك ( طريقين مثلا ) واصلين بين ( ميدان التحرير ) و ( ميدان رمسيس )

-- فخلاص كدا تمام انتا عندك طريقين ممكن يوصلوك للوجهة بتاعتك اللى هيا ( ميدان رمسيس )

-- و انتا دلوقتى عايز تشوف اقصر طريق من الطريقين دول علشان تمشى فيه وتوصل بسرعة لميدان رمسيس

-- وانتا عارف ان كل طريق من الطريقين دول متقسم لمجموعة اجزاء وكل جزء من الاجزاء دى متساوى وبيساوى مثلا 100 متر


-- فانتا علشان تعرف اقصر طريق فيهم فهتعمل التالى :

- هتشوف عدد الاجزاء اللى بيتكون منها كل طريق
- ونفترض مثلا ان اول طريق بيتكون من 4 اجزاء يعنى كدا هيكون طوله 400 متر
- والطريق الثانى مثلا بيتكون من 6 اجزاء مثلا فكدا هيكون طوله 600 متر مثلا

-- فانتا كدا هتستنتج ان الطريق الاول هو اقصر طريق هيوديك للوجهة بتاعتك اللى هيا ( ميدان رمسيس )



خلينا بقا نروح لل breadth first search ونعرف هو بيشتغل ازاى

-- ال breadth first search هو search بيشتغل على ال Graph
-- وهو بيكون مسؤؤل انه يحدد اقصر ( مسار ) بين Two Vertices
-- بس هو بيحدد اقصر مسار بين ال Two Vertices عن طريق انه بيحدد اقصر مسار فيه اقل عدد من ال Vertices اللى هيحتاج يمر عليها فى طريقه بين ال Two Vertices اللى احنا شغالين عليهم

-- وال Two Vertices اللى احنا بنشتغل عليهم مش لازم يكونوا مثلا اماكن وانما بيكون نوعهم على حسب احنا هنستخدم ال Graph بتاعتنا فى تخزين ايه


-- وهو بيشتغل زى المثال بتاعنا اللى اتكلمنا عليه فوق وبيعمل التالى :

- هو بيشوف هل فيه طرق متاحة ( Edges ) بين ال Two Vertices اللى احنا هنشتغل عليهم ولا لأ
- لو موجود طرق متاحة ( Edges ) بين ال Two Vertices اللى احنا هنشتغل عليهم فهو بيروح يحدد عددهم
- وبعد كدا بيروح يشوف ايه اقصر طريق فيهم عن طريق انه يحدد ايه اقصر فيهم من حيث عدد ال Vertices اللى هيحتاج يمر عليها فى طريقه بين ال Two Vertices اللى احنا شغالين عليهم



و فعليا google maps مش بيشتغل بال breadth first search علشان الطرق مش بتكون نفس الطول فبيشتغل ب Algorithm تانى اسمه dijkstras algorithm وهو شبه ال breadth first search بس طريقته مختلفة شوية


طب ازاى ننشئ ال Algorithm ده فعليا ؟!!

- هسيبلك لينك فيديو كويس اوى بيفهمك ازاى بننشئ ال Algorithm
https://youtu.be/pNWCCHFw7og
ولو حبيت تقرا شوية فى ال Algorithm وتفهمه بشكل اعمق فهسيبلكم لينك مقالة على موقع كويس بيشرح الموضوع بتعمق شوية
https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/

ازاى google maps بيحسبلك اقصر طريق للمكان اللى انتا عايز تروحه ؟!!
ويعنى ايه Breadth First Search وايه علاقته ب google maps ؟!!


خلينا كالعادة نضرب مثال نفهم منه ازاى بتحسب اقصر طريق للمكان اللى انتا عايز تروحه

-- نفترض مثلا انك واقف فى ( ميدان التحرير ) وعايز تروح ( ميدان رمسيس )

-- فانتا اول حاجه هتعملها انك هتشوف هل فيه طرق بتوصل ل ( ميدان رمسيس ) من ( ميدان التحرير ) ولا لأ

-- فهتبص قدامك وهتلاقى قدامك ( طريقين مثلا ) واصلين بين ( ميدان التحرير ) و ( ميدان رمسيس )

-- فخلاص كدا تمام انتا عندك طريقين ممكن يوصلوك للوجهة بتاعتك اللى هيا ( ميدان رمسيس )

-- و انتا دلوقتى عايز تشوف اقصر طريق من الطريقين دول علشان تمشى فيه وتوصل بسرعة لميدان رمسيس

-- وانتا عارف ان كل طريق من الطريقين دول متقسم لمجموعة اجزاء وكل جزء من الاجزاء دى متساوى وبيساوى مثلا 100 متر


-- فانتا علشان تعرف اقصر طريق فيهم فهتعمل التالى :

- هتشوف عدد الاجزاء اللى بيتكون منها كل طريق
- ونفترض مثلا ان اول طريق بيتكون من 4 اجزاء يعنى كدا هيكون طوله 400 متر
- والطريق الثانى مثلا بيتكون من 6 اجزاء مثلا فكدا هيكون طوله 600 متر مثلا

-- فانتا كدا هتستنتج ان الطريق الاول هو اقصر طريق هيوديك للوجهة بتاعتك اللى هيا ( ميدان رمسيس )



خلينا بقا نروح لل breadth first search ونعرف هو بيشتغل ازاى

-- ال breadth first search هو search بيشتغل على ال Graph
-- وهو بيكون مسؤؤل انه يحدد اقصر ( مسار ) بين Two Vertices
-- بس هو بيحدد اقصر مسار بين ال Two Vertices عن طريق انه بيحدد اقصر مسار فيه اقل عدد من ال Vertices اللى هيحتاج يمر عليها فى طريقه بين ال Two Vertices اللى احنا شغالين عليهم

-- وال Two Vertices اللى احنا بنشتغل عليهم مش لازم يكونوا مثلا اماكن وانما بيكون نوعهم على حسب احنا هنستخدم ال Graph بتاعتنا فى تخزين ايه


-- وهو بيشتغل زى المثال بتاعنا اللى اتكلمنا عليه فوق وبيعمل التالى :

- هو بيشوف هل فيه طرق متاحة ( Edges ) بين ال Two Vertices اللى احنا هنشتغل عليهم ولا لأ
- لو موجود طرق متاحة ( Edges ) بين ال Two Vertices اللى احنا هنشتغل عليهم فهو بيروح يحدد عددهم
- وبعد كدا بيروح يشوف ايه اقصر طريق فيهم عن طريق انه يحدد ايه اقصر فيهم من حيث عدد ال Vertices اللى هيحتاج يمر عليها فى طريقه بين ال Two Vertices اللى احنا شغالين عليهم



و فعليا google maps مش بيشتغل بال breadth first search علشان الطرق مش بتكون نفس الطول فبيشتغل ب Algorithm تانى اسمه dijkstras algorithm وهو شبه ال breadth first search بس طريقته مختلفة شوية


طب ازاى ننشئ ال Algorithm ده فعليا ؟!!

- هسيبلك لينك فيديو كويس اوى بيفهمك ازاى بننشئ ال Algorithm
https://youtu.be/pNWCCHFw7og
ولو حبيت تقرا شوية فى ال Algorithm وتفهمه بشكل اعمق فهسيبلكم لينك مقالة على موقع كويس بيشرح الموضوع بتعمق شوية
https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/
2


>>Click here to continue<<

Web Development Code






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)