Page 1 of 1

IA

Unread postPosted: 07 Sep 2019, 15:12
by Azerpogba
bonjour a tous,
J'aimerais (edgar13 aussi) savoir comment faire une IA en ti basic
(j'ai déjà essayé mais j'ai pas réussit...) :D

Re: IA

Unread postPosted: 07 Sep 2019, 15:16
by edgar13
Je l'avais fait pour un morpion mais c'était un peu lent et je l'ai uploadé sans IA. :( :'(

Re: IA

Unread postPosted: 15 Apr 2021, 16:50
by Qayan
Ah 😂... J'ai eu du mal a comprendre, je ne sais pas je pense que la seule IA possible c'est l'aléatoire, mais c'est une question très intéressante

(Au début j'avais compris une IA type Jarvis dans Iron Man ça semblait ambitieux 😂)

Re: IA

Unread postPosted: 16 Apr 2021, 17:53
by Bobb
Étant donné qu'une IA est sensée apprendre de ses erreurs pour progresser, je pense que le Ti-Basic n'est pas très adapté pour ça.
Il y a plein de types d'IA différents, et tu dois déjà chercher quel type dont tu as besoin.
Ensuite je te conseille plutôt un langage récursif ou orienté objet comme le python.
Y a plein de sites sur les IA, tu peux chercher.
Et si tu veux faire une IA sur un morpion en python, tu peux réutiliser mon morpion que j'ai fait en python.
Aussi un lien si tu veux : https://kongakura.fr/article?id=Cr%C3%A ... au_morpion
Quel type d'IA veux tu faire ?

Re: IA

Unread postPosted: 27 Jun 2023, 16:45
by MonsieurMachine
En fait une IA peut être faite sous différentes formes, de l'aléatoire (c'est pas précis) ou Un System neuronal. Je t'invite à regarder cette vidéo sur YouTube :


Après que tu ai compris, voici un petit programme en python sans bibliotheque que tu pourras exploiter et modifier à ta guise pour créer ton IA :

Code: Select all
import math

def sigmoid(x):
    return 1 / (1 + math.exp(-x))

def train(weights_ih, weights_ho, inputs, targets, learning_rate):
    hidden = [0.0] * len(weights_ih[0])
    output = [0.0] * len(weights_ho[0])

    # Calcul de la couche cachée
    for i in range(len(hidden)):
        hidden[i] = sum(inputs[j] * weights_ih[j][i] for j in range(len(inputs)))
        hidden[i] = sigmoid(hidden[i])

    # Calcul de la sortie
    for i in range(len(output)):
        output[i] = sum(hidden[j] * weights_ho[j][i] for j in range(len(hidden)))
        output[i] = sigmoid(output[i])

    # Calcul de l'erreur de sortie
    output_errors = [targets[i] - output[i] for i in range(len(output))]

    # Calcul de l'erreur de la couche cachée
    hidden_errors = [sum(output_errors[j] * weights_ho[i][j] for j in range(len(output))) for i in range(len(hidden))]

    # Mise à jour des poids entre la couche d'entrée et la couche cachée
    for i in range(len(weights_ih)):
        for j in range(len(weights_ih[0])):
            weights_ih[i][j] += learning_rate * hidden_errors[j] * inputs[i] * (1 - inputs[i]) * hidden[j] * (1 - hidden[j])

    # Mise à jour des poids entre la couche cachée et la couche de sortie
    for i in range(len(weights_ho)):
        for j in range(len(weights_ho[0])):
            weights_ho[i][j] += learning_rate * output_errors[j] * hidden[i] * (1 - hidden[i]) * output[j] * (1 - output[j])

# Données d'entraînement
input_size = 784
hidden_size = 128
output_size = 10

weights_ih = [[0.0] * hidden_size for _ in range(input_size)]
weights_ho = [[0.0] * output_size for _ in range(hidden_size)]
inputs = [0.0] * input_size
targets = [0.0] * output_size

# Paramètres d'entraînement
max_iterations = 100
initial_learning_rate = 0.1

# Boucle d'entraînement
for iteration in range(max_iterations):
    learning_rate = initial_learning_rate / (iteration + 1)  # Ajustement du taux d'apprentissage

    train(weights_ih, weights_ho, inputs, targets, learning_rate)

    # Autres étapes d'entraînement...

# Étape de test
test_inputs = [0.0] * input_size
expected_outputs = [0.0] * output_size

# Appliquer les poids appris du réseau neuronal aux données de test
hidden = [0.0] * len(weights_ih[0])
output = [0.0] * len(weights_ho[0])

# Calcul de la couche cachée
for i in range(len(hidden)):
    hidden[i] = sum(test_inputs[j] * weights_ih[j][i] for j in range(len(test_inputs)))
    hidden[i] = sigmoid(hidden[i])

# Calcul de la sortie
for i in range(len(output)):
    output[i] = sum(hidden[j] * weights_ho[j][i] for j in range(len(hidden))
    output[i] = sigmoid(output[i])

print(output)

Re: IA

Unread postPosted: 27 Jun 2023, 20:29
by GRIFFON
Salut

J'ai voulu tester ton script mais il me mets une erreur au niveau du deuxième output :
Code: Select all
# Calcul de la sortie
for i in range(len(output)):
    output[i] = sum(hidden[j] * weights_ho[j][i] for j in range(len(hidden))
    output[i] = sigmoid(output[i])

Incompréensible

Re: IA

Unread postPosted: 27 Jun 2023, 20:37
by GRIFFON
euh désoler c'est bon c'était du a une ridicule parenthèse:
Code: Select all
# Calcul de la sortie
for i in range(len(output)):
    output[i] = sum(hidden[j] * weights_ho[j][i] for j in range(len(hidden)))
    output[i] = sigmoid(output[i])
print(output)

Re: IA

Unread postPosted: 28 Jun 2023, 12:06
by MonsieurMachine
Désolé pour l'erreur...

Re: IA

Unread postPosted: 11 Sep 2023, 13:44
by tiGEEK
a ben moi aussi j'ai besoin d'aide B-) je suis en train de faire un prog avec un genre d'ia dedans

https://tiplanet.org/forum/viewtopic.php?f=10&t=26365