Обновить
64K+
97
Дмитрий Федорков@Fedorkov

Программист

81,7
Рейтинг
12
Подписчики
Отправить сообщение

Помешательство вокруг ИИ парализовало принятие решений

Время на прочтение19 мин
Охват и читатели100K

В последний год я лично занимался всеми нашими продажами, занимался техническими деталями почти всех наших проектов, и за всё время, что я веду этот блог [с начала 2023 года — прим. пер.] успел пообщался на тему своих статей где‑то с 300 людьми по всему миру — от спецов, решающих узкие технические задачи до гендиров компаний из списка Fortune 500. Так что я сижу в первых рядах и наблюдаю массовое помешательство по всему частному и государственному сектору; но при этом моё благополучие не зависит от личного участия во всём этом фарсе. Поэтому я решил написать эссе, в котором опишу эту бредовую социальную динамику и постараюсь морально поддержать тех, кто сейчас медленно сходит с ума, пытаясь выжить в ней.

Если вкратце, лица, принимающие решения, либо не строят конкретных планов на будущее, либо вообще не видят для себя вариантов кроме как не высовываться — будь то в банках, медицинских учреждениях, государственных органах или где‑то ещё. По всему миру руководство организациями захватили легковозбудимые граждане, писающиеся кипятком от восторга при любом упоминании ИИ, а их более уравновешенные коллеги вынуждены жить в постоянном страхе и фрустрации.

Читать далее

Zombies: The Movie

Время на прочтение4 мин
Охват и читатели8.1K

Военный штаб. За столом сидят несколько человек в офицерской форме. Во главе стола — командир базы генерал Фред, грузный мужчина с резкими чертами лица.


Генерал Фред: Сообщения подтвердились. Нью-Йорк заполонён… зомби.
Полковник Тодд: Опять?! Но у нас уже были зомби, 28 дней назад!
Генерал Фред: Эти зомби… они другие. Это философские зомби.

Читать дальше →

Почти во всех реализациях двоичного поиска и сортировки слиянием есть ошибка

Время на прочтение3 мин
Охват и читатели54K
Это перевод статьи Джошуа Блоха «Extra, Extra — Read All About It: Nearly All Binary Searches and Mergesorts are Broken» 2006 года.

Я живо помню первую лекцию Джона Бентли в университете Карнеги-Меллон, на которой он попросил нас, свежеиспечённых аспирантов, написать функцию двоичного поиска. Он взял одно из решений и разобрал его на доске, и, разумеется, в нём оказалась ошибка, как и во многих других наших попытках. Этот случай стал для меня наглядной демонстрацией к его книге «Жемчужины программирования». Мораль в том, чтобы внимательно расставлять инварианты в программе.

И вот, теперь 2006 год. Я был потрясён, узнав, что программа двоичного поиска, корректность которой Бентли доказывал формально и тестами, содержит ошибку. Не подумайте, что я придираюсь; по правде сказать, такая ошибка вполне может ускользать от тестеров десятилетиями. Более того, двоичный поиск, который я написал для JDK, тоже был багнутым лет девять. И только сейчас, когда она сломала кому-то программу, о ней сообщили в Sun.
Читать дальше →

Задача о ранце и код Грея

Время на прочтение4 мин
Охват и читатели42K
Не так давно на Хабре была статья «Коды Грея и задачи перебора». Статья эта скорее, математическая, нежели программистская, и мне, как простому программисту, читать её было невыносимо тяжело. Но сама тема мне знакома, поэтому я решил описать её своим взглядом, а так же рассказать о том, как использовал её в решении задачи о ранце.

image
КДПВ: задача о ранце на живом примере

Предыстория


Всё началось 10 лет назад, когда я учился в девятом классе. Я случайно подслушал разговор учителя по информатике, рассказывающего задачку кому-то из старших: дан набор чисел, и ещё одно число — контрольное. Надо найти максимальную сумму чисел из набора, которая не превышала бы контрольное число.

Задача почему-то запала мне в душу. Вернувшись домой, я быстро накатал решение: наивный перебор всех возможных сумм с выбором наилучшего. Сочетания я получал, перебирая все N-разрядные двоичные числа и беря суммы тех исходных чисел, которым соответствуют единицы. Но я с огорчением обнаружил, что при количестве элементов начиная где-то с 30, программа работает очень долго. Оно и не удивительно, ведь время работы такого алгоритма — n*2n (количество сочетаний, умноженное на длину суммы).
Чем же всё закончилось?

Информация

В рейтинге
90-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Зарегистрирован
Активность