Page 4 sur 4

Publié : lun. 05/déc./2005 15:34
par Frenchy Pilou
Pas mieux et même moins car ce coup là j'ai l'écran tout tout blanc! :x
Et mon truc est bien installé j'ai été ici pour le voir
http://www.java.com/fr/download/install ... ersion=5.1
J'ai reçu les felicitations, votre logiciel est parfaitement installé :)
Ah purée, c'est pénible :roll:
Il y a un boulon dans le yaourt !
J'ai maintenant the java 2 Plateform 1.5.0 (16 mégas au chargement)
Ces environnements sont soit fournis sous le nom de JRE (Java Runtime Environment), soit comme éléments d'un JDK (Java Development Kit), ou encore Java platform
c'est super clair :)
Bon c'est quoi ce JRE par rapport au truc intallé?.
Dans cette jungle il faut prendre quoi ? :)
http://java.sun.com/products/archive/index.html

Et ai-je besoin d'installer ce J2SDK pour lire ce foutu mini prog ?

je vois sur ce lien tous les défis Double Spirale, quaddrature du cercle, etc sauf celui des 250 !
http://labo.algo.free.fr/defi250/classement.php?id=1

Publié : lun. 05/déc./2005 17:30
par Frenchy Pilou

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Test</title></head>
<body>
 <html>
    <applet code="DisplayTsp.class" width=300 height=300>
       <param name="Problem" value="custom">
       <param name = CitiesPosX value =" 1;3;5;7;4;6;8;9;10;2">
       <param name = CitiesPosY value =" 4;8;7;2;1;3;5;6;10;9">
       <param name="Parcours" value="0-4-5-3-6-7-8-2-1-9">
    </applet>
    </html>
</body>
</html> 
Le DisplayTsp.class est dans le même répertoire que mon Test.Html
Résultat tout blanc, je n'ai plus mon carré gris de 300*300 !

Voilà ce que j'obtiens en lançant la console java !

Code : Tout sélectionner

Exception in thread "Thread-130" java.lang.IllegalArgumentException
	at sun.net.www.ParseUtil.decode(Unknown Source)
	at sun.net.www.protocol.file.Handler.openConnection(Unknown Source)
	at sun.net.www.protocol.file.Handler.openConnection(Unknown Source)
	at java.net.URL.openConnection(Unknown Source)
	at sun.applet.AppletPanel.getAccessControlContext(Unknown Source)
	at sun.applet.AppletPanel.getClassLoader(Unknown Source)
	at sun.applet.AppletPanel.createAppletThread(Unknown Source)
	at sun.applet.AppletPanel.init(Unknown Source)
	at sun.plugin.AppletViewer.createClassLoader(Unknown Source)
	at sun.plugin.AppletViewer.appletInit(Unknown Source)
	at sun.plugin.viewer.LifeCycleManager.initAppletPanel(Unknown Source)
	at sun.plugin.viewer.WNetscapePluginObject$Initer.run(Unknown Source)
Apparemment y connait pas la source et moi non plus :)

Publié : lun. 05/déc./2005 20:01
par Backup
au pire tu desinstall le JRE !!

moi je suis jamais arrivé a l'installer par telechargement ! :D
seulement a partir d'un CD de magazine ! :? (LOGIN)

Publié : mar. 06/déc./2005 0:17
par LeCyb
C'est chouette comme défi alors je me lance :)

Je vais commencer par les limites, il faut donc définir le "max" de la chose.

Pour connaître le nombre de combinaisons possibles avec 250 villes il "suffit" de calculer la factorielle de 250 (càd 250!).
Le nombre est hallucinant, il fait 493 chiffres de long.
Autant dire que faire chaque combinaison prendra du temps.

Pour calculer la distance d'un parcours on fait joujou avec pythagore, rien de complexe.
D'ailleurs ici il est relativement simple et pas trop coûteux en cpu de calculer toutes les segments entre deux points et les mettre dans une matrice (tableau en 2 dimensions). Il y a 250 points qui chacun peuvent être reliés à 249 autres points ce qui nous fait 62250 segments.

Il y aura des doubles (ex: 1->250 et 250->1) mais ce n'est qu'une histoire d'optimisation.

Le principe est donc de prendre la meilleure combinaison de ces 62250 valeurs.

LA question c'est de savoir si on peut définir facilement la distance la plus courte sans forcément connaître le chemin histoire de voir la pertinance de nos algorithmes.
La réponse est OUI, mais (ben vi) au plus le nombre de villes est grand au plus cela demandera de cpu et à l'heure actuelle quand on arrive avec des centaines ou milliers de villes cela prendrait des années.
Par contre il existe des algorithmes pour estimer la distance (heuristique, génétique etc...) mais cela reste des estimations même si on approche des 100% il y a toujours une possibilité qu'il y ait un chemin plus court.

Essayons de faire un algorithme "basique".
La forme extrême est le cercle, car si l'on prend tous les points d'un cercle on peut affirmer que le chemin le plus court est de "suivre" le cercle, ce qui donne son périmètre.
Si je prends 5 points sur le cercle, je peux affirmer que la meilleure méthode est de prendre le plus petit segment, puis le plus petit suivant etc... jusqu'au dernier.

Cet algorithme a une particularité, c'est de pouvoir connaître la distance "superminimale" (j'ai pas trouvé mieux désolé).
En gros, on peut affirmer que la distance à parcourir sera TOUJOURS plus grande que la somme du plus petit segment de chaque point.

J'illustre un peu:
En dessinant un hexagone parfait (6 côtés) on a 6 points (les coins) que l'on va numéroter de 1 à 6 dans le sens horlogique.
Maintenant si je prends le chemin 1-4-2-5-3-6 on voit clairement que ça ne sera pas le plus court. Par contre le chemin 1-2-3-4-5-6 a l'air d'être le plus court car c'est la forme du cercle.

Le problème c'est qu'on a pas un cercle ni une forme parfaite.

Mon idée d'algorithme pour résoudre ça :p

Je pense que le seul moyen d'être certain de résoudre (pas d'estimer) le défi c'est d'énumérer toutes les combinaisons faute de formule magique pour calculer la plus petite distance.
Je l'ai dit plus haut ça prendrait des années, par contre il y a moyen d'optimiser la chose.
Si je prends tous les plus grands segments je suis certain de ne pas avoir la plus courte (la distance hein :D).

Faisons l'inverse !

On va donc commencer avec la "superminimale" et on va regarder si tous les points sont dans notre calcul et si il n'y a pas de point en double.
Si tous les points sont dedans et pas de double on a trouvé, ce qui est peu probable dans le défi250.

Mantenant on change chaque segment par le second plus petit.
On check de nouveau les doubles et si tous les points y sont.

Enfin, on boucle en changeant un des segments par le suivant plus petit jusqu'à la fin.
On répète jusqu'à ce qu'on ait plus de doubles et que tous les points soient dedans.

Ce n'est probablement pas la méthode la plus optimisée mais c'est certainement la méthode qui permet d'être certain d'avoir la plus courte distance.

Voilà j'ai fini ma tartine :p

Publié : mar. 06/déc./2005 0:49
par Frenchy Pilou
Bonne chance ! :D
par contre pour le nombre de segment ?
http://villemin.gerard.free.fr/Calcul/S ... tm#segment
c'est pas plutôt (250*249)/2 = 31125 :)
En fait normal, ils sont tous comptés 2 fois (aller - retour)!

Sinon il me semble que ton Algo est celui-ci? :)
http://labo.algo.free.fr/pvc/algorithme ... isins.html


ps Cela est jouable pour peu de villes (ce defi); mais pour un million ?
:)

Publié : mar. 06/déc./2005 12:44
par lionel_om
J'ai pas regarder, mais c'est sans doute de Dijkstra que vous parler... ?!!

Publié : mar. 06/déc./2005 13:58
par Frenchy Pilou
Une applet qui marche elle :) le Recuit
http://www-sop.inria.fr/mefisto/java/tu ... ode18.html

Un article sympa sur le problème du Voyageur de Commerce
http://villemin.gerard.free.fr/LogForm/ ... m#solution
Ne pas aller sur le lien ' Le Problème du Voyageur de Commerce - applet complet' situé en bas de page Dixit Dobro !
(http://membres.lycos.fr/juhelp/java/ ) <--- celui-ci !! ne pas y aller !

Pour l'algo de Dijkstra, une application Hyper détaillée (enfin l'A*)
pour les créateurs de jeux de Stratégie Temps Réel
Le Pathfinding : algorithme de parcours ! (super fourni l'article!)
http://www.vieartificielle.com/article/?id=179

Publié : mar. 06/déc./2005 14:51
par Backup
ATTENTION le 2eme lien amene sur un virus ou cheval de troie !!!
(http://membres.lycos.fr/juhelp/java/ ) <--- celui-ci !! ne pas y aller !


"Contains signature of the exploits EXP/JS.PhpBB.A" !!!!

NE Cliquez pas sur le lien indiqué "Le recuit simulé" !!! (a gauche dans la page )

Merci Frenchy !! sur ce coup la t'assure pas ! :(

Publié : mar. 06/déc./2005 16:43
par Frenchy Pilou
Je le vire aussi sec !
Désolé !
Mon anti virus n'avais rien vu :?
En fait je n'avais pas cliqué sur ce lien dans la page!
Cela veut-il dire qu'il faut tester tous les liens apparaissant sur une page ?
Impossible!
Ah les vendeurs d'anti-virus ont encore de beaux jours devant eux !
A se demander si....

Publié : mar. 06/déc./2005 19:25
par Backup
A se demander si....
ne te le demande plus !! c'est sur !! Image

Publié : mar. 06/déc./2005 19:52
par Frenchy Pilou
Ici plein de parcours pour tester vos Algos !
Avec apparemment le circuit optimum et l'algo, le matos, la vitesse de résolution 8)
de 131 à 744 710 points 8O 8O 8O
http://www.tsp.gatech.edu//vlsi/index.html

Et ici même topo mais plus original!Lles points représentent la carte d'un pays !
Haute densité les points 8O
http://www.tsp.gatech.edu//world/countries.html