Без заголовка
У человека в голове нейронная сетка, поэтому мы используем её особенности -- учим всему последовательно, понимая при этом, что нейронная сетка сама по себе обладает свойством генерализации.
Кратенько "как учить думать" в части базовых логических операций, поэлементно, цитируется на примере футбола и программирования тут: http://ailev.livejournal.com/1278600.html
А уж про уровни абстрации, иерархичность и т.д. -- этому мы учим.
И обратите внимание, мы учим не просто отдельным понятиям, но и связкам понятий: прокладываем между ними мостики -- а это и есть базовые операции мышления, мышлемы. После научения они будут проходить практически бессознательно, человек будет просто "видеть" и "чувствовать" результат.
А уж находить правильное решение, которое "логично" -- это нейронная сетка и сама сможет, если она натренирована перебирать не все возможные представления мира, а более-менее эффективные, привязанные к тщательно отобранным понятиям.
Собственно, это ничем не отличается от того, как учат думать в математике, или физике, или алгоритмике -- мы пытаемся просто это перенести на менее формальные предметы.