Тут на самом деле весь вопрос вот в чём, мышление это алгоритмизируемо или нет? - Если да. то теоретически можно запрогать (в сферическом вакууме), если нет - то нельзя. Как мы определяем что такое мышление - такой и ответ.
Если считать алгоритм - набором команд без памяти, то нет. Если программа+память, то да.