Discuss Scratch

EtoileDuCode
Scratcher
100+ posts

Sujets Avancés

Y aurai-t il des personne intéressés par le concours : “ SD1 ( Scratch Division 1 ) ”, tous les renseignements sont dans le studio, voici ci-dessous le lien du studio. Si vous voulez en faire parti, demandez moi comme curateur ! Ciao

Studio : https://scratch.mit.edu/studios/50847408

C'était l'EtoileDansTonCode !
everwinner64
Scratcher
1000+ posts

Sujets Avancés

[Solution trouvée]

Last edited by everwinner64 (Sept. 20, 2025 17:25:46)

IMAG0
Scratcher
1000+ posts

Sujets Avancés

Mais pour créer ce site, tu auras forcémment besoin d'un serveur non ?
Ça m'apprendra à pas refresh avant de répondre

Last edited by IMAG0 (Sept. 20, 2025 17:28:48)

EtoileDuCode
Scratcher
100+ posts

Sujets Avancés

Désolé pour la pub.
borislasaucissebeige
Scratcher
100+ posts

Sujets Avancés

message supprimé

Last edited by borislasaucissebeige (Oct. 28, 2025 13:53:55)

everwinner64
Scratcher
1000+ posts

Sujets Avancés

Bonjour, depuis quelques jours, j’essaie de grandement augmenter la vitesse de réflexion de mon bot d’échec, sans pour autant dégrader son intelligence et ça réflexion (le bot est écrit en JS pur, fonctionne dans un web worker, et fonctionne avec un algo Minimax avec alpha-beta, MVV-LVA, et une table de transposition). Mon problème est que, qu’importe ce que je fait, il demeure terriblement lent avec une profondeur de 4, alors qu’il est plutôt rapide en profondeur 3. Mettre des systèmes comme quiescence search ou iterative deepening ne changent rien au problème de temps, ou bien y changent, mais rendent le bot plus bête. Savez vous ce qui peut généralement être responsable d’un tel comportement ? P.S : si vous avez besoin de bouts de codes pour vous faire une idée, n’hésitez pas à demander. Ou même, si vous avez des suggestions qui pourraient aider, je suis preneur.

Last edited by everwinner64 (Oct. 26, 2025 18:10:31)

wilhelm43
Scratcher
1000+ posts

Sujets Avancés

Il me semble qu'ababoin07 avait réalisé une IA d'échec sympathique mais il n'est plus actif sous ce nom.
everwinner64
Scratcher
1000+ posts

Sujets Avancés

Ok, j’irais voir s’il est actif sous un autre nom. Merci de la réponse !
Destructor_chess
Scratcher
100+ posts

Sujets Avancés

La question est comment m’as tu retrouvé … comme je tnai dit, je regarde ça demain lundi soir, et je te dis si je trouve quoi que ce soit. Et aussi si j’ai des pistes de speed up… (et oui, wilhelm, c’est moi, ababoin)
Destructor_chess
Scratcher
100+ posts

Sujets Avancés

Ah, pkay, j’avais missread, je croyais que tu parlais d’un bot scratch. En général, dans un bot d’échecs, le bug est vraiment terrible à trouver. Si tu ne m’envoies pas le code, je ne vais pas pouvoir le déboguer. Il est très probable que cela soit un bug dans TT ou je ne sais quoi. Jamais tu implémebtes TT avant q_search ou même avant iterative deepening en général… essaies au moins d’inclure sans TT tes améliorations, et voir si cela résoud les bugs, ce qui ne serait pas étonnant à mon avis. En fait, TT n’est jamais fiable à 100% même pour sf 17.1… donc bref… retiens que TT –> quand le moteur est déjà assez fort.
everwinner64
Scratcher
1000+ posts

Sujets Avancés

Destructor_chess wrote:

Ah, pkay, j’avais missread, je croyais que tu parlais d’un bot scratch. En général, dans un bot d’échecs, le bug est vraiment terrible à trouver. Si tu ne m’envoies pas le code, je ne vais pas pouvoir le déboguer. Il est très probable que cela soit un bug dans TT ou je ne sais quoi. Jamais tu implémebtes TT avant q_search ou même avant iterative deepening en général… essaies au moins d’inclure sans TT tes améliorations, et voir si cela résoud les bugs, ce qui ne serait pas étonnant à mon avis. En fait, TT n’est jamais fiable à 100% même pour sf 17.1… donc bref… retiens que TT –> quand le moteur est déjà assez fort.
Okay, okay. Je vais essayer sans TT. Merci !
Désolé si le fait d’avoir vu que j’ai mis TT avant le reste t’as rendu aveugle :lol:
Destructor_chess
Scratcher
100+ posts

Sujets Avancés

everwinner64 wrote:

Destructor_chess wrote:

Ah, pkay, j’avais missread, je croyais que tu parlais d’un bot scratch. En général, dans un bot d’échecs, le bug est vraiment terrible à trouver. Si tu ne m’envoies pas le code, je ne vais pas pouvoir le déboguer. Il est très probable que cela soit un bug dans TT ou je ne sais quoi. Jamais tu implémebtes TT avant q_search ou même avant iterative deepening en général… essaies au moins d’inclure sans TT tes améliorations, et voir si cela résoud les bugs, ce qui ne serait pas étonnant à mon avis. En fait, TT n’est jamais fiable à 100% même pour sf 17.1… donc bref… retiens que TT –> quand le moteur est déjà assez fort.
Okay, okay. Je vais essayer sans TT. Merci !
Désolé si le fait d’avoir vu que j’ai mis TT avant le reste t’as rendu aveugle :lol:
oui, TT est très connu comme introducteur de bugs
numeraptor49
Scratcher
50 posts

Sujets Avancés

Slt, j'ai une question : comment on créé un langage de programmation pur, sans être dépendant d'un autre langage ? (en gros, à partir du bitcode).
everwinner64
Scratcher
1000+ posts

Sujets Avancés

numeraptor49 wrote:

Slt, j'ai une question : comment on créé un langage de programmation pur, sans être dépendant d'un autre langage ? (en gros, à partir du bitcode).
Je te dirais qu’il faut soit y aller en langage machine, soit en asm (assembleur). Il faut concevoir son but, son paradigme, ça syntaxe, ça sémantique, ça grammaire, son compilateur/interpréteur, et plein d’autres choses… en bref, si t’as 10 ans à dépenser, c’est un très bon projet
numeraptor49
Scratcher
50 posts

Sujets Avancés

Ok, mais mon langage n'est pas du texte, il est, différent.
everwinner64
Scratcher
1000+ posts

Sujets Avancés

numeraptor49 wrote:

Ok, mais mon langage n'est pas du texte, il est, différent.
Si c’est pas du texte, alors c’est quoi ? Une base comme Scratch ? Quoi qu’il en soit, un langage est un langage tout comme une voiture est une voiture. Peut importe son model, il lui faut les mêmes éléments pour fonctionner. Donc je pense que mon précédent post reste valide

Last edited by everwinner64 (Oct. 31, 2025 14:35:44)

numeraptor49
Scratcher
50 posts

Sujets Avancés

everwinner64 wrote:

numeraptor49 wrote:

Ok, mais mon langage n'est pas du texte, il est, différent.
Si c’est pas du texte, alors c’est quoi ? Une base comme Scratch ? Quoi qu’il en soit, un langage est un langage tout comme une voiture est une voiture. Peut importe son model, il lui faut les mêmes éléments pour fonctionner. Donc je pense que mon précédent post reste valide
Oui, je ne dis pas le contraire ; mais il n'aura pas besoin de compilateur puisqu'il sera fondé lui même sur le bitcode : le langage source est le langage machine (oui ça paraît très bizarre). Le langage devra simplement comporter un moteur d'exécution et un éditeur/assembleur pour le confort humain, la conception.
IMAG0
Scratcher
1000+ posts

Sujets Avancés

everwinner64 wrote:

numeraptor49 wrote:

Slt, j'ai une question : comment on créé un langage de programmation pur, sans être dépendant d'un autre langage ? (en gros, à partir du bitcode).
Je te dirais qu’il faut soit y aller en langage machine, soit en asm (assembleur). Il faut concevoir son but, son paradigme, ça syntaxe, ça sémantique, ça grammaire, son compilateur/interpréteur, et plein d’autres choses… en bref, si t’as 10 ans à dépenser, c’est un très bon projet
Je me demandais, ça marche comment l'assembleur car je sais que c'est compliqué (disons que j'arrive pas bien à comprendre ce que font les scripts) et que j'aimerais bien savoir coder avec un peu.
concrètement :
section .data                                 ; Variables initialisées
Buffer: db 'Bonsoir', 10 ; En ascii, 10 = '\n'. La virgule sert à concaténer les chaines
BufferSize: equ $-Buffer ; Taille de la chaine

section .text ; Le code source est écrit dans cette section
global _start ; Définition de l'entrée du programme

_start: ; Entrée du programme

mov eax, 4 ; Appel de sys_write
mov ebx, 1 ; Sortie standard STDOUT
mov ecx, Buffer ; Chaine à afficher
mov edx, BufferSize ; Taille de la chaine
int 80h ; Interruption du kernel

mov eax, 1 ; Appel de sys_exit
mov ebx, 0 ; Code de retour
int 80h ; Interruption du kernel
Je comprends la moitié des commentaires.

Last edited by IMAG0 (Oct. 31, 2025 18:23:23)

everwinner64
Scratcher
1000+ posts

Sujets Avancés

IMAG0 wrote:

Je me demandais, ça marche comment l'assembleur car je sais que c'est compliqué (disons que j'arrive pas bien à comprendre ce que font les scripts) et que j'aimerais bien savoir coder avec un peu.
-snip-
Je comprends la moitié des commentaires.
Ce qu’il faut comprendre avec l’assembleur, c’est que c’est un langage terriblement proche du matériel, c’est quasiment du binaire, donc forcément très exigeant. Tu dialogues presque directement avec le processeur, mais ça implique de tout gérer toi-même : registres, mémoire, flux d’exécution… Et comme chaque architecture a son propre jeu d’instructions, un code écrit pour Intel ne fonctionnera pas sur ARM, par exemple.
Honnêtement, je ne suis pas expert de la programmation en asm. À part quelques instructions comme MOV, ADD, JMP, je suis vite largué. Mon conseil : si tu n’as pas déjà des bases solides en programmation, en architecture des ordinateurs, ou si tu n’as jamais touché à des langages comme le C++ (qui demande déjà une bonne gestion de la mémoire), évite de commencer par l’assembleur. C’est comme tout : ça s’apprend.

Last edited by everwinner64 (Oct. 31, 2025 18:55:50)

IMAG0
Scratcher
1000+ posts

Sujets Avancés

Non mais justement je veux “commencer” (même si j'ai des bases de python) par ça pour commencer au début, je veux pas forcément coder avec mais au moins comprendre. Je vais me renseigner sur le C++, merci de ton aide

Powered by DjangoBB