algorithmically define