Probleme rencontré lors d'une mise à jour d'une Mint :
sudo apt update
sudo apt upgrade
J'obtiens le message suivant :
...
Après cette opération, 802 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n]
Extraction des modèles depuis les paquets : 100%
Préconfiguration des paquets...
dpkg: des problèmes de dépendances empêchent le traitement des actions différées pour libglib2.0-0:i386 :
libglib2.0-0:i386 dépend de libmount1 (>= 2.28) ; cependant :
Le paquet libmount1:i386 n'est pas encore configuré.
dpkg: erreur de traitement du paquet libglib2.0-0:i386 (--configure) :
problèmes de dépendances - actions différées non exécutées
dpkg: des problèmes de dépendances empêchent le traitement des actions différées pour libglib2.0-0:i386 :
libglib2.0-0:i386 dépend de libmount1 (>= 2.28) ; cependant :
Le paquet libmount1:i386 n'est pas encore configuré.
dpkg: erreur de traitement du paquet libglib2.0-0:i386 (--configure) :
problèmes de dépendances - actions différées non exécutées
dpkg: des problèmes de dépendances empêchent le traitement des actions différées pour libglib2.0-0:i386 :
libglib2.0-0:i386 dépend de libmount1 (>= 2.28) ; cependant :
Le paquet libmount1:i386 n'est pas encore configuré.
... // Le même bloc se répête
dpkg: erreur de traitement du paquet libglib2.0-0:i386 (--configure) :
problèmes de dépendances - actions différées non exécutées
dpkg: trop d'erreurs, arrêt
Des erreurs ont été rencontrées pendant l'exécution :
libglib2.0-0:i386
libglib2.0-0:i386
libglib2.0-0:i386
libglib2.0-0:i386
...
libglib2.0-0:i386
L'exécution a été arrêtée car il y avait trop d'erreurs.
E: Sub-process /usr/bin/dpkg returned an error code (1)
Solution trouvée dans ce post reddit (et expérimentée avec succès) :
sudo dpkg --configure -a
sudo apt --fix-broken install
sudo apt upgrade
Une IA est dotée d'un objectif à atteindre. Par sécurité, on la munie également d'un mécanisme d'arrêt d'urgence (symbolisé par un "gros bouton rouge" dans la vidéo).
Mise en situation : l'IA ne se comporte pas comme prévu. L'opérateur se précipite alors pour appuyer sur le gros bouton rouge.
Problème : l'IA sait qu'elle est munie d'un mécanisme d'arrêt d'urgence. Hors pour atteindre son objectif, elle a intérêt à ne pas laisser l'opérateur appuyer sur le gros bouton rouge, et va donc empêcher celui-ci d'y arriver par tous les moyens à sa disposition.
Il faut donc faire en sorte que l'IA accepte de se faire arrêter.
Solution : mettre en place un système de récompense.
Dans l'état actuel, l'atteinte de l'objectif est récompensée par 100 points, et l'activation du mécanisme d'arrêt d'urgence (le gros bouton rouge) est récompensée par 0 point. Ces valeurs ne conviennent pas car l'IA continuera de résister à l'appui sur le gros bouton rouge.
L'IA est donc programmée pour que les valeurs de ces deux récompenses soient égales. Ainsi, l'IA ne privilégiera pas une action plutôt que l'autre.
Problème : L'IA se met maintenant à appuyer elle-même immédiatement sur le gros bouton rouge, car la récompense étant la même que pour l'atteinte de l'objectif, le moindre effort l'emporte.
On ne peut pas non plus donner une récompense plus élevée à l'appui sur le gros bouton rouge par rapport à l'atteinte de l'objectif, car l'effet serait le même (par simple comparaison des récompenses cette fois).
Solution : faire en sorte que l'IA ne puisse pas elle-même appuyer sur le gros bouton rouge (en le mettant hors de sa portée, ou en trouvant un moyen de lui en interdire l'accès).
Problème : l'IA aura toujours à coeur soit d'appuyer sur le gros bouton rouge, soit de ne pas appuyer (pour atteindre l'objectif). Pour y parvenir, elle devra donc inclure l'opérateur dans son raisonnement, et en viendra à essayer de le manipuler afin qu'il effectue ou non l'action d'appuyer sur le bouton rouge.
Il serait alors impossible de se fier aux comportements de l'IA, car la poursuite de son objectif (appuyer ou non sur le bouton) relèverait d'une méthode dans laquelle la fin justifie les moyens.
Bon je m'arrête là pour ne pas gâcher le plaisir des curieux. De nombreuses pistes sont évoquées dans la vidéo (je n'ai résumé que les premières minutes). Et ce problème, bien que facilement descriptible dans ses hypothèses de départ, est bien plus complexe à traiter qu'il n'y paraît.
Note : j'ai particulièrement aimé la solution consistant à appliquer des patchs indéfiniment pour corriger les défauts de conception originels. C'est malheureusement souvent ce que l'on constate dans le développement ...
La suite est ici : General AI Won't Want You To Fix its Code - Computerphile
La troisième partie est là : Stop Button Solution? - Computerphile
J'ai rencontré ce problème ce soir.
En ouvrant IntelliJ, au moment du chargement du projet, j'ai la fenêtre de chargement du projet qui indique "Loading components" et qui bloque. En cliquant sur Cancel, le logiciel ne répond plus. Je suis alors obligé de tuer le processus (kill -9 XXXX).
Ce problème a fait l'objet de retours utilisateurs (par exemple ici ou là) depuis plusieurs mois, mais ne semble toujours pas corrigé.
Pour contourner ce problème, il est cependant possible de dire à l'IDE de ne pas charger automatiquement le dernier projet à l'ouverture. Ainsi, si c'est un projet en particulier qui pose un problème au chargement, l'utilisateur peut charger un autre projet, puis ouvrir le projet souhaité ensuite via l'interface.
Pour qu'IntelliJ ne charge pas automatiquement le dernier projet, il faut modifier sa configuration dans le fichier suivant :
.IntelliJIdea10/config/options/ide.general.xml
Pour trouver ce fichier selon votre OS, c'est par ici.
En ce qui me concerne, le fichier ressemble à ceci :
<application>
<component name="GeneralSettings">
<option name="confirmExit" value="false" />
<option name="confirmOpenNewProject2" value="1" />
<option name="showTipsOnStartup" value="false" />
</component>
</application>
Il faut simplement ajouter la lige suivante pour que le bloc ressemble à ceci :
<application>
<component name="GeneralSettings">
<option name="confirmExit" value="false" />
<option name="confirmOpenNewProject2" value="1" />
<option name="reopenLastProject" value="false" />
<option name="showTipsOnStartup" value="false" />
</component>
</application>
En attendant la correction qui va bien ...
Un petit remue méninges comme je les aime.