Ticket to Ride Europe - Arithmétique, deuxième partie

Continuant toujours à étudier les bases des mathématiques et de la mécanique dans le jeu. Cet article est le deuxième d'une série ( Lien vers la première partie ), il poursuit l'analyse des traits, une tentative de les trier en fonction des besoins, en étudiant différentes façons de construire des itinéraires. Si nous établissons des analogies avec les mathématiques, ce ne sont que les bases, l'arithmétique. Algèbre et mathématiques supérieures dans l'esprit de "prendre des voitures ou construire une scène?", "Quoi de mieux à construire maintenant - scène ou gare?" et «l'utilisation d'un trait par plusieurs itinéraires» est encore au stade de la planification, j'espère que les mains et le cerveau les atteindront.

Par défaut, dans le post, il y a des raisonnements pertinents pour le jeu de 2-3 joueurs (un seul chemin est utilisé sur les voies «double piste»)

Brève information sur la première partie
Dans le premier article, avec l'aide de python et d'Excel, une tentative a été faite pour comprendre quelles voitures sont les plus rentables à utiliser pour la construction de trajets gris, comment construire telle ou telle route le plus rapidement.

A partir des développements précédents, seul le tableau «nombre de coups pour la construction d'un tronçon de longueur N» sera utilisé:

Le nombre de coups pour la construction de la scène

Recherchez le moyen le plus «rentable»


Comme le montre la pratique du jeu et les commentaires de participants respectés, le chemin le plus court entre deux villes n'est pas toujours le plus rentable ( pour être extrêmement honnête, presque jamais ). Essayons de trouver un moyen pour que le rapport "points gagnés / mouvements dépensés" soit maximum.

Description de l'algorithme de recherche de chemin
1. Pour chacune des 46 cartes d'itinéraire, tous les «itinéraires» possibles sont recherchés du point de départ au point de destination. Pour les «routes» de routes, nous introduisons deux restrictions:

  • La longueur (nombre de wagons dépensés) ne dépasse pas 45 (maximum de wagons possibles).
  • Chaque ville ne peut être utilisée qu'une seule fois (les boucles ne sont pas prises en compte).

Tout cela est mis en œuvre en utilisant la recherche standard "en profondeur".
2. De toutes les «routes» possibles, une est sélectionnée pour laquelle le rapport

(Points pour les traits + Points pour les itinéraires) / (Nombre de mouvements dépensés)

est le plus grand.

L'algorithme s'est avéré plutôt lent, pour chaque carte d'itinéraire, il a «dérobé» toutes les options possibles pendant environ une minute et demie, tout en consommant 3 gigaoctets de RAM.


Les itinéraires et les pistes les plus «rentables» pour eux

Les résultats de l'exécution de l'algorithme ont parfois produit des résultats complètement «illogiques» dans l'œil humain. Par exemple, l'itinéraire «Londres-Berlin» (7 points), l'ordinateur propose de construire de cette façon: « Londres-Dieppe-Paris-Marseille-Rome-Palerme-Smyrna-Constantinople-Bucarest-Budapest-Kiev-Varsovie-Berlin » (moyenne 101 déplacer; 81 points pour les traits construits).


Comme mon grand-père, un soldat de première ligne, l'a dit: «De Kiev à Penza en passant par Jytomyr»

Une fois la liste des itinéraires les plus «rentables» établie, vous pouvez passer aux étapes suivantes des calculs.

Recherchez les villes les plus fréquentées


Comme la dernière fois, pour chaque ville, le nombre d'itinéraires auxquels elle participe a été calculé (en tant que gare terminale et en tant qu'intermédiaire). La «congestion» était considérée comme la différence entre les trajets de / vers la ville et le nombre d'itinéraires.


Villes les plus fréquentées


Les villes les plus «libres»

Lors du calcul de la congestion des villes, seul le nombre de traits s'approchant de la ville a été pris en compte, le nombre de pistes dans le trait (un ou deux) a été ignoré. En conséquence, les nombres sont plus ou moins pertinents pour un jeu de deux ou trois. Eh bien ... les tableaux eux-mêmes ne contiennent aucune information utile, sauf qu'ils vous aideront à choisir la ville pour commencer la construction, toutes choses étant égales par ailleurs. Les informations sur les étapes sont beaucoup plus importantes.

Les traits les plus occupés


Étant donné que la dernière fois, les itinéraires les plus «rentables» ont été analysés, l'utilisation des traits a été calculée, quelle que soit la direction du mouvement (c'est-à-dire que des mouvements comme «Londres-Édimbourg» et «Édimbourg-Londres» sont considérés comme des mouvements sur le même rouler).


Les lignes les plus fréquentées, elles doivent être occupées en premier


Tours non utilisés pour les itinéraires routiers

Dans les commentaires sur l'entrée précédente, pproger et g000phy ont écrit que pour gagner le jeu, il fallait utiliser 8 et 6 voitures. Comme prévu, les liaisons à 6 voitures Kiev-Budapest et Palerme-Smyrne, ainsi que les routes d'accès à celles-ci, figurent en tête des tableaux les plus «fréquentés». De manière inattendue, Stockholm-Petrograd était en dessous du Top 10. Apparemment, son éloignement des routes principales et le grand nombre de wagons qui devraient être dépensés pour la construction l'affectent.


Carte thermique. Plus le vert est éloigné, plus cette étape / ville est chargée. Le blanc marque les chemins non utilisés

Conduire la plus haute priorité


Dans les commentaires sur le post précédent , Woozle a écrit sur les traits clés, qui s'ils ne sont pas pris , entraîneront une augmentation de la consommation de wagons et de mouvements (un exemple frappant est le transport de Kharkov-Rostov pour le segment est).

Dans le processus de recherche de ces traits, je voudrais demander conseil à une communauté réputée.

Je vois l'algorithme de recherche comme suit:

  • Le nombre de déplacements requis pour la construction de chaque itinéraire est résumé (il s'avère un peu standard).
  • Chaque étape est séquentiellement exclue de la matrice des chemins. Encore une fois, le nombre de déplacements dépensés sur chaque itinéraire est pris en compte.
  • L '«importance» de chaque étape est considérée comme la différence entre les mouvements dépensés avec l'étape à distance et l'étalon.

À l'heure actuelle, il existe deux options pour le «parcours» en cours pour chaque parcours:

  1. L'itinéraire du point A au point B dans le moins de mouvements . L'algorithme est décrit dans un article précédent, le résultat du calcul de l'importance est donné ci-dessous:


    La liste n'indique pas Édimbourg-Londres (si un joueur construit des voitures sur cette étape, le second installera la station ou restera sur un itinéraire inachevé). L'importance des lignes Copenhague-Essen, Stockholm-Copenhague et Kharkov-Rostov est également évidente, mais les autres sur la liste sont douteuses ...
  2. L'itinéraire du point A au point B avec le ratio le plus élevé de «nombre de points reçus / nombre de déplacements dépensés» . Dans ce cas, les traits critiques n'ont pas été pris en compte pour deux raisons. Tout d'abord, depuis longtemps (90 itinéraires * 46 itinéraires * 1,5 minutes à calculer). Deuxièmement, les "itinéraires" tracés des itinéraires donnent un tel "tour" que la plupart d'entre eux ne sont pas susceptibles d'être utilisés dans un jeu réel.

En fait, la recherche de traits «clés» repose sur un ensemble de données primaires (une liste de routes construites logiquement). Ces «itinéraires construits logiquement» ne sont pas à portée de main, il n'y a aucune idée de comment les trouver. Je serais reconnaissant pour vos réflexions et suggestions.

A suivre (gares, le plus long chemin) suit ...

Source: https://habr.com/ru/post/fr439020/


All Articles