Самоусъвършенстване на програмата е един от признаците за създаване на ИИ. Обаче... засега няма доказани данни, че някой го е постигнал(поне за цивилни нужди, за другите няма да ни кажат).
Колкото до генератора на случайни числа, принципът е съвсем прост. Единственото изискване, за да имаме случайност, е да не може да бъде предвидена изходната реакция на дадено входно въздействие. Най-простият начин е например такъв: бутон, който при натискане да генерира число. Управлението става от таймер, от който се вземат хилядните. Тъй като това е скорост, много по-голяма от възможната за проследяване от човека, натискащ бутона, то реакцията на системата ще е съвсем непридвидима-случайна. Повтаряемост е възможна, но не е предвидима.