Een dergelijk slim programma die dingen kan doen die nooit door een mens zijn voorgeprogrammeerd, maakt gebruik van zogenaamde zelflerende algoritmes. Dat betekent dat het programma zelf aanpassingen kan maken in de output die het geeft op basis van wat het “leert” van eerdere interacties.