Как то поднимал уже эту тему тут.
Я постоянно натыкаюсь на вещь, которая меня совершенно выводит из себя, просто бесит.
Это смешивание понятия алгоритма и машины.
Вот, в очередной раз натыкаюсь на это
smart-lab.ru/blog/470649.php
Человек — совокупность органических алгоритмов, отшлифованных естественным отбором на протяжении миллионов лет. Алгоритмические вычисления не зависят от материала, из которого сделан калькулятор.
От материала то может и не зависит, да и то спорно, но напрямую зависит от архитектуры человеческой машины, уж коль скоро мы рассматриваем человека чисто механистически.
Алгоритмом можно считать лишь некоторые детали, такие как последовательности ДНК/РНК в геноме клетки или вируса, и не более того. Работает все в совокупности, и не представляет из себя «алгоритм»
Некоторые считают что это просто терминологическая придирка(в том числе и в вышеприведенном топике) с моей стороны.
Давайте разберемся, сводится ли это к терминологии.
Возьмем классическую вычислительную модель: машину Тьюринга(Поста)
Машина имеет память в виде ленты, инструкцию, подаваемую на вход, и сам исполнительный механизм, который действует по определенным правилам.
Алгоритмом является только часть машины, изменяемая часть, которая подается на вход, в виде инструкции, при этом, принимает алгоритм именно эта машина, если подать его на вход другой машине, она просто его «прожует»
Что это значит? То что алгоритм не может ничего исполнять и вычислять, сам по себе, вне машины, вне исполнителя.
Нельзя выдавать часть вычислительного процесса под видом целого, под видом вычислительной системы. Понятие алгоритма неотделимо от машины исполняющей его. Одна и та же инструкция может исполняться на разных машинах по разному.
Когда мы что-то конструируем, мы не только разрабатываем алгоритм для машины, мы создаем и машину для алгоритма. Это важно.
И, ладно бы эту тупую «алгоритмическую» ахинею несли дилетанты, эта чушь сейчас сидит и в головах львиной доли инженеров, которые связаны с IT.
Несомненно, часть вины за это всеобщее безумие лежит на математическом образе мышления, который активно внедряется в IT, кстати говоря.
И хз, что это, сознательная политика отупления инженерных масс, или просто хаотичная деградация
Из-за этого бабского образа мышления программисты путают программные объекты с исходным текстом программы это уже приобрело характер эпидемии.
Но, можно свести к алгоритму, да. Попробовал, скорректировал, перешел к началу — вот алгоритм эвристики
Вначале, человеческая система либо эвристически вырабатывает алгоритм, либо получает его с учителем, затем исполняет непосредственно. Эвристика в человеческом поведении служит для выработки алгоритма
Тут, сейчас, в принципе невозможного ничего нет, нужно чтобы была мотивация. Из этой мотивации должна проистекать и задача.
Например, у примитивного животного организма всегда присутствует мотивация избегать боли, соответственно, он ставит на своем уровне такие задачи, в своем смысле. Память животного служит для фиксации алгоритма, который он нашел, решая эту задачу. Его поведение начинает подчиняться этому алгоритму. В этом и состоит его обучение. Хорошей иллюстрацией тут может служить условный рефлекс
придумали кучу способов абстрагировать машину испольнителя на разных уровнях: fortran, c99, lvm, jvm, verilog, ..., не говоря уже про всякую эмуляцию, при таком разнообразии проблемы машины исполнителя нет. В старые времена когда машиное время было дорого, машины разные и «писали» на перфокартах — с терминологий было лучше (из за того что машины были разные, и это было видно даже физически), но разве кто то хочет вернутся в те времена из за такой мелочи?..
Хорошо ли то, что программист перестал не только писать машины, но и осознавать, что он пишет код для машины? Я думаю, это не очень хорошо. Это плодит дебилов в IT, которые думают, что батоны на деревьях растут
кому важно «сблизится» с машиной теперь развлекается со всякого рода микроконтроллерами и ПЛИС-ами, кому всеравно — есть 1C и подобное. Это не ИТ-шники тупыми становятся, это входной порог в ИТ сильно упал совместно с ростом потребности в количестве. Ну разделение труда в ИТ произошло, как и во многих отраслях, не то что раньше купил компьютер-набор, спаял и запрограммировал :)
Вы же не хаете нынешних водятлов, за то что подавляющие большинство не то что движек теперь перебрать не может, дак еще просто не представляет как оно работает. А раньше вкладышы меняли на полуторках на обочине запросто.