1 заметка с тегом

симплекс-метод

Алгоритмы

Вот и у Макса Бурцева я нашёл подтверждение той же самой идеи, которую высказывал раньше: дети познают мир единственным доступным нам методом — методом проб и ошибок. Отличие “взрослых” от “детей” по факту лишь в том, что взрослые перестали учиться и забыли про этот метод. Так что нет никаких “взрослых” и “детей”, есть лишь взрослые дети. Но пост не о том.

Всякий программист, независимо от того, на какой Джаве он программирует, работает с одним и тем же набором алгоритмов — сортировка, поиск минимума, фильтр, мэп-редьюс и так далее. Некоторые при этом даже догадываются, что на уровне ассемблера все их прекрасные единороги, паттерны и прочий говнокод превращается в банальное “попытаться сделать А и, если получится, то пойти и сделать Б, а если не получится, то пойти и сделать В”. Ничего не напоминает? Но пост не о том.

Знаете, почему, как я предполагаю, скайп стал так мегапопулярен, и все на него перешли из аськи? Не из-за видеозвонков или голоса. Скайп был первый, кто добавил возможность исправлять ошибку в отправленном сообщении. Аська этого не умела. Но пост не о том.

Вспомните симплекс-метод и метод градиентного спуска. Это всё — банальный перебор. Симплекс-метод не зря так называется. Он называется так, потому что simple — это “простой”. Это просто самый простой метод. Хотя название тут врёт — это не метод, а алгоритм. И тут и кроется разница. Метод — это всего лишь статический список ваших возможностей для развития, тогда как алгоритм — это динамика. Это чёткая инструкция, как эту статику пошагово переводить в другую статику. Иными словами, алгоритм — это та выборка шагов из метода, которая прямо сейчас де факто таки работает и таки переводит систему из одного состояния в другое. И “симплекс-метод” правильнее называть “симплекс-алгоритм”. Но пост не о том, всё равно всё то, что я тут написал, поймёт всего 1% читателей :))

Так что любая программа, любой самый сложный распараллеленный софт на гламурной Скале или обычный вебсайтик на быдловордпрессе — по сути всего лишь большой-большой фрактал if-else-ов и ничего более. И только от самого программиста зависит, видит ли он самый верхний кусок или способен пройти сквозь фрактал внутрь него, а потом внутрь него и так далее сколько хватит силы.

Ну не умеем мы делать ничего другого, извините. Всё, что мы умеем, это ошибаться. И всё, как мы можем стать лучше — это ошибаться быстрее и точнее. Попытаться сделать А и, если получится, то пойти и сделать Б, а если не получится, то пойти и сделать В.