العدد المحتمل من المجموعات لمسارات سفر العودة

StackOverflow https://stackoverflow.com/questions/872471

  •  22-08-2019
  •  | 
  •  

سؤال

رياضياتي سيئة، سيئة للغاية.سيئة للغاية أنا أجد صعوبة حتى في صياغة هذا السؤال، ولكن هنا يذهب.

الوضع هو السفر بالقطار ولديك أربع مصفوفات للعمل بها.

Learn_stations Arriving_Stations

Leaving_Dates Returning_Dates

لنفترض أنك مهتم فقط بمسارات ذات اتجاه واحد وتحتاج إلى معرفة عدد مجموعات المسارات الموجودة.سيكون ذلك (على ما أعتقد)

possible_routes = (leaving_stations x arriving_stations) x leaving_dates

ولكن كيف يمكنني معرفة عدد المجموعات الموجودة إذا كنت أرغب في رحلة العودة؟

تحديث::

أو أن هذا العمل؟

ممكن_الطرق = ((محطات المغادرة × محطات الوصول) × تواريخ المغادرة) × (تواريخ_المغادرة × تواريخ_العودة)

هل كانت مفيدة؟

المحلول

حسنًا، الإجابة هي أن الأمر ليس واضحًا تمامًا من أسماء المصفوفات الخاصة بك.

لنفترض أن لدينا المصفوفات الأربعة:

  • مواعيد المغادرة
  • مواعيد العودة
  • محطات المغادرة
  • محطات الوصول

ثم يمكننا أن نفعل قليلا من الشرح هنا.دعونا نستخدم الترميز |x| لتمثيل العلاقة الأساسية (عدد العناصر) للصفيف [x] ، بحيث |مواعيد المغادرة | هو إجمالي عدد التواريخ التي يمكنك تركها.

ثم |مواعيد المغادرة | * |مغادرة المحطات | * |محطات الوصول | سيترجم إلى ، اختر تاريخا للمغادرة ، ثم اختر محطة للمغادرة منها ، ثم اختر محطة للوصول إليها ، وقم بذلك بكل الطرق الممكنة.لذا يبدو أن هذا هو ما تطلبه بالنسبة للرحلات ذات الاتجاه الواحد.

الآن، من الناحية العملية، سأفترض أن هذه مشكلة عالمية حقيقية، لذلك لنفترض أننا اخترنا المغادرة من ساوثهامبتون إلى يوركشاير في 20 يونيو، في رحلة العودة، كل ما يُسمح لنا باختياره في هذه المرحلة هو تاريخ العودة (بمعنى أنني أفترض أنك تريد العودة إلى المنزل).

لذا فإن العدد الإجمالي للطرق التي يمكننا من خلالها التخطيط لرحلة ذهابا وإيابا سيكون أولا التخطيط لرحلة باتجاه واحد على النحو الوارد أعلاه ، ثم اختيار تاريخ العودة ، والذي سيكون |مواعيد المغادرة | * |مغادرة المحطات | * |محطات الوصول | * |تاريخ العودة |.تختار الفصول الثلاثة الأولى رحلة ذهاب فقط كما هو مذكور أعلاه، ويختار الفصل الأخير تاريخ العودة من جميع التواريخ الممكنة.وطبعاً لو كان لدينا خيار العودة إلى محطة أخرى غير التي غادرنا منها، فستكون المعادلة (|تواريخ المغادرة| * |محطات المغادرة| * |محطات الوصول|) * (|تاريخ العودة| * |محطات المغادرة|)، أو إذا كان بإمكاننا المغادرة من محطة وصول مختلفة عن تلك التي وصلنا إليها لأول مرة، فسوف تصبح (|تواريخ المغادرة| * |محطات المغادرة| * |محطات الوصول|) * (|تاريخ العودة| * |محطات الوصول| * |محطات المغادرة|).

نصائح أخرى

ولست متأكدا إذا فهمت بشكل صحيح، ولكن هذا يبدو وكأنه الرسم البياني-التوجيه مشكلة نظرية . يمكنك أن تبحث في الدنيا مسار أو <وأ href = "HTTP: //en.wikipedia. غزاله / ويكي / A * _search_algorithm "يختلط =" نوفولو noreferrer "> A * الخوارزميات.

أولا، وطرق A-A هي الأمور على ما يرام، لذلك:

possible_routes = 
(
  leaving_stations x arriving_stations - 
  (leaving_stations [intersection] arrivig_stations) 
) x leaving_dates

وعملية التقاطع هي العناصر التي تنتمي إلى كل من صفائف

والثانية، عندما تريد 2 طرق الطريقة، مجموعات هي:

possible_2way_routes = 
(
    leaving_stations x arriving_stations - 
    (leaving_stations [intersection] arrivig_stations) 
) x 
leaving_dates x 
(return_dates that later than leaving dates+route time)

'leaving_dates العاشر (return_dates في وقت لاحق من ترك مواعيد + الوقت الطريق)' هي شيء غريب، لذلك قد يكون من الأسهل cumpute تقدير عال - العدد، أن ما لا يقل عن possible_2way_routes في أي حال. فإن أعلى نسبة يكون عند كل returning_dates في وقت لاحق من leaving_dates، لذلك:

possible_2way_routes <= 
(
    leaving_stations x arriving_stations - 
    (leaving_stations [intersection] arrivig_stations) 
) x leaving_dates x return_dates

وأوه، لقد تذكرت كيف لحساب 'return_dates في وقت لاحق من ترك مواعيد + الوقت الطريق ". انها:

for each element of leaving_dates {
sum=sum+return_dates that later than ith leaving date+route time}

لا تزال هناك مشكلة "الوقت الطريق"، على الرغم من ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top