Top 20

1 0x00h 700 pts
2 boris39 700 pts
3 neoxquick 681 pts
4 maf-ia 662 pts
5 thefinder 644 pts
6 benito255 608 pts
7 mego 591 pts
8 madbat2 581 pts
9 Mart 553 pts
10 Stupefy 533 pts
11 nikokks 512 pts
12 tehron 504 pts
13 Kithyane 502 pts
14 plucth 480 pts
15 egosum 473 pts
16 CoYoTe99 416 pts
17 Undr 415 pts
18 Zeta 415 pts
19 loonies2 411 pts
20 Armavica 409 pts

Classement complet

Shoutbox

12 May - 11:47 am

Working again now.

10 May - 4:05 pm

Hello, sorry for the late answer, in fact yes there is an issue with the mail, we will try to fix it quickly. Thanks for reporting

7 May - 6:07 pm

Hi there is a issue for the challenfe Email (number 21). I don't receive a mail on any of them: gmail, hotmail, yahoo. do i fail or is it the challenge ?

28 Feb - 10:35 am

Yes we fixed it

27 Feb - 10:00 pm

Thank you, just validated contest22. The solution checker seems to have been fixed.

27 Feb - 8:40 am

Yes several solutions are accepted of course. I will check one of your answers

26 Feb - 7:51 pm

No 500 error, but the solutions I'm submitting can be verified to be correct. It can't be that only one configuration is accepted, right? - as there are multiple correct configurations for each problem.

26 Feb - 5:54 pm

contest 22 is not concerned by the issue I found, and seems to be working (I suppose you don't have 500 error on this one ?). Your solutions are indeed rejected, but I did not check them yet

26 Feb - 3:25 pm

The validation for contest 22 also seems to be wrong (it's not accepting solutions that are clearly correct). I submitted bug report yesterday.

26 Feb - 9:59 am

Ok I fixed the issue It is higly possible that other challenges are impacted, so don't hesitate to tell meif you encounter this again. Thank you for reporting

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Mathématiques :: Random walk (55)

Résumé

ID : 55
Points : 17
Validations :
Page de l'épreuve
Reporter un bug

Description


Ce qui est traité dans ce challenge a rendu ses créateurs riches et puissants. Ça semble intéressant non ? Voyons de quoi il s'agit.

On va considérer la version la plus simple de l'algorithme. Considérons un graphe de villes avec des liaisons entre certaines d'entre elles :

Imaginez maintenant que quelqu'un décide de voyager dans les différentes villes de manière aléatoire. Au début il est dans une ville et choisit une des liaisons possibles pour aller dans une ville voisine. Toutes les liaisons ont la même probabilité d'être choisies qui est égale à 1/N avec N le nombre de liaisons. Par exemple, il y a trois liaisons partant de D donc la probabilité que le voyageur choisisse l'une d'elles est 1/3. Une fois qu'il arrive dans la ville voisine il recommence le procédé. Et cela indéfiniment.

On définit alors la meilleure ville comme étant la plus visitée par notre voyageur, la deuxième meilleure étant la deuxième plus visitée, etc. L'objectif de ce challenge est d'établir le classement des villes.

Afin d'avoir une description du graphe simple, on le décrit à l'aide d'une matrice, appelée matrice d'adjacence, représentant la probabilité d'aller d'une ville à une autre. Voici un exemple avec le graphe précédent :

Le coefficient rouge représente la probabilité pour le voyageur, lorsqu'il est en B, d'aller en C.

Cependant, pour éviter des problèmes d'approximation, on va simplement mettre des 1 où il y a une liaison :

Ensuite, pour retrouver la matrice de probabilité, vous avez juste à diviser chaque ligne par le nombre de 1 contenus dans celle-ci.

La matrice est codée de la même manière que dans l'épreuve Matrices. Par exemple, la matrice précédente serait codée :
[[0,1,0,0][1,0,1,0][0,1,0,0][1,1,1,0]] dans la variable links.

Le classement doit être renvoyé dans la variable rank avec le format suivant où les villes sont séparées par une virgule, par exemple :
3,4,1,2,5
Ici la ville '3' est la meilleure et la '5' est la pire. Utilisez des chiffres (et non des lettres) de 1 à n, n étant la dimension de la matrice, qui est également le nombre de villes.

Vous n'avez pas trouvé de quoi je parlais au début ? Je vais vous donner un indice (sélectionnez le texte) :
cet algorithme est à l'origine du succès de Google à ses débuts. Et, bien sûr, il n'est pas appliqué aux villes, mais je suis sûr que vous avez deviné ce dont il s'agit !

Exemple



Prenons un exemple. Pour la valeur de variable links suivante : links
Nous attendons le résultat suivant :
rank = "71,7,97,66,55,47,92,5,31,67,94,36,98,35,50,24,21,78,15,81,70,41,9,10,38,100,17,4,73,28,30,37,77,26,12,14,82,68,60,69,42,
76,6,3,59,11,1,89,72,87,58,18,79,63,84,20,39,86,93,29,40,80,96,22,62,54,51,13,8,25,27,91,34,83,64,75,33,19,44,43,52,53,16,
2,95,46,88,32,23,56,74,61,57,48,65,85,45,49,90,99"


Variables


Nom Type Description
Variables à récupérer
linksChaîne de caractèreschar*Matrice des liaisons
Variables à renvoyer
rankChaîne de caractèreschar*Classement des villes