Académique Documents
Professionnel Documents
Culture Documents
L'intelligence artificielle peut être utilisée pour résoudre des problèmes de taquin
3x3 en utilisant des algorithmes de recherche, tels que l'algorithme A* ou
l'algorithme de recherche en profondeur d'abord. Ces algorithmes utilisent des
techniques de recherche heuristiques pour explorer efficacement l'espace des
solutions possibles, afin de trouver la solution la plus rapide et la plus efficace.
Les algorithmes de recherche peuvent être utilisés pour résoudre le taquin 3x3
dans un certain nombre de situations, telles que lorsque la grille est dans un état
initial aléatoire ou lorsqu'elle est arrangée de manière à être difficile à résoudre.
Cependant, ces algorithmes peuvent ne pas être efficaces pour résoudre des
configurations de taquin plus complexes ou pour des grilles de taille plus grande.
Dans l'ensemble, le taquin 3x3 est un bon exemple de la façon dont l'intelligence
artificielle peut être utilisée pour résoudre des problèmes de logique et de
résolution de problèmes.
1|Page
Travail demandé
Préparer une application pour la résolution du jeu taquin 3x3 basé sur les
algorithmes de recherche non informé (en largeur BFS, en profondeur DFS, ...)
Programme
from queue import Queue
class Node:
def init (self, state, parent, action):
self.state = state
self.parent = parent
self.action = action
if node.state == goal_state:
# on remonte l'arbre de recherche pour obtenir le chemin
parcouru
path = []
while node.parent is not None:
path.append(node.action)
node = node.parent
path.reverse()
return path
2|Page
if child_state is not None and child_state not in explored:
child_node = Node(child_state, node, action)
frontier.put(child_node)
if action == 'UP':
if index not in [0, 1, 2]:
state[index], state[index-3] = state[index-3], state[index]
return tuple(state)
else:
return None
if action == 'DOWN':
if index not in [6, 7, 8]:
state[index], state[index+3] = state[index+3], state[index]
return tuple(state)
else:
return None
if action == 'LEFT':
if index not in [0, 3, 6]:
state[index], state[index-1] = state[index-1], state[index]
return tuple(state)
else:
return None
if action == 'RIGHT':
if index not in [2, 5, 8]:
state[index], state[index+1] = state[index+1], state[index]
return tuple(state)
else:
return None
def print_puzzle(state):
for i in range(0, 9, 3):
print(state[i:i+3])
goal_state = (1, 2, 3, 4, 5, 6, 7, 8, 0)
if path is None:
print("Pas de solution trouvée.")
else:
print("Solution trouvée en", len(path), "étapes :")
print(path)
current_state = initial_state
3|Page
print("Puzzle après chaque étape :")
print_puzzle(current_state)
for action in path:
current_state = get_child(current_state, action)
print_puzzle(current_state)
Résultat
Entrer la valeur 1 : 1
Entrer la valeur 2 : 3
Entrer la valeur 3 : 5
Entrer la valeur 4 : 7
Entrer la valeur 5 : 0
Entrer la valeur 6 : 8
Entrer la valeur 7 : 6
Entrer la valeur 8 : 4
Entrer la valeur 9 : 2
taquin initial :
(1, 3, 5)
(7, 0, 8)
(6, 4, 2)
Solution trouvée en 14 étapes :
['DOWN', 'LEFT', 'UP', 'RIGHT', 'RIGHT', 'DOWN',
'LEFT', 'UP', 'RIGHT', 'UP', 'LEFT', 'DOWN',
'RIGHT', 'DOWN']
taquin après chaque étape :
(1, 3, 5)
(7, 0, 8)
(6, 4, 2)
(1, 3, 5)
(7, 4, 8)
(6, 0, 2)
(1, 3, 5)
(7, 4, 8)
(0, 6, 2)
(1, 3, 5)
(0, 4, 8)
(7, 6, 2)
(1, 3, 5)
(4, 0, 8)
(7, 6, 2)
(1, 3, 5)
(4, 8, 0)
(7, 6, 2)
4|Page
(1, 3, 5)
(4, 8, 2)
(7, 6, 0)
(1, 3, 5)
(4, 8, 2)
(7, 0, 6)
(1, 3, 5)
(4, 0, 2)
(7, 8, 6)
(1, 3, 5)
(4, 2, 0)
(7, 8, 6)
(1, 3, 0)
(4, 2, 5)
(7, 8, 6)
(1, 0, 3)
(4, 2, 5)
(7, 8, 6)
(1, 2, 3)
(4, 0, 5)
(7, 8, 6)
(1, 2, 3)
(4, 5, 0)
(7, 8, 6)
(1, 2, 3)
(4, 5, 6)
(7, 8, 0)
5|Page
Conclusion
En conclusion, la résolution de taquin 3x3 à l'aide de l'intelligence artificielle est possible en
utilisant des algorithmes de recherche tels que l'algorithme A* ou l'algorithme de recherche en
profondeur. Ces algorithmes utilisent des heuristiques pour évaluer la distance entre l'état
actuel du taquin et l'état final souhaité, et ils sont capables de trouver la solution optimale en
un temps raisonnable.
Cependant, il convient de noter que la résolution du taquin 3x3 est relativement simple et peut
être résolue efficacement avec des méthodes non-IA telles que l'algorithme de résolution de
taquin de Johnson & Story.
Néanmoins, l'utilisation de l'intelligence artificielle pour résoudre le taquin 3x3 peut être
bénéfique pour résoudre des taquins plus complexes, tels que des taquins de 4x4 ou plus. En
utilisant des techniques d'apprentissage automatique, l'IA peut apprendre à résoudre des taquins
plus complexes en utilisant des modèles de résolution préalablement appris.
En fin de compte, l'utilisation de l'intelligence artificielle pour résoudre des casse-têtes comme
le taquin 3x3 montre le potentiel de l'IA pour résoudre des problèmes complexes et apporter
des solutions efficaces et innovantes à divers problèmes.
6|Page