OpenAI et Basic...

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

OpenAI et Basic...

Message par Carl »

Sur OpenAI, je me suis amusé à lui demander qu'il code en Microsoft Basic, un jeu Tic tac toe...
Reste plus qu'à lui apprendre le Basic VG5000, Oric, EXL, Amstrad.... :roll:

Code : Tout sélectionner

10 REM Tic Tac Toe game in Microsoft Basic
20 REM Initialize the game board
30 DIM board(3,3)
40 FOR x = 1 TO 3
50 FOR y = 1 TO 3
60 board(x,y) = " "
70 NEXT y
80 NEXT x
90 REM Main game loop
100 FOR turn = 1 TO 9
110 PRINT "Tic Tac Toe"
120 PRINT "Turn: "; turn
130 PRINT "1 2 3"
140 FOR x = 1 TO 3
150 PRINT x;
160 FOR y = 1 TO 3
170 PRINT board(x,y);
180 NEXT y
190 PRINT
200 NEXT x
210 REM Get player input
220 INPUT "Enter row (1-3): ", row
230 INPUT "Enter column (1-3): ", col
240 REM Check for valid input
250 IF row < 1 OR row > 3 OR col < 1 OR col > 3 THEN 220
260 REM Check if the spot is already taken
270 IF board(row,col) <> " " THEN 220
280 REM Place the player's mark on the board
290 IF turn MOD 2 = 1 THEN board(row,col) = "X" ELSE board(row,col) = "O"
300 REM Check for a win
310 IF board(1,1) = board(1,2) AND board(1,2) = board(1,3) THEN PRINT "Player "; board(1,1); " wins!" : END
320 IF board(2,1) = board(2,2) AND board(2,2) = board(2,3) THEN PRINT "Player "; board(2,1); " wins!" : END
330 IF board(3,1) = board(3,2) AND board(3,2) = board(3,3) THEN PRINT "Player "; board(3,1); " wins!" : END
340 IF board(1,1) = board(2,1) AND board(2,1) = board(3,1) THEN PRINT "Player "; board(1,1); " wins!" : END
350 IF board(1,2) = board(2,2) AND board(2,2) = board(3,2) THEN PRINT "Player "; board(1,2); " wins!" : END
360 IF board(1,3) = board(2,3) AND board(2,3) = board(3,3) THEN PRINT "Player "; board(1,3); " wins!" : END
370 IF board(1,1) = board(2,2) AND board(2,2) = board(3,3) THEN PRINT "Player "; board(1,1); " wins!" : END
380 IF board(3,1) = board(2,2) AND board(2,2) = board(1,3) THEN PRINT "Player "; board(3,1); " wins!" : END
390 NEXT turn
400 PRINT "It's a tie!"

En ASM Z80

Code : Tout sélectionner

; Tic Tac Toe game for Z80

section .data
    board: db 0,0,0,0,0,0,0,0,0  ; Initialize the game board
    player: db 1  ; Keep track of which player's turn it is

section .text
    global _start

_start:
    ; Main game loop
    ld hl, board  ; Set HL to the start of the board
    call draw_board
    call get_input
    call check_win
    call switch_player
    jp _start

; Draw the current state of the board on the screen
draw_board:
    ld de, board  ; Set DE to the start of the board
    ld bc, 9      ; Set BC to the number of spaces on the board
    call print_board
    ret

; Get input from the player
get_input:
    call read_input
    ret

; Check if the game has been won
check_win:
    call check_rows
    call check_columns
    call check_diagonals
    ret

; Switch the current player
switch_player:
    ld a, player
    cp 1
    jr z, set_player_2
    ld a, 1
    jr set_player
set_player_2:
    ld a, 2
set_player:
    ld player, a
    ret

; Print the board
print_board:
    ; code to print the board
    ret

; Read input from the player
read_input:
    ; code to read input from the player
    ret

; Check rows for a win
check_rows:
    ; code to check rows for a win
    ret

; Check columns for a win
check_columns:
    ; code to check columns for a win
    ret

; Check diagonals for a win
check_diagonals:
    ; code to check diagonals for a win
    ret
Notez que ce code n'est qu'un squelette de programme, il manque les instructions pour afficher le plateau de jeu, récupérer les entrées utilisateurs, vérifier les victoires, etc.. Il est nécessaire d'utiliser des instructions spécifiques à la plateforme Z80 pour gérer les entrées/sorties, l'affichage et la mémoire pour pouvoir compléter le code et le rendre fonctionnel.
Carl
Avatar de l’utilisateur
dtrab31
Messages : 74
Inscription : 05 janv. 2023 21:29
Localisation : Tarn et Garonne

Re: OpenAI et Basic...

Message par dtrab31 »

C'est très intéressant :D je pensais pas que ChatGPT était capable de générer ce type de code
Fan de la programmation -- Expert en plantage linux/windows :)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: OpenAI et Basic...

Message par __sam__ »

On a joué à ca sur amiga-impact. Et en fait même si au début ca parait bluffant, en vrai il est mauvais, voire très mauvais car il ne comprends pas ce qu'il raconte et ne distingue pas le vrai du faux.

L'apparence de la GUI laisse croire à un truc intelligent qui raisonne et corrige ses erreurs. Mais en vrai il ne fait que prédire les mots suivants en fonction des précédents. Il sort les trucs les plus probables par rapport à ce qu'il a appris durant les phases d'apprentissage.

Alors si ce qu'on demande est un classique qu'on trouve dans la littérature informatique sur laquelle il a été formé il ne va pas avoir trop de problèmes pour produire un truc un peu censé (le truc le plus probable est dans les bouquins). Mais si on continue la discussion il va commencer à introduire des erreurs qu'ils ne corrigera pas, et au final il racontera des trucs totalement idiots.


Vous pouvez avoir confiance dans le code produit par une IA qui produit aussi ce genre de dialogues ?
SAM: Peux tu me parler des ordinateurs TO7/70 ?
IA: Les ordinateurs Thomson TO7/70 étaient des ordinateurs personnels vendus en France dans les années 1980. Ils étaient basés sur une architecture Z80 et utilisaient un système d'exploitation nommé OS9. Ils étaient populaires pour leur compatibilité avec les jeux vidéo et leur utilisation en éducation. Ils disposaient également d'une connectivité réseau pour permettre aux utilisateurs de partager des fichiers et des imprimantes.

SAM: Et le TO8 ?
IA: Le Thomson TO8 est un ordinateur personnel basé sur une architecture Motorola 68000, il a été commercialisé en France dans les années 1980. Il était plus puissant que le TO7/70 et disposait de plus de fonctionnalités. Il utilisait un système d'exploitation appelé TO8-DOS et était également compatible avec le système d'exploitation OS-9. Il disposait également d'une connectivité réseau pour permettre aux utilisateurs de partager des fichiers et des imprimantes. Il disposait d'un écran couleur intégré, d'une prise pour joystick et d'un lecteur de disquettes 3"1/2. Il était souvent utilisé pour les applications professionnelles et les jeux vidéo.

SAM: Le TO8 (68000) n'est donc pas compatible avec le TO7 (Z80)
IA: Le Thomson TO8 est effectivement basé sur une architecture différente de celle du TO7/70, qui est basé sur une architecture Z80. Le TO8 est équipé d'un processeur Motorola 68000, qui est plus puissant et plus moderne que le Z80 utilisé dans le TO7/70. De plus, le TO8 utilise un système d'exploitation différent, TOS, qui est plus avancé que OS9 utilisé par le TO7/70. En raison de ces différences dans les architectures et les systèmes d'exploitation, il est peu probable qu'un logiciel écrit pour le TO7/70 puisse être exécuté sur le TO8 sans modification importante. Il existait cependant des logiciels compatibles avec les deux ordinateurs.

SAM: Avec quel autre ordinateur le TO8 était-il compatible ?
IA: Le Thomson TO8 était compatible avec les ordinateurs de la famille Atari ST grâce à son processeur Motorola 68000, ces deux ordinateurs partageaient la même architecture de processeur et un système d'exploitation similaire (TOS). Cela a permis aux développeurs de créer des logiciels qui fonctionnaient sur les deux plates-formes, ce qui a augmenté la popularité des ordinateurs Thomson TO8. Les applications créées pour l'Atari ST pouvaient donc être facilement portées sur le TO8. Cependant, il est important de noter que bien que les deux ordinateurs soient compatibles au niveau de l'architecture, ils ont des spécifications matérielles différentes et des fonctionnalités propres, donc certains logiciels n'ont pas été totalement compatibles sans modification.
Bienvenu dans la réalité alternative...

Pour info, Stack-Exchange a banni les utilisateurs copiant/collant les réponses de ChatGPT car bien que bien écrites, assurées et renseignées, elles contenaient systématiquement des erreurs ou des conneries difficiles à détecter par le novice.

GPT est une technique très bien pour générer des histoires plausibles, faire des résumés de textes, mais pas vraiment pour résoudre des problèmes de maths (essayez lui les histoires de robinets et baignoires qui fuient), ou de programmation où il faut conceptualiser quelque chose et pas sortir le terme suivant le plus plausible en fonction du contexte, comme le font les élèves perdus à l'oral sortant des mots au hasard "sonnant comme il faut" alors l'examinateur leur soufflait la réponse.

Allez un dernier récent pour la route. Un prof de anglais lui pose des trucs correspondant au BAC de physique et au delà (1er cycle universitaire.)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: OpenAI et Basic...

Message par Carl »

Sam, laisse lui le temps d'apprendre... :roll: :wink:
Je viens d'apprendre qu'il me manque le VG5000 avec écran intégré, je suppose style N60 de Philips :wink:
Le VG5000 est un ordinateur personnel produit par la société Radiola-Telefunken (France) à la fin des années 1970. Il a été commercialisé avec succès en France, mais il n'a jamais été distribué à l'international. Il était équipé d'un processeur Z80 à 1,7 MHz et disposait d'une mémoire vive de 16 Ko. Il était livré avec un système d'exploitation propriétaire, un écran intégré de 12 pouces et un clavier à membrane.

A l'époque de sa sortie, le VG5000 était considéré comme un ordinateur personnel de milieu de gamme. Il était capable de gérer des tâches courantes telles que le traitement de texte, les calculs, les jeux et les graphismes simples. Cependant, il n'était pas aussi puissant que les ordinateurs professionnels de haut de gamme de l'époque. Il était également moins performant que ses concurrents comme l'Apple II ou le Commodore 64.

En résumé, le VG5000 était un ordinateur personnel de milieu de gamme pour l'époque, capable de gérer des tâches courantes mais pas aussi puissant que les ordinateurs professionnels de haut de gamme.


Quel est le meilleur émulateur MO5 ?

Il est difficile de dire quel est le "meilleur" émulateur MO5 car cela dépendra des besoins et des préférences de l'utilisateur. Voici quelques options populaires d'émulateurs MO5 qui pourraient être considérées:

MO5EMU: C'est un émulateur MO5 développé pour Windows qui prend en charge la plupart des caractéristiques de l'ordinateur original. Il inclut des fonctionnalités telles que la sauvegarde de l'état de la machine et la compatibilité avec les images de disquettes et les fichiers de sauvegarde.

MESS: C'est un projet open-source qui vise à émuler un grand nombre de systèmes informatiques différents. Il inclut un émulateur MO5 qui est considéré comme très complet et stable.

HxCEMU : C'est un émulateur MO5 qui prend en charge la plupart des caractéristiques de l'ordinateur original. Il est développé pour Windows et prend en charge les images de disquettes et les fichiers de sauvegarde.

Il est recommandé de télécharger et de tester plusieurs émulateurs MO5 pour trouver celui qui convient le mieux à vos besoins et préférences.
Carl
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: OpenAI et Basic...

Message par __sam__ »

Tu as raison, mais la version en-ligne n'apprends plus. Sa base d'apprentissage s'arrête à la fin 2020. Donc impossible pour lui de parler de choses qui se sont passés après. Pas étonnant qu'elle croie que le TO8 est compatible avec l'atari-st... heuuuu j'ai un doute.

Sinon ils vont pas tarder à mettre en vente GPT4-PRO avec une matrice de nombres (ce qu'ils appellent les paramètres) bien plus grosses. Je suis pas certain qu'on puisse lui fait plus confiance pour ne pas écrire plus de conneries. En tout cas il y a des gens qui étudient ses échecs pour voir s'ils se produisent avec les solutions concurrentes: https://github.com/giuven95/chatgpt-failures (c'est hilarant à lire)
Image
Image
Image
Dernière modification par __sam__ le 28 janv. 2023 18:55, modifié 2 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: OpenAI et Basic...

Message par Daniel »

On rejoint le fil de discussion de __sam__ sur le moteur de recherche de Google :
Quand on tape MO5EMU (le meilleur émulateur MO5 au monde) on n'obtient aucun résultat :mrgreen:
Pareil pour HxCEMU :wink:
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: OpenAI et Basic...

Message par Carl »

Daniel, DCMOTO m'ouvre toutes les portes de l'émulation Thomson... :roll:
gfm925al-unpack.jpg
gfm925al-unpack.jpg (146.11 Kio) Consulté 2959 fois
Carl
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: OpenAI et Basic...

Message par Carl »

aller retour à l'OpenAI, calcul de Pi en Basic avec la méthode de Monte Carlo...

Code : Tout sélectionner

' Déclaration des variables
DIM hits AS LONG, tries AS LONG
RANDOMIZE TIMER

' Boucle de calcul
DO
    tries = tries + 1
    x = RND()
    y = RND()
    IF x*x + y*y <= 1 THEN hits = hits + 1
    pi = 4 * hits / tries
    PRINT pi
LOOP UNTIL pi >= 3.14 AND pi <= 3.15

' Affichage du résultat
PRINT "Pi est égal à: "; pi
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: OpenAI et Basic...

Message par __sam__ »

Chat GPT connait DCMoto lui!
Capture.PNG
Capture.PNG (43.7 Kio) Consulté 2955 fois
Par contre il faut faire gaffe entre EmuMO5 et MO5Emu
Capture2.PNG
Capture2.PNG (50.17 Kio) Consulté 2955 fois
@Carl: En parlant de PI, demande lui "si la terre était de la taille d'une balle de tennis, quelle serait la taille du soleil?"
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: OpenAI et Basic...

Message par Carl »

Sam : c'est la taille règlementaire de la NBA ? :roll:
Si la Terre était de la taille d'une balle de tennis, le Soleil serait environ de la taille d'une balle de basket, soit environ 1 mètre de diamètre. Cela s'explique par le fait que le Soleil est environ 109 fois plus large que la Terre, et donc 109 fois plus volumineux.

Il est important de noter que cette comparaison est basée sur des dimensions relatives et n'est pas basée sur les dimensions réelles. Les distances réelles entre la Terre et le Soleil sont énormes et il est difficile de les représenter à l'échelle.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17423
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: OpenAI et Basic...

Message par fneck »

Je suis impressionné par les réponses de ChatGPT concernant les émulateurs Thomson :shock:
Je ne me suis pas (encore) inscrit mais mon fils l'a essayé et m'en a parlé aussi.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: OpenAI et Basic...

Message par __sam__ »

La balle de basket de 1m de large... humm

C'est l'IA de Trump ? #altfacts
Bon en même temps tout est plus grand en Amérique... Ou alors c'est une IA de Marseilles qui bloque le port avec une sardine.

@fneck moi je m'y connecte via google. Mais ne sois pas trop enthousiaste: ChatGPT soufre d'Alzheimer . Juste après sa réponse sur DCMoto je demande:
Capture.PNG
Capture.PNG (12.84 Kio) Consulté 2939 fois
Il n'a plus qu'une vague idée de ce qu'il a dit. (On voit bien les limites de son "modèle de langage" qui ne permet pas de capturer exactement ce qu'il a dit, ce qui explique les erreurs quand on prolonge la discussion initialement épatante).

Quand je vous dis qu'au bout d'un certain temps il perds les pédales:
Capture.PNG
Capture.PNG (26.24 Kio) Consulté 2927 fois
Totalement au fraises...
Capture.PNG
Capture.PNG (37.19 Kio) Consulté 2919 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: OpenAI et Basic...

Message par Daniel »

Carl a écrit : 28 janv. 2023 18:57 Daniel, DCMOTO m'ouvre toutes les portes...
Je connais bien DCMOTO. Quand j'ai baptisé l'émulateur je n'ai pas pris la peine de vérifier, mais le nom était déjà utilisé.

le Soleil est environ 109 fois plus large que la Terre, et donc 109 fois plus volumineux.
Oh :o Il ne sait pas calculer le volume d'une sphère.
Il y a assez de bêtise naturelle dans les réseaux sociaux, pourquoi y ajouter de la bêtise artificielle ?
A la limite c'est même dangereux, car je suis sûr que pas mal de gens ne noterons pas l'erreur grossière.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: OpenAI et Basic...

Message par Carl »

OpenAI se rattrape... :wink:
La relation entre le diamètre et le volume d'une sphère est donnée par la formule suivante :

Volume = (4/3) * π * (diamètre / 2)^3

On remarque que le diamètre est à la puissance 3 dans la formule de calcul de volume, cela signifie que si on augmente le diamètre de 1 fois, le volume augmentera de 1 fois * 1 fois * 1 fois = 1 fois soit 1 fois le volume original. Si on augmente le diamètre de 2 fois, le volume augmentera de 2 fois * 2 fois * 2 fois = 8 fois soit 8 fois le volume original.

En d'autres termes, le volume d'une sphère augmente plus rapidement que le diamètre. Il est important de noter que cette formule s'applique uniquement aux sphères et ne peut pas être utilisée pour des formes géométriques non-sphériques.
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: OpenAI et Basic...

Message par Zebulon »

Ma foi... 1 fois. CQFD
Répondre