Недостаток simulated annealing'а в том, что в холодном состоянии он становится таким же жадным, как скажем градиентный спуск. Это значит, что он за горячую фазу должен попасть в ту область, где локальный максимум будет решением задачи.
Генетика — не серебряная пуля, она безусловно медленнее, но она не жадная, что позволяет (и требует) использовать ее для задач с большим количеством локальных максимумов в пространстве решений.
За статью большое спасибо.
Я сравниваю не синтаксис, а семантику. Синтаксис в понимании кода играет небольшую роль, хотя если он не однозначный и не гомогенный, то это может значительно усложнить понимание.
>> выделить блоки в подметоды с выразительным названием и т.д.
То, что ты описываешь — не избыточность, а наоборот абсолютно правильный подход. Избыточность — это когда ты используешь цикл for с переменной для того чтобы пройтись по коллекции (то есть, вводишь лишние сущности: 1) эту самую переменную 2) вызов метод взятия элемента из коллекции по индексу). Или использовать одноразовый анонимный класс, чтобы передать куда-нибудь функцию как аргумент. И так далее.
Есть такая характеристика кода — «concise code». Это значит «давать много информации малым набором слов, быть кратким, но полным». Это совсем не значит писать магические однострочники, это значит лишать код лишних сущностей, которые не отвлекают от основной цели программы.
Scala по сравнению с Java — яркий пример увеличения «conciseness». При практически одинаковом подходе к программированию (в Scala все еще доминирует императивный ООП) в Scala-коде значительно меньше «шума».
Естественно, назойливые сообщения ни под каким видом не будут хорошим решением. Эта часть концепции на самом деле глупа и бессмысленна.
С другой стороны, если автор на странице донейта будет отчитываться о потраченных на проект часах и о количестве пожертвованных денег, все от этого только выиграют.
Огромное спасибо, особенно за виджет для awesome!
Перепробовал много разных вариантов, и xmodmap с периодическим чтением с xkb, и другие варианты, но всё как-то не усраивало… А тут всё замечательно!
Теперь же Microsoft выполнила свой моральный долг, обеспечив полную безопасность своей операционной системе
В 1995 году официально вышла новая версия Windows — Windows 95. На пресс-конференции, посвящённой её выходу, Билл Гейтс заявил, что с вирусной угрозой теперь покончено.
Такое — скорее всего исключено. Органическим организмам присущи ограничения, которые можно достаточно четко очертить. Другое дело — что «природа» не обязана ограничиваться лишь органическими конструкциями. То, что вы называете природой — это просто эволюция, и она волею случая по антропному принципу (или по какому-либо другому, до сих пор неизвестному) выбрала органические структуры как очередную ступень своего развития. С таким же успехом в далекой-далекой галактике эволюция могла начаться из обьединяющихся в структуры под воздействием какого-то явления атомов кремния. Вполне возможно, что такая же судьба ждет и нашу планету, а органика — всего лишь промежуточный этап.
Что я хотел донести — бессмысленно говорить, что «человек» не может создать ничего лучше «природы» (эволюции в даном контексте), ведь человек — это тоже звено эволюции.
Вполне следовало ожидать. Сначала музыкальные лейблы стали наезджать на Интернет из-за «недопереполученых прибылей». Потом очнулись безработные, но такие талантливые режисеры (http://habrahabr.ru/blogs/internet/106897/). Теперь в очередь к кормежке стали и операторы. Кто еще хочет поживиться во имя злобного интернета?
Генетика — не серебряная пуля, она безусловно медленнее, но она не жадная, что позволяет (и требует) использовать ее для задач с большим количеством локальных максимумов в пространстве решений.
За статью большое спасибо.
>> выделить блоки в подметоды с выразительным названием и т.д.
То, что ты описываешь — не избыточность, а наоборот абсолютно правильный подход. Избыточность — это когда ты используешь цикл for с переменной для того чтобы пройтись по коллекции (то есть, вводишь лишние сущности: 1) эту самую переменную 2) вызов метод взятия элемента из коллекции по индексу). Или использовать одноразовый анонимный класс, чтобы передать куда-нибудь функцию как аргумент. И так далее.
Scala по сравнению с Java — яркий пример увеличения «conciseness». При практически одинаковом подходе к программированию (в Scala все еще доминирует императивный ООП) в Scala-коде значительно меньше «шума».
С другой стороны, если автор на странице донейта будет отчитываться о потраченных на проект часах и о количестве пожертвованных денег, все от этого только выиграют.
clojure.pastebin.com/h8mZPzNS
(let [divides? (comp zero? rem)]
(println (map #(cond
(divides? % 3) «Fizz»
(divides? % 5) «Buzz»
(divides? % 15) «FizzBuzz»
:else %) (range 1 101))))
Перепробовал много разных вариантов, и xmodmap с периодическим чтением с xkb, и другие варианты, но всё как-то не усраивало… А тут всё замечательно!
В 1995 году официально вышла новая версия Windows — Windows 95. На пресс-конференции, посвящённой её выходу, Билл Гейтс заявил, что с вирусной угрозой теперь покончено.
Что я хотел донести — бессмысленно говорить, что «человек» не может создать ничего лучше «природы» (эволюции в даном контексте), ведь человек — это тоже звено эволюции.