π
<-

Résultats concours 2016 : le Tour du monde en 83 Premium CE

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Résultats concours 2016 : le Tour du monde en 83 Premium CE

Unread postby critor » 09 Oct 2016, 20:22

7318Voici enfin ce soir les résultats de notre concours de rentrée 2016, le Tour du monde en 83 Premium CE.
Il s'agissait donc d'aider notre héroïne, Sophia Flegg, à réaliser un tour du monde sans escale. Pour cela, on te demandait donc l'expression d'une fonction définissant l'itinéraire en question.

Rien que dans l'énoncé de ce concours, tu avais d'énormes indices destinés à t'aider dans ta quête, et il est grand temps de les révéler :

Et oui car Sophia Flegg n'était que l'anagramme de Phileas Fogg, gentleman anglais héros du célèbre roman de Jules Verne de 1872, Le tour du monde en 80 jours.
La lecture du roman t'apportait nombre d'indices si tu décidais de contourner l'Eurasie par le sud, notamment en longeant la botte italienne, empruntant le canal de Suez, puis traversant la mer Rouge dans toute sa longueur.

De plus, on découvre au collège que le plus court chemin est la ligne droite, et lorsqu'il y a des contraintes une trajectoire qui peut se ramener par transformations à une ligne droite.

Enfin, on étudie en fin de collège les fonctions affines, et une idée pouvait donc être une fonction affine par morceaux.

Voici ci-contre une trajectoire respectant ces trois derniers points, et qui permettait déjà sans optimisation bien poussée de terminer le tour du monde avec encore 2428,4€ dans la tirelire ! :bj:
Code: Select all
(X≥0 et X<0.13)(1.1538462(X-0)+0)+(X≥0.13 et X<1.1)(0.83505155(X-0.13)+0.15)+(X≥1.1 et X<1.2)(0(X-1.1)+0.96)+(X≥1.2 et X<1.37)(­2.4117647(X-1.2)+0.96)+(X≥1.37 et X<1.5)(­13.307692(X-1.37)+0.55)+(X≥1.5 et X<2.14)(­1.28125(X-1.5)+­1.18)+(X≥2.14 et X<2.45)(­1.6129032(X-2.14)+­2)+(X≥2.45 et X<3.9)(­0.49655172(X-2.45)+­2.5)+(X≥3.9 et X<4.13)(­2.9565217(X-3.9)+­3.22)+(X≥4.13 et X<4.25)(­2.0833333(X-4.13)+­3.9)+(X≥4.25 et X<5.1)(­1.8(X-4.25)+­4.15)+(X≥5.1 et X<5.7)(0.26666667(X-5.1)+­5.68)+(X≥5.7 et X<12.4)(­0.38507463(X-5.7)+­5.52)+(X≥12.4 et X<14.1)(0.17647059(X-12.4)+­8.1)+(X≥14.1 et X<15.13)(0.33980583(X-14.1)+­7.8)+(X≥15.13 et X<15.41)(1.1785714(X-15.13)+­7.45)+(X≥15.41 et X<30.76)(0.074918567(X-15.41)+­7.12)+(X≥30.76 et X<30.91)(2(X-30.76)+­5.97)+(X≥30.91 et X<32.1)(0.98319328(X-30.91)+­5.67)+(X≥32.1 et X≤40)(0.51898734(X-32.1)-4.5)
Même si ce concours n'imposait pas de programmation, le sujet était ouvert et tous les moyens envisageables. Pour faciliter l'écriture de ce genre de fonction, on pouvait par exemple faire un programme la générant automatiquement à partir d'une liste de points. Voici celui que nous avons utilisé pour la fonction précédente.

Voyons donc maintenant comment les participants ont fait et jusqu'où ils sont allés.



10ème, Bartmaniaque a choisi de mettre le cap plein sud, et une fois le continent africain franchi le reste est une promenade de santé.
Son trajet fait 54784km dont un remorquage non négligeable de 7768km. Il lui reste au final 2287,5€.
Code: Select all
(X≤2)*(­2.5X-6.7)+(X>2)*(­0.1X-11.1)*(X<20)+(X≥20)*(0.7X-27)*(X<37.84)+(X≥37.84)*­0.514


9ème, Clifward pour sa part choisit de contourner l'Eurasie par le nord, puis de mettre la barre au sud pour aller franchir l'Amérique centrale sans escale au niveau du canal de Panama.
Son trajet reste donc conséquent avec 52059km, mais dont seulement 869km de remorquage. Il termine avec 2373,7€.
Code: Select all
(X≤0.286)*(0.5X)+(X≥0.286 et X≤0.57)*(1.529X-0.294)+(X≥0.57 et X≤1.833)*(1.847X+0.947)+(X≥1.833 et X≤7.571)*(0.494X+3.428)+(X≥7.571 et X≤11)*(7.167)+(X≥11 et X≤11.5)*(0.666X-0.167)+(X≥11.5 et X≤14)*(­0.067X+8.267)+(X≥14 et X≤16)*(­0.166X+9.667)+(X≥16 et X≤19)*(­0.673X+17.77)+(X≥19 et X≤21.33)*(­0.574X+15.81)+(X≥21.33 et X≤21.5)*(­13.714X+296.11)+(X≥21.5 et X≤22)*(­2.57X+56.57)+(X≥22 et X≤25.714)*(­0.808X+17.769)+(X≥25.714 et X≤30.286)*(­0.75X+16.286)+(X≥30.286 et X≤32.571)*(1.125X-40.5)+(X≥32.571)*(0.519X-20.769)


8ème, vince960 met lui aussi d'abord le cap au nord, mais ose à la différence affronter le grand nord canadien où il n'effectue qu'une très courte escale.
Son voyage ne fait donc que 47543km, dont 1419km de remoquage. Il nous revient avec 2433,4€.
Code: Select all
(1.4X)(X≥0)(X<.7)+(1.5X+1.4)(X≥.7)(X<2.2)+(.474X+3.657)(X≥2.2)(X<7.7)+(.04X+7)(X≥7.7)(X<11)+(.16X+5.6)(X≥11)(X<12)+(­.096X+8.673)(X≥12)(X<26.26)+(­.197X+11.266)(X≥26.26)(X<27.02)+(­.6564X+23.68)(X≥27.02)(X<27.47)+(.0984X+2.9429)(X≥27.47)(X<28.98)+(5.8)(X≥28.98)(X<29.9)+(5.7)(X≥29.9)(X<31.55)+(5.5)(X≥31.55)(X<32)+(5.3)(X≥32)(X<32.75)+(­1.89X+66.6)(X≥32.75)(X<34.5)+(­.353X+13.567)(X≥34.5)(X<39)+(­.5)(X≥39)(X<39.9)+(­.4)(X≥39.9)(X<39.95)+(­.35)(X≥39.95)(X<40)+(0)(X=40)


7ème, Grosged adopte pour sa part un trajet similaire à celui de Clifward, n'osant pas braver les conditions extrêmes du Canada.
Il fait légèrement mieux puisqu'il lui reste à l'arrivée 2478,8€.
Code: Select all
2.83X(X<1.5)+(3.93+.53(X-1.5))(X≥1.5 et X<7.8)+7.2(X≥7.8 et X<11.2)+(X≥11.2 et X<12)(2.8+.4X)+(8.4-.1X)(X≥12 et X<16.2)+(X≥16.2 et X<21.2)(10.4-.628(X-10.4))+(X≥21.2 et X<21.9)(3.6-(X-21.2)5.5)+(X≥21.9 et X<30.6)(.1-(X-21.9).76)+(X≥30.6 et X<31)(­6.4+(X-30.6)3)-5.2(X≥31 et X<32.5)+(X≥32.5 et X<39.2)(­5.2+.6(X-32.5))+(X≥39.2)(­5.2+(X-36)1.3


6ème, cheuble choisit quant à lui avec courage un itinéraire comparable à celui de vince960.
Il fait là encore un peu mieux, optimisant ses bornes et paramètres jusqu'à 2 et 4 décimales, arrivant à s'économiser 2495€.
Code: Select all
(X<0.90)(3X)+(X>0.90 et X<2.27)(1.8832X+0.6651)+(X>2.27 et X<7.57)(0.4283X+3.9677)+(X>7.57 et X<11.51)(0.0373X+6.9271)+(X>11.51 et X<12.87)(7.46)+(X>12.87 et X<26.06)(­0.1106X+8.8847)+(X>26.06 et X<27.42)(6)+(X>27.42 et X<28.48)(5.74)+(X>28.48 et X<30.15)(5.79)+(X>30.15 et X<32.42)(5.74)+(X>32.42 et X<35.28)(­1.779X+63.4174)+(X>35.28 et X<39)(­0.4054X+15.3108)+(X>39 et X<39.99)(­0.5)


5ème, Anonyme0 choisit un itinéraire très voisin de Grosged et Clifward, montant cette fois-ci à 2503,2€ sans besoin d'une optimisation aussi poussée.
Code: Select all
0(X=0)+0.2(X>0 et X<0.3)+(X*6-0.3)(X>0.3 et X<0.6)+(X*1.9+1)(X>0.6 et X<2)+(X*0.45+3.76)(X>2 et X<8)+7.2(X>8 et X<11.5)+7.5(X>11.5 et X<12.57)+(­X*0.2+10)(X>12.57 et X<16.21)+(­X*0.69+18.2)(X>16.21 et X<21.45)+(­X*0.98+22.5)(X>21.45 et X<28)+(8.6876-0.48X)(X>28 et X<30.75)+(­67.42+2X)(X>30.75 et X<31.2)+­5(X>31.2 et X<31.81)+(­18.46+0.44X)(X>31.81 et X<39.39)+­0.51(X>39.39 et X<39.9)+0(X>39.9)+0(X>39.9)


En 4ème position, avec StarTrekVoyager, on affronte à nouveau le même raccourci du grand nord canadien.
L'optimisation est ici bien poussée, avec des bornes et paramètres jusuqu'à 3 et 9 décimales, nous faisant monter à 2506,9€.
Code: Select all
(1.142857143*(X-0)+0)*(0<X et X≤0.175)+(5.636363636*(X-0.175)+0.2)*(0.175<X et X≤0.45)+(1.864661654*(X-0.45)+1.75)*(0.45<X et X≤1.78)+(0.5*(X-1.78)+4.23)*(1.78<X et X≤7.96)+(0.01447178*(X-7.96)+7.32)*(7.96<X et X≤11.415)+(0.4293785311*(X-11.415)+7.37)*(11.415<X et X≤12.3)+(­0.1205385165*(X-12.3)+7.75)*(12.3<X et X≤26.818181)+(­0.3849999615*(X-26.818181)+6)*(26.818181<X et X≤27.727272)+(0.0841688299*(X-27.727272)+5.65)*(27.727272<X et X≤29.45)+(0*(X-29.45)+5.795)*(29.45<X et X≤29.9)+(­0.2*(X-29.9)+5.795)*(29.9<X et X≤30.1)+(0*(X-30.1)+5.755)*(30.1<X et X≤31.4)+(­0.8772727273*(X-31.4)+5.755)*(31.4<X et X≤32.5)+(­1.605882353*(X-32.5)+4.79)*(32.5<X et X≤34.2)+(­0.7714285714*(X-34.2)+2.06)*(34.2<X et X≤35.25)+(­0.4133333333*(X-35.25)+1.25)*(35.25<X et X≤39)+(­0.1671671672*(X-39)+­0.3)*(39<X et X≤39.999)+(467*(X-39.999)+­0.467)*(39.999<X et X≤40)
Comment as-tu fait ?
Show/Hide spoilerAfficher/Masquer le spoiler
StarTrekVoyager wrote:j'ai juste fait un petit programme en Basic qui se sert de la fonction toString( et qui transforme deux listes (en l'occurence L1 et L2) contenant les coordonnées en fonction piecewise. Au final, je suis passé par le Canada, et au fil d’optimisations pointilleuses et de l'aide de Hayleia ( :troll: ), j'ai fini par atteindre 2507, ce dont je suis fier car je suis le seul à avoir atteint ce score via le Passage du Nord-Ouest, et seulement 2 pixels rouges au milieu du trajet :P


3ème, Wistaro nous reprend le trajet passant au nord puis au Panama, et l'optimise à fond aux limites de la calculatrice avec des bornes et paramètres jusqu'à 12 décimales.
Ce travail énorme lui fait gagner 2520,8€.
Code: Select all
(X≥0 et X<0.39040072)*(1.1154517614619X+0)+(X≥0.39040072 et X<0.6159999999999)*(6.2523551901438X+­2.0054507971278)+(X≥0.6159999999999 et X<1.5151817999999)*(2.0589510374876X+0.57768616090792)+(X≥1.5151817999999 et X<2.272727273)*(1.0357190795859X+2.1280686006988)+(X≥2.272727273 et X<8.18181833)*(0.48688104011428X+3.3754277814656)+(X≥8.18181833 et X<10.31757576008)*(0.00324894152321X+7.3324177506944)+(X≥10.31757576008 et X<12.459242419992)*(0.0651476536958X+6.6937730984024)+(X≥12.459242419992 et X<16.818100001)*(­0.24931238202496X+10.611706914846)+(X≥16.818100001 et X<21.21212121)*(­0.67863042907404X+17.832020762352)+(X≥21.21212121 et X<21.3436666726)*(­5.0339797617236X+110.2182187184)+(X≥21.3436666726 et X<21.66599999989)*(­5.0326587114136X+110.19002266093)+(X≥21.66599999989 et X<22.27)*(­1.510660628864X+33.8824122048)+(X≥22.27 et X<29.24242424)*(­0.82065043104722X+18.515885099421)+(X≥29.24242424 et X<31.21212121)*(­0.4781740360904X+8.5010450659072)+(X≥31.21212121 et X<31.730666669964)*(1.7532633637234X+­61.146849529606)+(X≥31.730666669964 et X<33.630000001)*(0.60265048290128X+­24.637135742072)+(X≥33.630000001 et X<39.613939381)*(0.6443365292748X+­26.039037481656)+(X≥39.613939381 et X<39.999)*(0.26151722801858X+­10.874056887815)+(X≥39.999 et X<40)*(413.6292843X+­16545.171372)
Comment t'y es-tu pris ?
Show/Hide spoilerAfficher/Masquer le spoiler
Wistaro wrote:J'ai tout d'abord commencé par développer en langage TI-Basic un programme permettant de générer une trajectoire avec une série de points. Le fonctionnement est plutôt simple: on va tracer une fonction affine entre chaque points.
Pour cela, je vais d'abord trouver le coefficient directeur de cette droite en faisant la différence des valeurs en Y sur la différence des valeurs en X.
Pour trouver l'ordonnée à l'origine (B), il suffit de faire , pour un point, Y moins le coefficient directeur multiplié par la valeur de X.
Nous avons donc, entre 2 points A et B, une équation de la forme aX+B
Reste à faire cela entre les points B et C, C et D, etc...

Il faut ensuite appliquer telle fonction sur tel intervalle.
Donc, j'ai fais ceci:
(X >= POINT "gauche" and X< POINT suivant "droite") * (aX+B)
Ainsi, le premier point sera évalué avec la fonction aX+B.
Le second point, lui, sera évalué avec la fonction suivante, donc a'X+b'.

L'inverse pouvait provoquer des bugs, c'est pour cela que j'ai choisi ce sens.

Si l'on a 2 listes, l'une comportant les X (x1,x2,x3,x4...) et l'autres les Y (y1, y2, y3, y4, ...), la fonction totale se présente sous la forme:
(X >= x1 and X< x2) * (aX+B) + (X >= x2 and X< x3) * (a'X+B') + (X >= x3 and X< x4) * (a''X+B'')....

La génération de la fonction fonctionne. Il faut désormais définir la trajectoire.
J'ai tout d'abord commencé sur papier.
J'ai imprimé la carte en grand format et essayé de tracer à la règle (car la droite est la trajectoire la plus courte) la meilleure trajectoire.
Il ne restait ensuite qu'à stocker dans une liste les différentes coordonnées des points de ma trajectoire, puis d'appliquer mon programme de génération de fonction.
Au fur et à mesure, j'ai proposé divers trajectoires, m'améliorant de version en version. J'ai optimisé ma manière de travailler, en utilisant un double écran (sur un écran, la carte sur CEmu, avec la résolution quasi-maximale et sur l'autre le clavier).
J'ai finis par arriver à la limite de mon programme, vers les 2 500.
Pour continuer à grossir le score, j'ai conçu un autre algorithme pour affiner les points à 0.0001 près.
Le fonctionnement était trivial.Pour chaque point, il augmentait de 0.0001 sur Y, puis lançait la génération, puis lançait TOUR83, obtenait le score. Si le score était supérieur au score précédant, on recommence en augmentant de 0.001. Autrement, on diminuait.

Ce programme étant relativement lent, j'ai finis par affiner à la main tout les points , pour enfin arriver au score de 2 520,8.


Avec cette technique et cette trajectoire, je doute que l'on puisse aller plus loin.


2ème, Hayleia nous arrache 2574,0€.
Il s'agit à nouveau de partir vers le nord et d'affronter le Canada, mais à la différence de ses adversaires, tel un TASseur (Tool Assisted Speedrunneur) de jeux vidéo, Hayleia arrive à trouver au pixel près une façon de traverser le Canada sans escale !
Ses paramètres sont aussi optimisés à fond jusqu'à 12 décimales.
Mais sa stratégie est également bien différente des autres candidats. Au lieu d'être définie comme un assemblage de segments, sa fonction est ici définie point par point, pour chacune des 265 colonnes de pixels de la zone graphique, ce qui bien évidemment donne une équation ci-dessous beaucoup plus longue.
Une autre astuce apparemment payante, est également l'utilisation de la variable système ΔX accessible via :f44: :f105:, qui contient la distance séparent deux pixels consécutifs sur une même ligne.
Code: Select all
0+(X=0ΔX)0+(X=1ΔX)0.167530487805+(X=2ΔX)0.637256097561+(X=3ΔX)1.122134146341+(X=4ΔX)1.622164634146+(X=5ΔX)2.137347560976+(X=6ΔX)2.39493902439+(X=7ΔX)2.652530487805+(X=8ΔX)2.91012195122+(X=9ΔX)3.167713414634+(X=10ΔX)3.425304878049+(X=11ΔX)3.682896341463+(X=12ΔX)3.955640243903+(X=13ΔX)4.107164634146+(X=14ΔX)4.25868902439+(X=15ΔX)4.334451219512+(X=16ΔX)4.410213414634+(X=17ΔX)4.485975609756+(X=18ΔX)4.561737804878+(X=19ΔX)4.6375+(X=20ΔX)4.713262195122+(X=21ΔX)4.789024390244+(X=22ΔX)4.864786585366+(X=23ΔX)4.940548780488+(X=24ΔX)5.01631097561+(X=25ΔX)5.092073170732+(X=26ΔX)5.167835365854+(X=27ΔX)5.243597560976+(X=28ΔX)5.3193597560972+(X=29ΔX)5.39512195122+(X=30ΔX)5.4708841463412+(X=31ΔX)5.5466463414632+(X=32ΔX)5.6224085365852+(X=33ΔX)5.6981707317072+(X=34ΔX)5.7739329268292+(X=35ΔX)5.8496951219512+(X=36ΔX)5.9254573170732+(X=37ΔX)6.0012195121952+(X=38ΔX)6.0769817073172+(X=39ΔX)6.1527439024392+(X=40ΔX)6.2285060975612+(X=41ΔX)6.3042682926832+(X=42ΔX)6.3800304878052+(X=43ΔX)6.4709451219512+(X=44ΔX)6.5618597560972+(X=45ΔX)6.652774390244+(X=46ΔX)6.74368902439+(X=47ΔX)6.8346036585372+(X=48ΔX)6.9103658536592+(X=49ΔX)6.98612804878+(X=50ΔX)7.0618902439032+(X=51ΔX)7.137652439024+(X=52ΔX)7.137652439024+(X=53ΔX)7.137652439024+(X=54ΔX)7.137652439024+(X=55ΔX)7.137652439024+(X=56ΔX)7.137652439024+(X=57ΔX)7.137652439024+(X=58ΔX)7.1528048780492+(X=59ΔX)7.1679573170732+(X=60ΔX)7.1831097560972+(X=61ΔX)7.198262195122+(X=62ΔX)7.213414634146+(X=63ΔX)7.2285670731712+(X=64ΔX)7.2437195121952+(X=65ΔX)7.25887195122+(X=66ΔX)7.274024390244+(X=67ΔX)7.289176829268+(X=68ΔX)7.3043292682932+(X=69ΔX)7.3194817073172+(X=70ΔX)7.3346341463412+(X=71ΔX)7.349786585366+(X=72ΔX)7.36493902439+(X=73ΔX)7.3800914634152+(X=74ΔX)7.3952439024392+(X=75ΔX)7.4103963414632+(X=76ΔX)7.425548780488+(X=77ΔX)7.440701219512+(X=78ΔX)7.440701219512+(X=79ΔX)7.440701219512+(X=80ΔX)7.440701219512+(X=81ΔX)7.440701219512+(X=82ΔX)7.440701219512+(X=83ΔX)7.440701219512+(X=84ΔX)7.440701219512+(X=85ΔX)7.440701219512+(X=86ΔX)7.440701219512+(X=87ΔX)7.440701219512+(X=88ΔX)7.440701219512+(X=89ΔX)7.440701219512+(X=90ΔX)7.440701219512+(X=91ΔX)7.440701219512+(X=92ΔX)7.440701219512+(X=93ΔX)7.440701219512+(X=94ΔX)7.440701219512+(X=95ΔX)7.440701219512+(X=96ΔX)7.440701219512+(X=97ΔX)7.440701219512+(X=98ΔX)7.440701219512+(X=99ΔX)7.440701219512+(X=100ΔX)7.440701219512+(X=101ΔX)7.440701219512+(X=102ΔX)7.440701219512+(X=103ΔX)7.440701219512+(X=104ΔX)7.440701219512+(X=105ΔX)7.440701219512+(X=106ΔX)7.440701219512+(X=107ΔX)7.440701219512+(X=108ΔX)7.440701219512+(X=109ΔX)7.440701219512+(X=110ΔX)7.440701219512+(X=111ΔX)7.440701219512+(X=112ΔX)7.440701219512+(X=113ΔX)7.440701219512+(X=114ΔX)7.440701219512+(X=115ΔX)7.440701219512+(X=116ΔX)7.440701219512+(X=117ΔX)7.440701219512+(X=118ΔX)7.440701219512+(X=119ΔX)7.440701219512+(X=120ΔX)7.440701219512+(X=121ΔX)7.440701219512+(X=122ΔX)7.440701219512+(X=123ΔX)7.440701219512+(X=124ΔX)7.440701219512+(X=125ΔX)7.440701219512+(X=126ΔX)7.440701219512+(X=127ΔX)7.440701219512+(X=128ΔX)7.440701219512+(X=129ΔX)7.440701219512+(X=130ΔX)7.440701219512+(X=131ΔX)7.440701219512+(X=132ΔX)7.440701219512+(X=133ΔX)7.440701219512+(X=134ΔX)7.440701219512+(X=135ΔX)7.440701219512+(X=136ΔX)7.440701219512+(X=137ΔX)7.440701219512+(X=138ΔX)7.440701219512+(X=139ΔX)7.440701219512+(X=140ΔX)7.440701219512+(X=141ΔX)7.440701219512+(X=142ΔX)7.440701219512+(X=143ΔX)7.440701219512+(X=144ΔX)7.440701219512+(X=145ΔX)7.440701219512+(X=146ΔX)7.440701219512+(X=147ΔX)7.440701219512+(X=148ΔX)7.440701219512+(X=149ΔX)7.440701219512+(X=150ΔX)7.440701219512+(X=151ΔX)7.440701219512+(X=152ΔX)7.440701219512+(X=153ΔX)7.440701219512+(X=154ΔX)7.440701219512+(X=155ΔX)7.440701219512+(X=156ΔX)7.440701219512+(X=157ΔX)7.440701219512+(X=158ΔX)7.440701219512+(X=159ΔX)7.440701219512+(X=160ΔX)7.440701219512+(X=161ΔX)7.440701219512+(X=162ΔX)7.440701219512+(X=163ΔX)7.440701219512+(X=164ΔX)7.440701219512+(X=165ΔX)7.440701219512+(X=166ΔX)7.440701219512+(X=167ΔX)7.440701219512+(X=168ΔX)7.440701219512+(X=169ΔX)7.440701219512+(X=170ΔX)7.440701219512+(X=171ΔX)7.440701219512+(X=172ΔX)7.440701219512+(X=173ΔX)7.440701219512+(X=174ΔX)7.440701219512+(X=175ΔX)7.440701219512+(X=176ΔX)7.440701219512+(X=177ΔX)7.440701219512+(X=178ΔX)7.440701219512+(X=179ΔX)7.440701219512+(X=180ΔX)7.440701219512+(X=181ΔX)7.274024390244+(X=182ΔX)7.198262195122+(X=183ΔX)7.1225+(X=184ΔX)7.0921951219512+(X=185ΔX)7.0618902439032+(X=186ΔX)7.031585365854+(X=187ΔX)7.0012804878052+(X=188ΔX)6.970975609756+(X=189ΔX)6.970975609756+(X=190ΔX)6.970975609756+(X=191ΔX)6.98612804878+(X=192ΔX)6.9103658536592+(X=193ΔX)6.8346036585372+(X=194ΔX)6.728536585366+(X=195ΔX)6.6224695121952+(X=196ΔX)6.5315548780492+(X=197ΔX)6.2133536585372+(X=198ΔX)5.9103048780492+(X=199ΔX)5.7587804878052+(X=200ΔX)5.74362804878+(X=201ΔX)5.728475609756+(X=202ΔX)5.713323170732+(X=203ΔX)5.6981707317072+(X=204ΔX)5.6830182926832+(X=205ΔX)5.6678658536592+(X=206ΔX)5.652713414634+(X=207ΔX)5.63756097561+(X=208ΔX)5.6224085365852+(X=209ΔX)5.4708841463412+(X=210ΔX)5.3193597560972+(X=211ΔX)5.167835365854+(X=212ΔX)5.01631097561+(X=213ΔX)4.864786585366+(X=214ΔX)4.713262195122+(X=215ΔX)4.561737804878+(X=216ΔX)4.3647560975612+(X=217ΔX)4.167774390244+(X=218ΔX)3.970792682927+(X=219ΔX)3.77381097561+(X=220ΔX)3.576829268293+(X=221ΔX)3.379847560976+(X=222ΔX)3.182865853659+(X=223ΔX)2.985884146341+(X=224ΔX)2.788902439024+(X=225ΔX)2.591920731707+(X=226ΔX)2.39493902439+(X=227ΔX)2.197957317073+(X=228ΔX)2.000975609756+(X=229ΔX)1.819146341463+(X=230ΔX)1.66762195122+(X=231ΔX)1.561554878049+(X=232ΔX)1.455487804878+(X=233ΔX)1.364573170732+(X=234ΔX)1.334268292683+(X=235ΔX)1.303963414634+(X=236ΔX)1.273658536585+(X=237ΔX)1.243353658537+(X=238ΔX)1.213048780488+(X=239ΔX)1.182743902439+(X=240ΔX)1.15243902439+(X=241ΔX)1.122134146341+(X=242ΔX)1.091829268293+(X=243ΔX)1.061524390244+(X=244ΔX)1.031219512195+(X=245ΔX)1.000914634146+(X=246ΔX)0.970609756097+(X=247ΔX)0.940304878049+(X=248ΔX)0.91+(X=249ΔX)0.879695121951+(X=250ΔX)0.849390243903+(X=251ΔX)0.819085365854+(X=252ΔX)0.788780487805+(X=253ΔX)0.758475609756+(X=254ΔX)0.728170731707+(X=255ΔX)0.713018292683+(X=256ΔX)0.697865853659+(X=257ΔX)0.682713414634+(X=258ΔX)0.66756097561+(X=259ΔX)0.652408536585+(X=260ΔX)0.637256097561+(X=261ΔX)0.622103658537+(X=262ΔX)0.394817073171+(X=263ΔX)0.167530487805+(X=264ΔX)0
Peux-tu expliquer les astuces qui t'ont permis d'atteindre un tel score ?
Show/Hide spoilerAfficher/Masquer le spoiler
Au départ, j'essayais simplement de traduire une liste de points cherchés à la main en une fonction ligne brisée afin d'obtenir une courbe potable, en passant notamment par le Canada (le passage à 2 pixels), directement sur calculatrice.

Ensuite, ayant appris que le Panama avait un passage sans rouge, j'ai écrit quelques programmes de bruteforce en Basic afin d'essayer rapidement des points et trouver comment y passer, et Ruadh a été assez sympathique pour m'indiquer qu'il fallait une certaine pente. Ceci sur CEmu afin de tester plus vite.
Une fois ce bruteforce effectué et une courbe à 2528 trouvée, j'ai pensé que quitte à écrire des bruteforces, autant en écrire un qui me donne toute la trajectoire. J'ai donc converti l'image du planisphère avec sourcecoder et écrit un programme C pour PC qui teste "tous" les Y possibles (évidemment sur un échantillon discret paramétrable avec un pas) pour tous les I possibles et qui renvoie le plus court chemin. Ruadh a aussi été d'une grande aide pour les corrections de ce programme, sur le calcul du coût (à traduire depuis le Basic) ou la "traduction en fonction" finale (j'ai longtemps pensé que mon bruteforce ne fonctionnait pas alors que c'était la traduction en fonction qui posait problème). Il y avait notamment un bug final qui n'a pas été corrigé avant l'envoi de la fonction qui faisait que le bruteforce trouvait un bon chemin mais n'arrivait pas à sortir une liste de points (problème de précision des float...). La fonction que j'ai envoyée provient donc d'un bruteforce de Ruadh, mon programme ayant un score inférieur de 0.5€ (le problème a été résolu ensuite, et de toute façon à 0.5€ près j'ai la même place au classement...).

Si ça vous intéresse aussi, le bruteforce ne tourne qu'en 5 minutes, pas plus. Il serait plus lent avec une précision supérieure mais cela semblait inutile (et il pourrait être amélioré mais j'ai la flemme).


1er, Ruadh nous décroche le gros lot avec 2574,4€.
La trajectoire est similaire à celle de Hayleia, mais avec à nouveau un assemblage de segments et donc une équation beaucoup plus courte.
La méthode de recherche utilisée est par contre visiblement beaucoup moins empirique que celle des concurrents, puisqu'il n'y a aucune approximation dans l'équation, juste des valeurs exactes.
En plus de la variable système ΔX, il utilise également la variable système ΔY également accessible via :f44: :f105: , et donnant cette fois-ci la distance séparant deux pixels consécutifs dans une même colonne.
Code: Select all
ΔY(157/142(X=ΔX)+(13/4/ΔXX-609/284)(X>ΔX et X≤5ΔX)+(12/7/ΔXX+5501/994)(X>5ΔX et X≤12ΔX)+(X/ΔX+2003/142)(X>12ΔX et X≤14ΔX)+(17/33/ΔXX+97907/4686)(X>14ΔX et X≤47ΔX)+(X/ΔX/2+1534/71)(X>47ΔX et X≤51ΔX)+(X/ΔX/13+79715/1846)(X>51ΔX et X≤77ΔX)+6973/142(X>77ΔX et X≤180ΔX)+(9841/71-X/2/ΔX)(X>180ΔX et X≤183ΔX)+(59431/710-X/5/ΔX)(X>183ΔX et X≤188ΔX)+6547/142(X>188ΔX et X≤191ΔX)+(10054/71-.5/ΔXX)(X>191ΔX et X≤193ΔX)+(74027/426-2/3/ΔXX)(X>193ΔX et X≤196ΔX)+(61785/142-2/ΔXX)(X>196ΔX et X≤198ΔX)+5411/142(X=199ΔX)+(76957/1278-X/ΔX/9)(X>199ΔX et X≤208ΔX)+(34805/142-X/ΔX)(X>208ΔX et X≤215ΔX)+(304695/994-9/7/ΔXX)(X>215ΔX et X≤229ΔX)+1577/142(X=230ΔX)+(70051/426-2/3/ΔXX)(X>230ΔX et X≤233ΔX)+(100817/1988-5/28X/ΔX)(X>233ΔX et X≤261ΔX)+(28088/71-3/2/ΔXX)(X>261ΔX et X≤263ΔX))-­11(X≥181ΔX et X≤183ΔX ou X=188ΔX ou X=198ΔX ou X=199ΔX ou X≥229ΔX et X≤233ΔX
Quel est ton secret ?
Show/Hide spoilerAfficher/Masquer le spoiler
J'ai travaillé uniquement en utilisant les pixels, en utilisant ΔX et ΔY. D'abord il a fallu trouver la trajectoire optimale, ce qui m'a pris un certain temps. Pour cela, je me suis aidé du programme du concours grâce auquel j'ai remarqué que seuls les pixel de départ et d'arrivé (et ceux directement en dessous) étaient importants (c'était en v3, ça a été modifié par la suite), on pouvait donc traverser la terre s'il y avait deux cases vides (eau) adjacentes ou diagonalement voisines. Cela autorisait à passer à deux endroits, au Canada et au Panama. Le Canada semble le passage qui réduit au maximum la distance et c'est donc celui que j'ai choisit d'emprunter.

J'ai ensuite cherché les coordonnées en pixels (plus simple car ce ne sont que des entiers naturels) pour lesquelles je doit changer la pente de la fonction. Je me suis ensuite servi du fait que le programme arrondit les pixels à l'entier le plus proche pour optimiser la trajectoire. J'ai ainsi pu ajouter ou enlever 0,5 à chaque ordonnée Y pour avoir la pente de chaque partie de la fonction la plus petite en valeur absolue. J'ai ensuite cherché les fonctions affines qui reliaient chacun de ces pixels, de la façon suivante (f(x)=a.(ΔY/ΔX).X+b une fonction affine utilisée pour X1⩽X⩽X2 , Y1=f(X1), Y2=f(X2) , X1,Y1,X2,Y2 sont en pixels) : a=-(Y2-Y1)/(X2-X1) et b=y1-a.(ΔY/ΔX).x1 . J'ajoute ensuite les valeurs (plus en pixels cette fois) minimale et maximale de X (X1.ΔX et X2.ΔX respectivement) ce qui donne : (a.(ΔY/ΔX).X+b)(X>X1.ΔX et X⩽X.ΔX).

Une fois cela fait, j'ai tout rassemblé en une unique fonction affine par morceaux simplement en ajoutant un plus (+) entre chaque fonction.




Nous tenons à remercier et féliciter tous les participants pour leurs recherches et productions très intéressante et pertinentes. :bj:
En effet le climat a évolué depuis l'époque de Jules Verne, et avec la fonte des glaces il est vrai que le grand nord canadien devient de plus en plus navigable et est donc un enjeu économique important.

Comme prévu, nous allons donc maintenant contacter dans l'ordre chaque gagnant, afin qu'il puisse choisir son lot.



Et à bientôt pour un futur concours ! ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby Wistaro » 09 Oct 2016, 20:55

Bravo à tous les participants !
Et merci l'équipe pour ce concours de qualité :)


Je suis néanmoins curieux de connaître les trajectoires de critor :)
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby critor » 09 Oct 2016, 21:02

Rappel en un même endroit des lots et des choix disponibles, pour que les gagnants puissent faire leur choix facilement. :)

  • Lot n°1 : 1 calculatrice TI-Nspire CX CAS + 1 sac TI + 1 pack de goodies TI + 1 compte Premium TI-Planet + 2 autocollants TI-Planet
  • Lot n°2 : 1 calculatrice TI-Nspire CX CAS + 1 T-shirt TI + 1 pack de goodies TI + 1 compte Premium TI-Planet + 2 autocollants TI-Planet
  • Lot n°3 : 1 calculatrice TI-83 Premium CE + 1 sac TI + 1 pack de goodies TI + 1 compte Premium TI-Planet + 2 autocollants TI-Planet
  • Lot n°4 : 1 calculatrice TI-83 Premium CE + 1 T-shirt TI + 1 pack de goodies TI + 1 compte Premium TI-Planet + 2 autocollants TI-Planet
  • Lot n°5 : 1 licence permanente logiciel TI-Nspire CX CAS étudiant compatible Windows et Mac+ 1 compte Premium TI-Planet
  • Lot n°6 : 1 licence permanente application TI-Nspire CX CAS compatible iPad + 1 compte Premium TI-Planet

7335Le sac TI des lots n°1 et 3 est à choisir sur le visuel ci-contre, dans la limite des stocks disponibles.

Le pack de goodies TI des lots n°1 à 4 se compose des éléments suivants, qui sont à choisir sur les visuels ci-après et dans la limite des stocks disponibles : 1 poster TI + 1 clé USB TI + 1 porte-documents TI + 1 stylo TI
7334 7378 7336 7377


7334Infos posters :
Les posters TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS TouchPad et TI-Nspire Touchpad peuvent, dans la limite des stocks disponibles, être pris en version simple ou bien en version double réversible :
  • d'un côté la TI-Nspire CX ou TI-Nspire CX CAS
  • de l'autre côté la TI-Nspire TouchPad ou TI-Nspire CAS TouchPad

7379Infos clés USB :
La clé TI-Primaire Plus est la seule à disposer d'une diode d'alimentation/utilisation.
Les capacités sont :
  • TI-Nspire CX CAS : 3,83Go ou 3,91Go (au choix dans la limite des stocks, comme d'hab)
  • grande TI-83 Premium CE : 3,74Go
  • petite TI-83 Premium CE : 1,85Go
  • TI-Primaire Plus : 3,92Go
  • clé T3 bleue : 1,86Go

7344Infos TI-83 Premium CE : L'emballage (et donc par conséquent la révision matérielle même si à notre connaissance ça n'a pas d'importance pour ce modèle) est au choix, comme d'hab dans la limite des stocks disponibles.
De gauche à droite :
  • emballage révision A (rentrée 2015)
  • emballage révision B (rentrée 2016)

7347Infos TI-Nspire CX CAS : L'emballage est ici encore au choix dans la limite des stocks disponibles, ce qui influe là encore sur la révision matérielle, mais cette fois-ci aussi sur la compatibilité.
De gauche à droite :
  • TI-Nspire CX CAS sous emballage d'exposition révision A (rentrée 2013)
    Révision matérielle probable J-N : ancienne batterie à fil Getac 1060mAh :(, incompatible Nlaunchy :(, version≤4.2, compatible Ndless si non mise à jour :), compatible nBoot+ControlX :)
  • TI-Nspire CX CAS sous emballage d'exposition révision C (rentrée 2015/2016)
    Révision matérielle probable O+ : nouvelle batterie sans fil Samsung 1200mAh :), incompatible Nlaunchy :(, version inconnue, compatibilité Ndless/nBoot+ControlX inconnue.
    A moins que TI n'ait de vieux stocks, je pencherais pour une révision matérielle W+ incompatible nBoot+ControlX mais je ne peux être certain sans ouvrir.
    Est-ce qu'elle est préchargée en OS 4.2 ou bien en 4.3 et donc incompatible avec Ndless, là encore rien n'est certain vu que la sortie de la version 4.3 est récente.
    La version d'OS peut toutefois être vérifiée en découpant une petite fente dans le plastique juste en face de la prise mini-USB. En même temps on peut connaître la version Boot1, et donc savoir si c'est une révision O-V ou bien W+. Faire cette verification ne me gêne pas si tous les gagnants n'ayant pas encore fait leur choix donnent leur accord au préalable.
  • TI-Nspire CX CAS sous emballage minimal dit "teacher pack"
    Révision matérielle au choix O, P ou T : nouvelle batterie sans fil Samsung 1200mAh :), incompatible Nlaunchy :(, version≤4.2, compatible Ndless si non mise à jour :), compatible nBoot+ControlX :)


En cas de doute, n'hésite pas à demander conseil ci-après. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby critor » 09 Oct 2016, 21:46

Wistaro wrote:Je suis néanmoins curieux de connaître les trajectoires de critor :)

Tu as la seule originale en début de news. :)

Les autres sont similaires à celles des gagnants, qui pour certains ont fait mieux. ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby critor » 09 Oct 2016, 22:23

Le lot n°1 est pris.

J'ai barré dans le post ce qui n'était plus dispo.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby cheuble » 10 Oct 2016, 09:34

Bravo à tout le monde!!!
User avatar
cheublePremium
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 80%
 
Posts: 4
Joined: 04 Sep 2016, 18:32
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère S-SI

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby critor » 10 Oct 2016, 11:07

Le lot n°2 est pris.
J'ai barré ce qui ne pouvait plus être choisi :
viewtopic.php?t=19112&p=208304#p208306
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby critor » 10 Oct 2016, 11:36

Cela ne change rien à date puisque personne n'en a encore choisi, mais j'ai remarqué hier qu'au milieu du lot j'avais une clé USB TI-83 Premium CE différente des autres :
73787379

Elle est plus petite, et sa capacité également - voir viewtopic.php?t=19112&p=208304#p208306 .
Bref les gagnants n'ayant pas encore fait leur choix pourront la prendre si ils veulent. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby critor » 10 Oct 2016, 11:40

Egalement trouvé hier en faisant les fonds de tiroirs, un 3ème modèle de stylo :
7377
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Résultats concours 2016 : le Tour du monde en 83 Premium

Unread postby GalacticPirate » 10 Oct 2016, 12:14

Je vais prendre le lot n°4 (celui du T-Shirt), avec la clé USB TI-Primaire Plus, le poster TI-83 PCE, et la TI-83 PCE révision B :)
Mon profil TI-PlanetDevenez premium !
ImageImage
Modérateur de TI-Planet.org depuis décembre 2015, et membre de la communauté depuis Mai 2015.Cliquez ci-dessus pour faire un don à TI-Planet.org via PayPal et devenir Donateur ou Premium (à partir de 3€) ! Vous aurez accès à des générations illimitées et prioritaires avec Mviewer GX Creator, ainsi qu'au forum secret ! :bj: En plus, vous pourrez être orange sur le chat :troll:

Image
User avatar
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 1.3%
 
Posts: 1156
Images: 2
Joined: 23 May 2015, 10:36
Location: Hauts-de-Seine, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: M2

Next

Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: ClaudeBot [spider] and 8 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
884 utilisateurs:
>862 invités
>15 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)