Légende
Cube pas cher
le 09/07/2018 15:43
Hello

J'ai récemment fait ma partie annuelle de magic, et suis tombé sur un lot de cartes à 5e dans une brocante dont principalement des proxies pas trop mal faits et ça m'a redonné envie de monter un cube pour drafter.

Mon plan étant de vraiment mettre le minimum d'argent dedans j'ai quand même quelques questions.

Comme je vais principalement jouer avec des proxies faut que je choppe des sleeves, et pas des transparentes basiques. J'ai vu des packs de 800 sleeves à 35€ sur aliexpress, c'est un bon deal ou je peux encore tirer le prix vers le bas ?

Y a-t-il un moyen sur MV d'optimiser des achats de cartes quand on a une grosse quantité de cartes uniques à chopper ?
Exemple : Je veux investir 20e dans les cartes max histoire de pas faire des proxies pour des communes à 5 centimes, comment pourrais-je faire pour en obtenir le maximum de cartes ? En minimisant le nombre de vendeurs idéalement.
À la main ça s'annonce casse pied mais je suis sur que y a moyen de bricoler un algo qui le fait pour moi ^^
haut de page - Les forums de MV >> Général >> Discussion : page 1
Orriz
DrFake

le 09/07/2018 18:26
Citation :
J'ai vu des packs de 800 sleeves à 35€ sur aliexpress, c'est un bon deal ou je peux encore tirer le prix vers le bas ?


https://www.amazon.fr/Pochettes-protection-collection-KMC-pochettes/dp...

De rien
jonkheer

le 09/07/2018 18:41
Salut,

Concernant l'achat de cartes sur MV, tu peux :
- créer un deck avec l'ensemble des cartes dont tu as besoin
- aller sur la page de ton deck et cliquer sur "magicvillois" dans la partie "Acheter"
- cliquer sur une carte, puis sélectionner un des vendeurs qui propose la carte : cela va t'afficher la liste des cartes de ton deck que possède ce vendeur

Tu peux ainsi relativement facilement voir quel serait le vendeur "optimal" pour l'achat de tes cartes.

Navré du post inutile si cette semi-solution t'était déjà venue à l'idée.

Légende
le 09/07/2018 19:01
Orriz : c'est des protèges cartes transparents, ça m'arrange pas vraiment vu que j'ai pas mal de proxies ultra grossiers avec un dos de carte imprimé super flou donc il me faut des dos opaques pour les jouer.

jonkheer : oui c'est ce que j'ai fais déjà mais j'ai l'impression que je devoir acheter à trouzmille vendeurs différents et vu que je compte acheter des cartes pas cher je vais me retrouver à payer plus de port qu'autre chose.

bon je vais fouiller chez les gros vendeurs du MV, je devrait trouver mon bonheur.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 09/07/2018 22:20
Citation :
À la main ça s'annonce casse pied mais je suis sur que y a moyen de bricoler un algo qui le fait pour moi ^^
C'est plus compliqué qu'il n'y paraît. A une époque j'avais tenté de réaliser un programme capable de déterminer l'arrangement optimal me permettant de minimiser les coûts moyennant un pool de cartes données et un pool de vendeurs donné (ainsi que leurs dispos, grille de frais de ports, montant de commande minimum). C'est un problème relativement similaire à celui que tu exposes (1).

Je n'ai pas trouvé d'algorithme miraculeux donc je suis parti sur un bête bruteforce des arrangements de cartes possibles, et je me suis dit que je l'optimiserais en mode backtracking.

Malheureusement la 1ère itération de mon algo (un simple algo de combinatoire sans vérification a priori des contraintes de dispo) avait une complexité bien trop élevée et la résolution s'éternisait après seulement quelques cartes et quelques vendeurs. En gros il fonctionnait pour les pools de cartes que je pouvais traiter moi-même de tête quasiment à la même vitesse depuis l'achat de deck à un MVillois.

J'ai cherché à optimiser l'algorithme pour filtrer sur les arrangements valides (en tenant compte de la disponibilité des cartes de chaque vendeur a priori), mais je me suis arrêté en cours de route parce que je n'avais plus le temps (et j'ai perdu la motivation par la suite). Un début de réflexion est disponible ici (2).

Quoi qu'il en soit, MagicCardMarket a implémenté une version simplifiée de l'algorithme qui ne fonctionne pas trop mal (Acheter -> Mes wants lists => Achat automatique) (3). Dommage que ce ne soit pas disponible sur MV ! Il faut dire que MCM a un avantage vu qu'ils ont en base de données la grille des frais de port pour chaque vendeur...


(1)
A vrai dire, ton problème est une version plus générale du problème qui tient également compte des arrangements incomplets, et qui exclut les arrangements dont le prix associé dépasse un certain seuil. Il y a également moyen de réduire les volumes de cartes au préalable en excluant d'emblée les arrangements impossibles évidents (carte unitairement trop chère chez le vendeur le moins cher, etc.), donc peut-être qu'une bruteforce a posteriori de cette simplification est plus réaliste si ton montant maxi est peu élevé.


(2)
Une fois un algo satisfaisant trouvé (satisfaisant = complexité pas exponentielle si possible...), il ne doit pas être impossible de l'optimiser en tronquant les branches de l'arbre qui sont sous-optimales par rapport au meilleur arrangement déjà trouvé jusque là, voire en tronquant les branches sans solution valide en tenant compte des critères de disponibilité plus étendus (montant de commande minimum par exemple).

Une autre approche pourrait être un algorithme par exclusion de vendeur. Tu prends une carte de ton pool, puis tu regardes la liste des arrangements de vendeurs ne proposant que cette carte (parmi ton pool) et qui ont la carte en quantité suffisante, puis tu exclues tous les vendeurs sauf ceux de l'arrangement le moins cher. Puis tu passes à la carte suivante. Une fois toutes les cartes traitées individuellement, tu recommences avec les arrangements de cartes plus complexes. Ça peut aussi être un moyen de filtrer la liste des vendeurs avant d'appliquer l'algorithme décrit précédemment.

Alternativement, ce genre de problème est un candidat sympathique pour un algorithme génétique, si ça tente quelqu'un !


(3)
Si j'ai bien compris, leur implémentation prend pas mal de raccourcis qui excluent d'emblée certaines combinaisons qui pourraient être valides, mais c'est compréhensible pour des raisons de performance. Cela-dit ils ont également enrichi leur outil avec pas mal de fonctionnalités intéressantes (filtre sur le pays d'origine du vendeur notamment, ou la possibilité, plus anecdotique, de minimiser le nombre de commandes au lieu du prix final). Il manque encore 2 ou 3 joyeusetés (prioriser les cartes en meilleur état, voire leur affecter un coefficient de prix différent en fonction de l'état) mais c'est plutôt intéressant.

Légende
le 10/07/2018 15:26
Merci, c'était fort intéressant mais comme tu le dis bien trop compliqué à mettre en œuvre :/

Cela dit ça soulève des points intéressants, permettre de rentrer les frais de ports et le montant minimum d'achat pour chaque vendeur directement dans la bbd serait un premier pas pour la mise en place de ce genre d'algo.
zombie33

Légende
le 10/07/2018 15:31
J'attire ton attention sur le fait que pour la prochaine CdF, on va organiser un side event Cube peasant. La liste a été fixé pour pas que ce soit trop cher et une dizaine de Cube identique vont être monté et évidemment les joueurs repartiront avec les cartes à la fin.

Ce cube est inspiré du mien qui se trouve ici.
ZeSword
Bruxelles, Belgique

AVATAR
Non optimal: glouton
le 10/07/2018 16:00
J'avais réfléchi à ce problème, et proposé la solution suivante à JMB. Cette solution n'est pas optimale, c'est un algorithme classique dit "glouton" (on regarde à chaque itération le plus gros morceau).

Citation :
* Initialisation :
1. On veut la liste des vendeurs qui ont au moins une carte du pack. Pour ça, commencer la liste des vendeurs à vide, puis pour chaque carte du deck, rajouter (s'il n'est pas déjà présent) chacun des vendeurs de la carte.

2. Classer les vendeurs de cette liste par "nombre de cartes du deck qu'il vend" décroissant (attention : pas seulement en terme de "nombre de cartes différentes" mais bien tenir compte du nombre de cartes qu'on veut acheter ; par ex. un vendeur qui a 4 x Jace sera classé au-dessus d'un vendeur qui a 1 x Jace et 1 x Liliana).

* Boucle "tant que y'a des cartes du deck pas encore prises et qui sont achetables sur magic-ville" :

-> pour chaque vendeur (dans l'ordre précédent), lui prendre toutes les cartes qu'il a et dont on a besoin pour le deck

-> mettre à jour le nombre de cartes dont on a besoin

* Ajustement final
-> pour chaque vendeur finalement sélectionné, regarder les prix les plus bas (car rien n'indique que celui qui avait le plus de cartes du pack les vendait au meilleur prix)


Vu qu'on est dans une configuration où il n'y a que des cartes à faible prix d'achat, ça doit pouvoir tenir la route: ici on a un algo qui dans la plupart des cas minimise le nombre de transactions. Bien sûr, dans le cas où on a plutôt des cartes chères, minimiser le nombre de transactions n'est plus le critère à regarder, et il vaut mieux trier les cartes du deck par "prix d'achat le plus petit" décroissante. Ainsi, d'abord on regarde les cartes les plus chères du deck et on sélectionne le(s) vendeur(s) qui les vendent au meilleur tarif, puis seulement en-dessous d'un certain seuil on passe à l'algo donné ci-dessus.

JMB avait implémenté trois algorithmes d'achat dans ce genre (un qui minimise le coût total des cartes - mais pas les frais de port), un qui minimise le nombre de transactions (un peu comme celui que j'ai donné), et un intermédiaire. Cela n'est pas encore rendu public.

PS: comme indiqué, il y a à prendre en compte la surprise "frais de port" (qui dépendent sur magic-ville du vendeur), mais il y a aussi à prendre en compte la surprise "commande minimale" (parfois il vaut mieux rajouter quelques cartes à un vendeur pour ouvrir chez lui, alors que si on ne les rajoutait pas on ne pourrait pas ouvrir la commande). Enfin il y a à prendre en compte que peut-être tu n'as pas envie d'acheter des cartes "poor". Ce n'est donc pas si simple de gérer le cas général :)

Légende
le 10/07/2018 16:39
Citation :
J'attire ton attention sur le fait que pour la prochaine CdF, on va organiser un side event Cube peasant

Je préfère jouer avec le p9 et autres cartes pétées je trouve ça plus lolesque, quitte à ce que ce soit des proxies un peu flous ou des "proxies haute qualité" qu'on peut trouver sur aliexpress.
zombie33

Légende
le 10/07/2018 16:46
j'avais lu, que l'aspect budget était important, mais si tu joues avec proxy, c'est sur que mon point tombe à l'eau.
haut de page - Les forums de MV >> Général >> Discussion : page 1
Vous devez être identifié pour pouvoir poster sur les forums.