#451 Le 10/01/2013, à 22:04
- Mindiell
Re : /* Topic des codeurs [8] */
@Elzen A noter : quand je poste un commentaire, par défaut en prévisualisation, il me charge une page et revient de suite à la page précédente. Si je poste pour de vrai : idem, mais ça à l'air d'être parti au bon endroit... Il y a donc un souci
@tous : Ayé ! J'ai une lib de résolution de problèmes de contraintes ! Mon parcours de l'arbre est pas mal optimisé, je suis assez content. Maintenant, il faut que je bosse un peu, mon algo de Force Brute (est vraiment un algo ? ) me résout le "send+more=money" en 12 minutes, la lib modèle pour mes comparaisons mets environ 0.04 secondes Mais la lib utilise un algo de BackTracking avec tri des variables en amont. Bref, je dois bosser sur ce solveur là maintenant
PS: Pour info, mon parcours d'arbre est environ 4 fois plus performant que la lib modèle hein... J'ai donc pas mal amélioré le truc (1 million de feuilles visistées en moins de 0.6 secondes). Bien entendu, ce sont les tests des contraintes qui ralentissent, et la ForceBrute est là uniquement pour les tests de base, pas pour résoudre de vrais problèmes
Hors ligne
#452 Le 10/01/2013, à 22:09
- The Uploader
Re : /* Topic des codeurs [8] */
@tous : Ayé ! J'ai une lib de résolution de problèmes de contraintes ! Mon parcours de l'arbre est pas mal optimisé, je suis assez content. Maintenant, il faut que je bosse un peu, mon algo de Force Brute (est vraiment un algo ? ) me résout le "send+more=money" en 12 minutes, la lib modèle pour mes comparaisons mets environ 0.04 secondes Mais la lib utilise un algo de BackTracking avec tri des variables en amont. Bref, je dois bosser sur ce solveur là maintenant
PS: Pour info, mon parcours d'arbre est environ 4 fois plus performant que la lib modèle hein... J'ai donc pas mal amélioré le truc (1 million de feuilles visistées en moins de 0.6 secondes). Bien entendu, ce sont les tests des contraintes qui ralentissent, et la ForceBrute est là uniquement pour les tests de base, pas pour résoudre de vrais problèmes
Nerd-gasm ! Dis m'en plus.
T’as postulé en SSII ou quoi oO ?
Ben c'est eux qui m'ont contacté pour tout dire. Agile, .NET, et Java, et le tout à Mérignac (donc accessible via le réseau TBC) ça avait l'air sympa.
Sinon oui, je pense que c’est jouable.
Je suis dans une ville plus petite que Bordeaux (genre 100 000 habitants de moins), y’a le tram + bus et j’ai pas de voiture (tant que je peux m’en passer, je m’en passerai bien…) et j’ai trouvé.
Donc oui, je pense que c’est faisable, après je connais pas Bordeaux plus que ça…
Merci ça me rassure. (t'man : ce que tu m'as dit aussi )
Ce qui est embêtant aussi c'est les recruteurs qui se concentrent uniquement sur le(s) langage(s) (surtout PHP... et Java... et PHP) alors que y'a 1 an et demi je connaissais pas du tout ni Ruby ni RoR, ni Redmine... Ça m'a pas empêché de pondre un plugin Redmine (et de le refactoriser à fond lors d'un deuxième stage dans la même boîte à la fin de mes études tout en faisant en sorte qu'il fonctionne mieux et soit plus stable et donne bien moins de fil à retordre pour être étendu et donner bien plus de fonctionnalités aux utilisateurs), de participer à l'écriture d'une application RoR 3, et de comprendre les concepts de Ruby...
J'veux dire les concepts derrière PHP et les frameworks PHP, c'est les même qu'ailleurs... Et le langage casse pas trois pattes à un canard est pas difficile à utiliser...
Dernière modification par The Uploader (Le 10/01/2013, à 22:24)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#453 Le 10/01/2013, à 22:11
- Mindiell
Re : /* Topic des codeurs [8] */
Tu veux savoir quoi ? T'as tout surligné
Et en plus j'ai trouvé un super nom !
@Elzen: j'ai réussi à m'abonner à tes flux, super
Dernière modification par Mindiell (Le 10/01/2013, à 22:12)
Hors ligne
#454 Le 10/01/2013, à 22:14
- Elzen
Re : /* Topic des codeurs [8] */
@Elzen A noter : quand je poste un commentaire, par défaut en prévisualisation, il me charge une page et revient de suite à la page précédente. Si je poste pour de vrai : idem, mais ça à l'air d'être parti au bon endroit... Il y a donc un souci
Eùh… plaît-il ?
Normalement, quand tu prévisualises un message, tu te retrouves sur une page avec une adresse différente (/preview.php), mais qui continue de t'afficher le contenu de la page précédente. Quand tu envoies directement le message, ça va vers cette page-là aussi, mais avec une redirection automatique vers la page d'origine (pour éviter que le navigateur garde la requête dans l'historique, et que tu renvoies une nouvelle fois le message en cliquant sur « précédent »).
Si tu actives le script d'envoi de réponses en arrière plan, le bouton d'envoi te laisse sur la même page, mais va chercher ta prévisualisation (ainsi que les éventuels posts arrivés entre temps) et te les affiches.
En tout cas, c'est ce que ça fait chez moi. Y a quoi qui coince, chez toi ? :s
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#455 Le 10/01/2013, à 22:15
- The Uploader
Re : /* Topic des codeurs [8] */
Bah c'est quoi par exemple un algo de backtraging ? Ça part de la fin ?
(bon l'article wikipedia est pas mal http://en.wikipedia.org/wiki/Backtracking mais c'est un wall of text un peu indigeste à première vue)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#456 Le 10/01/2013, à 22:29
- Mindiell
Re : /* Topic des codeurs [8] */
Ah, ok...
Un problèmes de contraintes, c'est un ensemble (fini c'est plus simple) de variables qui peuvent prendre un ensemble (fini aussi) de valeurs différentes. Pour solutionner le problème, on va définir des contraintes sur les valeurs des variables. L'exemple le plus connu est le sudoku. Tu as 9x9 variabels (cases à remplir) qui peuvent prendre les valeurs 1 à 9. Et les contraintes sont très simples : chaque ligne, chaque colonne, et chaque sous-matrice (3x3) doit avoir chacune des 9 valeurs disponibles et distinctes. En énonçant juste ces quelques lignes, tu as un problème.
Et avec une telle librairie, bah, tu lui fournis ces lignes et elle te trouve la(es) solution(s) toute seule !
Alors maintenant, il y a plein d'algos différents pour résoudre ça :
- Ce que j'appelle le Brute Force ne "réfléchis" pas, il essaye toutes les combinaisons. Pour le sudoku, tu remplis toutes les cases vides avec le chiffre 1 et tu vérifies les contraintes, celles-ci seront fausses, donc tu vas à la feuille suivante : toutes les cases vides à 1 sauf la dernière à 2, etc... Ca peut prendre beaucoup de temps
- Le BackTracking, lui, "réfléchis" : Il va d'abord mettre la première case à 1 et vérifier si c'est possible. Si non, il la passe à 2. Rien qu'en faisant ça, il a éliminer toutes les sous-possibilités où la première case valait 1, c'est à dire toute une branche de l'arbre. Avec le 2, ça fonctionne, il va donc descendre d'un niveau et tester la prochaine case. Cet algo parcourt et utilise tous les noeuds, pas que les feuilles.
Voilà, rien que ce deuxième algo est sympa, mais reste simple à implémenter. On peut encore rajouter un truc : la "propagation de contrainte".
Par exemple, la première case à 1 fonctionne. Dans ce cas là, avant même de passer à la case d'après, je vais aller visiter les domaines de toutes les variables situées sur la même ligne, sur la même colonne, et dans la même case et retirer 1, puisque ça irait à l'encontre de ma contrainte "Toutes les valeurs sont distinctes". Si chacun des domaines de valeur de chaque variable contient encore quelque chose, je peux continuer. Si un seul domaine est vide, on sait déjà que ce n'est pas la peine de continuer. C'est très très efficace
Au final, tu finis par visiter un arbre inconnu. On utilise alors généralement des algos parcourant des arbres dits infinis : l'arbre n'existe pas en mémoire, tu dois sauter de noeud en noeud. D'où l'intérêt de le parcourir sans perdre de temps, car ce qui compte c'est surtout les contraintes.
EDIT:
BackTracking, car il cherche et dès qu'il coince il revient à son statut précedent et passe à la suite
ForwardCheck, propagation de contraintes. Lorsque le domaine d'une variable est modifié, on le signale aux contraintes liées à cette variable afin qu'elles réduisent les domaines des autres variables impactées. Comme les domaines sont finis ainsi que le nombre de variables, cette propagation a une fin aussi
Dernière modification par Mindiell (Le 10/01/2013, à 22:35)
Hors ligne
#457 Le 10/01/2013, à 22:31
- Mindiell
Re : /* Topic des codeurs [8] */
En tout cas, c'est ce que ça fait chez moi. Y a quoi qui coince, chez toi ? :s
Bah quand je clique sur envoyer, il me charge une page (dans laquelle le nombre de messages est vide) où je prévisualise le message tapé. Mais il me renvoit presqu'aussitôt sur la page d'avant. C'est le "presque" qui m'a permis de taper "Esc" et de voir la page incriminée.
Hors ligne
#458 Le 10/01/2013, à 22:35
- The Uploader
Re : /* Topic des codeurs [8] */
@Mindiell : Merci beaucoup.
Ça peut être utilisé en IA ou je suis à côté de la plaque ?
Et avec une telle librairie, bah, tu lui fournis ces lignes et elle te trouve la(es) solution(s) toute seule !
Ah ben ça en est déjà alors.
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#459 Le 10/01/2013, à 22:37
- Mindiell
Re : /* Topic des codeurs [8] */
Oui, ça fait partie de l'IA. C'est surtout utilisé pour des problèmes d'ordonnancement, d'emploi du temps, etc...
Par exemple pour faire des conférences dans un lieu ayant s salles, avec c conférenciers, et sur un intervalle de temps t. En ajoutant les contraintes des conférenciers (j'arrive à telle heure, je suis là tel jour), tu peux ne pas perdre le restant de tes cheveux
Grosso modo, tu exposes ton problème, la machine te le résoud sans avoir à programmer la résolution.
Hors ligne
#460 Le 10/01/2013, à 22:43
- Elzen
Re : /* Topic des codeurs [8] */
Bah quand je clique sur envoyer, il me charge une page (dans laquelle le nombre de messages est vide) où je prévisualise le message tapé. Mais il me renvoit presqu'aussitôt sur la page d'avant. C'est le "presque" qui m'a permis de taper "Esc" et de voir la page incriminée.
Ùh ?
Tu pourrais faire des captures ? :s
Edit : ah, je crois que j'ai compris : je crois qu'il ne s'agit pas de chargement de page, mais de la fin des chargements des scripts. Le script de réponse doit faire disparaître la prévisualisation alors qu'il ne serait pas censé le faire à ce moment-là. Je vais vérifier ça.
Dernière modification par Elzen (Le 10/01/2013, à 22:51)
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#461 Le 10/01/2013, à 22:43
- The Uploader
Re : /* Topic des codeurs [8] */
Ça m'a l'air bien meilleure que ce que j'avais utilisé (système expert : les règles peuvent facilement se contredire quand elles sont complexes et à la fin le comportement attendu diffère grandement alors que t'as changé juste une seule condition dans une règle de base ou que tu as rajouté une seule règle qui te semblait simple mais pourtant repose sur une situation particulière...) la dernière fois que j'en ai fait.
Évidemment je ne pense pas que j'aurais pu utiliser la programmation par contrainte, vu que tout n'était pas connu de la part des agents que je codais (champ de perception limité, map trop grande et qui évolue trop vite...). Ce n'était pas un problème d'ordonnancement mais plus de stratégie d'équipe entre agents qui ont tous le même code mais qui communiquent entre eux (quand ils se voient).
Dernière modification par The Uploader (Le 10/01/2013, à 22:48)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#462 Le 10/01/2013, à 23:01
- Elzen
Re : /* Topic des codeurs [8] */
Edit : ah, je crois que j'ai compris : je crois qu'il ne s'agit pas de chargement de page, mais de la fin des chargements des scripts. Le script de réponse doit faire disparaître la prévisualisation alors qu'il ne serait pas censé le faire à ce moment-là. Je vais vérifier ça.
Il y avait effectivement un soucis dans le repérage de la page. Ça devrait être mieux.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#463 Le 10/01/2013, à 23:36
- Pylades
Re : /* Topic des codeurs [8] */
/me n’arrête pas de confondre The Uploader avec tshirtman, c’est insupportable…
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#464 Le 11/01/2013, à 00:25
- nathéo
Re : /* Topic des codeurs [8] */
Moi j'ai surtout tendance à le confondre avec kouskous...
C'est rarement par le sarcasme qu'on élève son âme.
Le jus de la vigne clarifie l'esprit et l'entendement.
De quoi souffres-tu ? De l'irréel intact dans le réel dévasté ?
La liberté n'est qu'un vain fantôme, quand une classe d'hommes peut affamer l'autre impunément. timezone[America/Bogota]
Hors ligne
#465 Le 11/01/2013, à 01:01
- HP
Re : /* Topic des codeurs [8] */
euh, le milieu des années 2000, c'est 2500 ?
Moi, comme beaucoup d'autres, je compte par dizaines…
comme quand on dit les années 60, 70, 80… donc, le milieu des années 00, c'est 04/06, à la louche.
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#466 Le 11/01/2013, à 02:24
- grim7reaper
Re : /* Topic des codeurs [8] */
grim7reaper a écrit :T’as postulé en SSII ou quoi oO ?
Ben c'est eux qui m'ont contacté pour tout dire. Agile, .NET, et Java, et le tout à Mérignac (donc accessible via le réseau TBC) ça avait l'air sympa.
Rien que le site me donne envie de me barrer en courant >_<.
Y’a tout ce que ja n’aime pas (des phrases dignes d’un pipotron, des sourire ultra-brite sorti d’une pub de dentifrice, etc.)
Mais sinon moi aussi j’avais été contacté par des trucs du genre (même par une boîte en Suisse et une autre en Belgique ^^).
Ce qui est embêtant aussi c'est les recruteurs qui se concentrent uniquement sur le(s) langage(s) (surtout PHP... et Java... et PHP)
Syndrome du recruteurs-grep :
Comme nous l'avons vu précédemment, certains recruteurs de SSII n'ont qu'une connaissance très réduite de l'informatique. Aussi, il se basent principalement sur les technologies apparaissant sur le CV pour "mettre en adéquation" (un terme dont les recruteurs raffolent, au même titre que "proactif", par exemple) les missions proposées par leurs clients avec le profil des candidats.
Ces recruteurs font donc à peu près le même travail que grep (mais avec moins d'options) puisqu'ils recherchent dans les CV les mots-clef qui se trouvent dans la description de poste. Tout comme Monsieur Jourdain faisait de la prose sans le savoir (dans Le Bourgeois Gentilhomme, de Molière), les recruteurs font le même travail que la commande grep d'Unix/linux.
Cependant, ce modèle a ses limites. En effet, pour un programmeur C++, la transition vers Java, par exemple, ne pose pas spécialement de problème (quand on sait manipuler des pointeurs, des références, des conteneurs standards... faire la même chose en Java n'est pas extrêmement dur. Il faut juste apprendre à maîtriser certains composants spécifiques au projet en question). Le problème, c'est que les "recruteurs qui utilisent grep" seront incapables de détecter le potentiels de certains candidats, parce dans leur CV n'apparait pas clairement la mention "Java" ou "J2EE".
C'est ce problème que l'on rencontre avec les recruteurs qui ne connaissent rien au métier de l'informatique. Pourtant il existe un principe en commerce qui dit que "un bon commercial doit bien connaître son produit". D'une manière générale, on ne vend pas des ingénieurs informaticiens comme on vend des aspirateurs...
Incompétence donc.
Hors ligne
#467 Le 11/01/2013, à 08:16
- Dr Le Rouge
Re : /* Topic des codeurs [8] */
@ grim : rhooooo, ça te fait pas envie ça ?
@ Mindiell : si tu veux de bonnes performances, tu peux transformer ton problème de contraintes en un problème SAT en introduisant (beaucoup) de nouvelles variables puis en appelant un SAT solver, genre minisat (il y a sûrement des lib en python pour faire ça).
J'ai écrit des programmes (en C++) pour résoudre des sudokus, des kakuros et des slither link comme ça, ça dépotait pas mal.
Dernière modification par Dr Le Rouge (Le 11/01/2013, à 08:17)
C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog
Hors ligne
#469 Le 11/01/2013, à 10:39
- Elzen
Re : /* Topic des codeurs [8] */
Perso, rien que le nom du groupe ne me donne pas envie ><
@ grim : rhooooo, ça te fait pas envie ça ?
La fille au bout me rappelle vaguement quelque chose… elle n'est pas apparue dans une « vraie » pub il y a quelques temps ?
Nous avons le savoir-faire et savons faire savoir les valeurs sérieuses sans se prendre au sérieux.
-_-"
Ah ouais, en effet, balaise.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#470 Le 11/01/2013, à 11:11
- The Uploader
Re : /* Topic des codeurs [8] */
Nous avons le savoir-faire et savons faire savoir les valeurs sérieuses sans se prendre au sérieux.
PurpleProse version marketing.
Dernière modification par The Uploader (Le 11/01/2013, à 11:12)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#471 Le 11/01/2013, à 11:40
- Pylades
Re : /* Topic des codeurs [8] */
Ah putain ! The Uploader nous dupe encore !
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#472 Le 11/01/2013, à 13:51
- Kanor
Re : /* Topic des codeurs [8] */
The Uploader
une piste pour ta recherche de boulot
http://lentreprise.lexpress.fr/recrutem … 35308.html
Hors ligne
#473 Le 11/01/2013, à 14:16
- Mindiell
Re : /* Topic des codeurs [8] */
The Uploader
une piste pour ta recherche de boulot
http://lentreprise.lexpress.fr/recrutem … 35308.html
Ouais, ben perso, les start-up je trouve ça aussi pourri que les SSII. Le fameux "esprit start-up" c'est juste pour te faire comprendre que tu vas rien gagner mais bosser jusqu'à 23h, alors leur baby-foot, ils peuvent se le mettre où je pense
Hors ligne
#475 Le 11/01/2013, à 18:04
- tshirtman
Re : /* Topic des codeurs [8] */
@mindiell: faut aimer, l'esprit start-up peut être réellement motivant, faut juste pas que ce soit ça quoi…
Hors ligne