Продолжение. Начало тут 👆
Мы не можем добавлять всё больше и больше состояний наших пальцев, чтобы кодировать больше чисел - система потеряет надёжность и эффективность.
📉 Конфликт мощности и надёжности
В теории информации есть понятие эффективности кодирования. Это всегда компромисс между между информационной плотностью и надёжностью:
1️⃣ Информационная плотность: Мы хотим, чтобы каждый «символ» (палец) нес как можно больше данных.
2️⃣ Стоимость распознавания (шумоустойчивость): Получатель должен безошибочно отличать одно состояние от другого.
Попробуйте быстро показать другу число «три-четверти-согнутого-мизинца». Скорее всего, он вас не поймет. В системе с 2 состояниями разница между «да» и «нет» огромна. Ошибиться невозможно. В системе с 10 состояниями различие между ними становится мизерным.
Любое внешнее воздействие — дрогнувшая рука или спешка — превращает ваше сообщение в кашу непонятную для получателя сообщения.. Чтобы такая система работала, придется тратить колоссальные ресурсы на контроль ошибок.
📐 Золотая середина: f(k) = k^(1/k)
Математики нашли точку, где эти весы приходят в идеальное равновесие. Используется функция, сравнивающая выигрыш от количества состояний (k) с ценой их поддержания (1/k):
Если построить график этой функции, мы увидим, что сначала она резко растет, но после определенного момента сложность начинает «съедать» пользу. Пик этой кривой — математический идеал — приходится на число Эйлера: e ≈ 2,718
В физическом мире мы выбираем между целыми числами. Математически 3 ближе к идеалу, чем 2. Именно поэтому троичная логика считается самой эффективной, а БОЛЬШЕ 3 — НЕ ЗНАЧИТ ЛУЧШЕ.
⚛️ Универсальная математика компромиссов
Этот принцип управляет не только битами в современных компьютерах, но и много чем ещё:
В ядерной физике: Добавление частиц в ядро увеличивает энергию связи. Но с ростом массы начинает мешать электростатическое отталкивание. Итог — «железный пик» (ядра около железа самые стабильные). Все, что сложнее или проще, стремится к этому балансу.
В биологии: Крупные организмы эффективнее мелких в расходе энергии. Но бесконечно расти нельзя — кости не выдержат вес, а сердце не прокачает кровь. Природа всегда ищет точку, где размер дает преимущество, но не убивает систему.
В истории и бизнесе: Масштаб дает ресурсы, но порождает «комбинаторный взрыв» внутренних связей. Когда система растёт, её ресурсы увеличиваются линейно (больше территорий = больше налогов), а сложность внутренних связей растёт экспоненциально.
В маленькой группе информация передается мгновенно, но в гигантской империи она тонет в бюрократии.Когда количество чиновников и регламентов растёт быстрее, чем доходы от новых территорий, система переходит «точку e». Она начинает тратить всю свою энергию на обслуживание самой себя, теряет гибкость и в итоге рушится под собственным весом. Империи и корпорации-гиганты часто гибнут не от внешних ударов, а от неспособности справиться с собственной сложностью (конкретные примеры - Римская Империя, СССР и Nokia в своё время). .
✅ Итог: Математика пределов
Мир не стремится к бесконечности. Он стремится к точке идеального баланса.
Оптимальное решение почти никогда не лежит на краю шкалы. Оно всегда где-то посередине. Математика — это не просто цифры, это напоминание о границах возможного и искусстве вовремя остановиться.
В следующем сообщении мы продолжим эту тему и рассмотрим как пример крах плановой экономики в СССР попутно перейдя к алгоритмической сложности и проблеме тысячелетия #PvsNP.
@easy_about_complex
#Complexity #EulersNumber #InformationTheory
Мы не можем добавлять всё больше и больше состояний наших пальцев, чтобы кодировать больше чисел - система потеряет надёжность и эффективность.
📉 Конфликт мощности и надёжности
В теории информации есть понятие эффективности кодирования. Это всегда компромисс между между информационной плотностью и надёжностью:
1️⃣ Информационная плотность: Мы хотим, чтобы каждый «символ» (палец) нес как можно больше данных.
2️⃣ Стоимость распознавания (шумоустойчивость): Получатель должен безошибочно отличать одно состояние от другого.
Попробуйте быстро показать другу число «три-четверти-согнутого-мизинца». Скорее всего, он вас не поймет. В системе с 2 состояниями разница между «да» и «нет» огромна. Ошибиться невозможно. В системе с 10 состояниями различие между ними становится мизерным.
Любое внешнее воздействие — дрогнувшая рука или спешка — превращает ваше сообщение в кашу непонятную для получателя сообщения.. Чтобы такая система работала, придется тратить колоссальные ресурсы на контроль ошибок.
📐 Золотая середина: f(k) = k^(1/k)
Математики нашли точку, где эти весы приходят в идеальное равновесие. Используется функция, сравнивающая выигрыш от количества состояний (k) с ценой их поддержания (1/k):
f(k) = k^(1/k)
Если построить график этой функции, мы увидим, что сначала она резко растет, но после определенного момента сложность начинает «съедать» пользу. Пик этой кривой — математический идеал — приходится на число Эйлера: e ≈ 2,718
В физическом мире мы выбираем между целыми числами. Математически 3 ближе к идеалу, чем 2. Именно поэтому троичная логика считается самой эффективной, а БОЛЬШЕ 3 — НЕ ЗНАЧИТ ЛУЧШЕ.
⚛️ Универсальная математика компромиссов
Этот принцип управляет не только битами в современных компьютерах, но и много чем ещё:
В ядерной физике: Добавление частиц в ядро увеличивает энергию связи. Но с ростом массы начинает мешать электростатическое отталкивание. Итог — «железный пик» (ядра около железа самые стабильные). Все, что сложнее или проще, стремится к этому балансу.
В биологии: Крупные организмы эффективнее мелких в расходе энергии. Но бесконечно расти нельзя — кости не выдержат вес, а сердце не прокачает кровь. Природа всегда ищет точку, где размер дает преимущество, но не убивает систему.
В истории и бизнесе: Масштаб дает ресурсы, но порождает «комбинаторный взрыв» внутренних связей. Когда система растёт, её ресурсы увеличиваются линейно (больше территорий = больше налогов), а сложность внутренних связей растёт экспоненциально.
В маленькой группе информация передается мгновенно, но в гигантской империи она тонет в бюрократии.Когда количество чиновников и регламентов растёт быстрее, чем доходы от новых территорий, система переходит «точку e». Она начинает тратить всю свою энергию на обслуживание самой себя, теряет гибкость и в итоге рушится под собственным весом. Империи и корпорации-гиганты часто гибнут не от внешних ударов, а от неспособности справиться с собственной сложностью (конкретные примеры - Римская Империя, СССР и Nokia в своё время). .
✅ Итог: Математика пределов
Мир не стремится к бесконечности. Он стремится к точке идеального баланса.
Оптимальное решение почти никогда не лежит на краю шкалы. Оно всегда где-то посередине. Математика — это не просто цифры, это напоминание о границах возможного и искусстве вовремя остановиться.
В следующем сообщении мы продолжим эту тему и рассмотрим как пример крах плановой экономики в СССР попутно перейдя к алгоритмической сложности и проблеме тысячелетия #PvsNP.
@easy_about_complex
#Complexity #EulersNumber #InformationTheory
Telegram
Истории (не)успеха (ИИ)ЕИ
🏛 Информационная сложность на пальцах: почему больше — не значит лучше
От двоичного счета до падения империй — ищем универсальную «Золотую середину» Вселенной.
Помните прикол: сколько чисел можно показать на пальцах двух рук? 🤔
Обычный человек скажет:…
От двоичного счета до падения империй — ищем универсальную «Золотую середину» Вселенной.
Помните прикол: сколько чисел можно показать на пальцах двух рук? 🤔
Обычный человек скажет:…
👍5❤4
🏛 Алгоритм распада: СССР сквозь призму теории сложности
В предыдущем посте мы выяснили, что на пальцах двух рук можно досчитать до 1024, а не только до десяти, и что число e ≈ 2,718 — это не просто константа из учебника, а жесткий предел эффективности любой системы.
Математика неумолима: как только количество связей внутри системы растет, цена контроля и риск ошибки взлетают до небес. Но что будет, если применить эти сухие законы теории информации к масштабу огромной страны?
История СССР — это, пожалуй, самый масштабный в истории человечества «краш-тест» системы, которая попыталась проигнорировать законы вычислительной сложности.
Почему Советский Союз не смог пережить информационную эпоху? Мы привыкли винить падение цен на нефть, гонку вооружений или «предательство элит».
Все это наверняка имело место, но в фундаменте катастрофы лежала глубокая математическая драма: советская система управления столкнулась с задачами такой сложности, которые физически невозможно решить из единого центра.
Продолжение 👇
В предыдущем посте мы выяснили, что на пальцах двух рук можно досчитать до 1024, а не только до десяти, и что число e ≈ 2,718 — это не просто константа из учебника, а жесткий предел эффективности любой системы.
Математика неумолима: как только количество связей внутри системы растет, цена контроля и риск ошибки взлетают до небес. Но что будет, если применить эти сухие законы теории информации к масштабу огромной страны?
История СССР — это, пожалуй, самый масштабный в истории человечества «краш-тест» системы, которая попыталась проигнорировать законы вычислительной сложности.
Почему Советский Союз не смог пережить информационную эпоху? Мы привыкли винить падение цен на нефть, гонку вооружений или «предательство элит».
Все это наверняка имело место, но в фундаменте катастрофы лежала глубокая математическая драма: советская система управления столкнулась с задачами такой сложности, которые физически невозможно решить из единого центра.
Продолжение 👇
🤡5🔥4👍1
Продолжение. Начало тут 👆
1. Проклятие размерности и P vs NP 🧩
Если 1920-е годы экономика была «линейной» и достаточно было контролировать десяток базовых отраслей (уголь, сталь, зерно), чтобы страна работала, то к 1970-м годам в СССР производилось n = 25 000 000 наименований изделий. Математически это не просто список, а граф, где узлы — это товары, а ребра — связи между ними: чтобы выпустить один подшипник, нужен металл, смазка, энергия, станки. Каждый из n товаров зависит от множества других. Количество прямых и косвенных связей в такой сети растет как n². Для советской экономики это 625 триллионов связей.
Связи нелинейны: изменение цены на электроэнергию в Иркутске по длинной цепочке графа меняет себестоимость хлеба в Ташкенте и добычи никеля в Норильске. Изменение в одном узле (например, засуха на юге или авария на шахте в Норильске) по цепочке рикошетит по всей системе, требуя пересчета миллионов других параметров.
Но настоящая катастрофа — в вычислительной сложности. Здесь мы упираемся в главную проблему информатики: P vs NP.
Есть два класса сложности вычислительных задач:
🔹Класс P: Задачи, которые компьютер решает быстро. Если у нас есть готовый план, мы можем за «разумное» время посчитать, сколько ресурсов на него уйдет. Это полиномиальная сложность.
🔹Класс NP: Задачи, где мы можем быстро проверить правильность решения, если нам его дадут, но найти его с нуля невероятно сложно.
Глобальная оптимизация экономики (поиск самого лучшего плана из всех возможных) — это NP-трудная задача. Математически это означает, что не существует (или пока не найдено) алгоритма, который нашел бы идеальное распределение ресурсов быстрее, чем за экспоненциальное время, т.е. существенно быстрее чем за время 2ⁿ.
При n = 25 000 000 Госплану потребовалось бы время, превышающее возраст мироздания . Это и есть комбинаторный взрыв: система «зависает», пытаясь произвести вычисления такого объёма ⏳.
В чём секрет успеха рыночной экономики по сравнению с плановой?
Госплан пытался централизованно решить одну гигантскую NP-трудную задачу, стремясь к глобальному оптимуму, что в принципе требует перебора пространства порядка 2ⁿ вариантов. Рыночная же экономикa работает иначе и представляет из себя децентрализованный эвристический алгоритм, который не ищет недостижимый «абсолютный идеал», а находит достаточно хорошие решения через миллиарды локальных взаимодействий ⚙️ В результате глобальная NP-трудная задача фактически распадается на множество распределённых подзадач, которые решаются параллельно «на лету» 🚀 Там, где плановая система пыталась всё просчитать заранее, рынок просто адаптивно вычисляет состояние экономики в реальном времени.
Я, конечно, несколько упрощаю, в политбюро тоже не совсем дураки сидели. Hа самом деле ситуация несколько сложнее.
Но давайте разбираться дальше, и с экономикой, и с математикой...
2. Ловушка выбора: Почему нельзя «дать всем всё»? ⚖️
Часто спрашивают: «Почему бы просто не дать каждому заводу столько ресурсов, сколько ему нужно?». Математика и экономика отвечают: потому что ресурс — это всегда выбор.
🛑 Дефицит альтернатив: Если вы отдадите всю сталь на тракторы, вам не из чего будет строить корабли. Ресурсы (энергия, материалы, рабочее время) всегда ограничены. Дать одному — значит забрать у другого. Это игра с нулевой суммой в рамках ресурсов планеты.
🛑 Информационная энтропия: Без рыночного сигнала (цены) у потребителя нет стимула экономить. Каждый директор завода будет требовать ресурсов «с запасом» на случай сбоев. В итоге потребности системы мгновенно раздуваются до бесконечности, создавая фиктивный дефицит.
🛑 Альтернативная стоимость (Opportunity Cost): Нужно ежесекундно решать, где тонна алюминия принесет больше пользы — в кастрюлях или в крыльях самолета? Чтобы ответить на это для 25 миллионов товаров, нужно учесть весь граф связей одновременно.
Именно здесь возникает критическая точка невозврата, где математическая сложность экономики окончательно переросла возможности управляющего субъекта (Госплана).
Продолжение👇
1. Проклятие размерности и P vs NP 🧩
Если 1920-е годы экономика была «линейной» и достаточно было контролировать десяток базовых отраслей (уголь, сталь, зерно), чтобы страна работала, то к 1970-м годам в СССР производилось n = 25 000 000 наименований изделий. Математически это не просто список, а граф, где узлы — это товары, а ребра — связи между ними: чтобы выпустить один подшипник, нужен металл, смазка, энергия, станки. Каждый из n товаров зависит от множества других. Количество прямых и косвенных связей в такой сети растет как n². Для советской экономики это 625 триллионов связей.
Связи нелинейны: изменение цены на электроэнергию в Иркутске по длинной цепочке графа меняет себестоимость хлеба в Ташкенте и добычи никеля в Норильске. Изменение в одном узле (например, засуха на юге или авария на шахте в Норильске) по цепочке рикошетит по всей системе, требуя пересчета миллионов других параметров.
Но настоящая катастрофа — в вычислительной сложности. Здесь мы упираемся в главную проблему информатики: P vs NP.
Есть два класса сложности вычислительных задач:
🔹Класс P: Задачи, которые компьютер решает быстро. Если у нас есть готовый план, мы можем за «разумное» время посчитать, сколько ресурсов на него уйдет. Это полиномиальная сложность.
🔹Класс NP: Задачи, где мы можем быстро проверить правильность решения, если нам его дадут, но найти его с нуля невероятно сложно.
Глобальная оптимизация экономики (поиск самого лучшего плана из всех возможных) — это NP-трудная задача. Математически это означает, что не существует (или пока не найдено) алгоритма, который нашел бы идеальное распределение ресурсов быстрее, чем за экспоненциальное время, т.е. существенно быстрее чем за время 2ⁿ.
При n = 25 000 000 Госплану потребовалось бы время, превышающее возраст мироздания . Это и есть комбинаторный взрыв: система «зависает», пытаясь произвести вычисления такого объёма ⏳.
В чём секрет успеха рыночной экономики по сравнению с плановой?
Госплан пытался централизованно решить одну гигантскую NP-трудную задачу, стремясь к глобальному оптимуму, что в принципе требует перебора пространства порядка 2ⁿ вариантов. Рыночная же экономикa работает иначе и представляет из себя децентрализованный эвристический алгоритм, который не ищет недостижимый «абсолютный идеал», а находит достаточно хорошие решения через миллиарды локальных взаимодействий ⚙️ В результате глобальная NP-трудная задача фактически распадается на множество распределённых подзадач, которые решаются параллельно «на лету» 🚀 Там, где плановая система пыталась всё просчитать заранее, рынок просто адаптивно вычисляет состояние экономики в реальном времени.
Я, конечно, несколько упрощаю, в политбюро тоже не совсем дураки сидели. Hа самом деле ситуация несколько сложнее.
Но давайте разбираться дальше, и с экономикой, и с математикой...
2. Ловушка выбора: Почему нельзя «дать всем всё»? ⚖️
Часто спрашивают: «Почему бы просто не дать каждому заводу столько ресурсов, сколько ему нужно?». Математика и экономика отвечают: потому что ресурс — это всегда выбор.
🛑 Дефицит альтернатив: Если вы отдадите всю сталь на тракторы, вам не из чего будет строить корабли. Ресурсы (энергия, материалы, рабочее время) всегда ограничены. Дать одному — значит забрать у другого. Это игра с нулевой суммой в рамках ресурсов планеты.
🛑 Информационная энтропия: Без рыночного сигнала (цены) у потребителя нет стимула экономить. Каждый директор завода будет требовать ресурсов «с запасом» на случай сбоев. В итоге потребности системы мгновенно раздуваются до бесконечности, создавая фиктивный дефицит.
🛑 Альтернативная стоимость (Opportunity Cost): Нужно ежесекундно решать, где тонна алюминия принесет больше пользы — в кастрюлях или в крыльях самолета? Чтобы ответить на это для 25 миллионов товаров, нужно учесть весь граф связей одновременно.
Именно здесь возникает критическая точка невозврата, где математическая сложность экономики окончательно переросла возможности управляющего субъекта (Госплана).
Продолжение👇
👍7❤2🤡2
Продолжение. Предыдущая часть тут 👆
В предыдущем сообщении мы подошли к критической точке невозврата советской экономики, где математическая сложность объекта (экономики) окончательно переросла возможности управляющего субъекта (Госплана).
Важно понимать, что Госплан имел дело не просто с «вычислительной трудностью», а с тремя уровнями системного тупика:
1️⃣ Экспоненциальный взрыв (Complexity): Плотность связей в графе экономики росла быстрее, чем совокупная мощность всех процессоров мира. Задача стала математически невычислимой «в лоб».
2️⃣ Информационная энтропия: Любой алгоритм оптимизации требует идеальных данных, но иерархия (министерства, отчеты, съезды) работала как «испорченный телефон», неизбежно искажая и задерживая цифры ради политических целей.
3️⃣ Инерция итераций (Latency): Пока Госплан пытался обсчитать один цикл по времени динамически изменяющегося во времени графа, реальность успевала измениться десять раз. Система управления вошла в фазовый сдвиг: план руководил не страной, а «призраком» экономики пятилетней давности.
3. Последний шанс системы: Цифровые пророки СССР 🛠
В 1960-х и 70-х годах стало ясно: бумажный Госплан не справляется. На арену вышли «рыцари логарифмической линейки», которые верили, что экономику можно спасти алгоритмами:
💡 Леонид Канторович: Математика вместо гадания
Леонид Кантрович - единственный советский лауреат Нобелевской премии по экономике за вклад в теорию оптимального распределения ресурсов. Ирония в том, что он был гениальным математиком, который изначально решал сугубо прикладную задачу для фанерного треста: как раскроить листы материала с минимальными потерями.
Он понял, что экономика — это не «гуманитарная болтовня», а задача линейного программирования. Чтобы сделать нелинейную экономику вычислимой в разумное время, а не за время превышающее возраст Вселенной, он применил классический приём: представил реальные кривые производства как систему прямых линий (линейная аппроксимация). Это позволило превратить хаос в «выпуклую» геометрическую фигуру. В таком мире поиск лучшего решения гарантированно приводит к вершине, а не застревает в тупиках.
Канторович ввел понятие «теневых цен» (объективно обусловленных оценок). По сути, он математически доказал, что даже в плановой системе ресурсы должны иметь «цену», которая зависит от их редкости. Это был гениальный хак: попытка заставить Госплан имитировать рыночную эффективность с помощью уравнений.
🖥 Виктор Глушков: Архитектор цифрового государства (ОГАС)
Виктор Глушков был выдающимся советским математиком и кибернетиком, академиком Академии наук СССР. С начала 1960-х годов он возглавлял Институт кибернетики в Киеве и стал главным идеологом цифровой трансформации страны. Глушков понял, что главная беда системы — информационная энтропия (см. выше). Чиновники на местах искажали данные, чтобы скрыть дефицит или приписать план.
В 1962 году он предложил радикальное решение: ОГАС — Общегосударственную автоматизированную систему. Это должна была быть иерархическая сеть из тысяч вычислительных центров, соединенных в единое «кольцо». Глушков хотел, чтобы данные в центр шли напрямую от датчиков на станках и со складов, минуя министерские кабинеты. Фактически он проектировал «цифрового двойника» экономики СССР, где каждый гвоздь учитывался бы алгоритмом в реальном времени. Это был прообраз современного интернета и «умного государства» за 30 лет до их появления. В ютубе есть фильм про него.
Продолжение тут 👇
В предыдущем сообщении мы подошли к критической точке невозврата советской экономики, где математическая сложность объекта (экономики) окончательно переросла возможности управляющего субъекта (Госплана).
Важно понимать, что Госплан имел дело не просто с «вычислительной трудностью», а с тремя уровнями системного тупика:
1️⃣ Экспоненциальный взрыв (Complexity): Плотность связей в графе экономики росла быстрее, чем совокупная мощность всех процессоров мира. Задача стала математически невычислимой «в лоб».
2️⃣ Информационная энтропия: Любой алгоритм оптимизации требует идеальных данных, но иерархия (министерства, отчеты, съезды) работала как «испорченный телефон», неизбежно искажая и задерживая цифры ради политических целей.
3️⃣ Инерция итераций (Latency): Пока Госплан пытался обсчитать один цикл по времени динамически изменяющегося во времени графа, реальность успевала измениться десять раз. Система управления вошла в фазовый сдвиг: план руководил не страной, а «призраком» экономики пятилетней давности.
3. Последний шанс системы: Цифровые пророки СССР 🛠
В 1960-х и 70-х годах стало ясно: бумажный Госплан не справляется. На арену вышли «рыцари логарифмической линейки», которые верили, что экономику можно спасти алгоритмами:
💡 Леонид Канторович: Математика вместо гадания
Леонид Кантрович - единственный советский лауреат Нобелевской премии по экономике за вклад в теорию оптимального распределения ресурсов. Ирония в том, что он был гениальным математиком, который изначально решал сугубо прикладную задачу для фанерного треста: как раскроить листы материала с минимальными потерями.
Он понял, что экономика — это не «гуманитарная болтовня», а задача линейного программирования. Чтобы сделать нелинейную экономику вычислимой в разумное время, а не за время превышающее возраст Вселенной, он применил классический приём: представил реальные кривые производства как систему прямых линий (линейная аппроксимация). Это позволило превратить хаос в «выпуклую» геометрическую фигуру. В таком мире поиск лучшего решения гарантированно приводит к вершине, а не застревает в тупиках.
Канторович ввел понятие «теневых цен» (объективно обусловленных оценок). По сути, он математически доказал, что даже в плановой системе ресурсы должны иметь «цену», которая зависит от их редкости. Это был гениальный хак: попытка заставить Госплан имитировать рыночную эффективность с помощью уравнений.
🖥 Виктор Глушков: Архитектор цифрового государства (ОГАС)
Виктор Глушков был выдающимся советским математиком и кибернетиком, академиком Академии наук СССР. С начала 1960-х годов он возглавлял Институт кибернетики в Киеве и стал главным идеологом цифровой трансформации страны. Глушков понял, что главная беда системы — информационная энтропия (см. выше). Чиновники на местах искажали данные, чтобы скрыть дефицит или приписать план.
В 1962 году он предложил радикальное решение: ОГАС — Общегосударственную автоматизированную систему. Это должна была быть иерархическая сеть из тысяч вычислительных центров, соединенных в единое «кольцо». Глушков хотел, чтобы данные в центр шли напрямую от датчиков на станках и со складов, минуя министерские кабинеты. Фактически он проектировал «цифрового двойника» экономики СССР, где каждый гвоздь учитывался бы алгоритмом в реальном времени. Это был прообраз современного интернета и «умного государства» за 30 лет до их появления. В ютубе есть фильм про него.
Продолжение тут 👇
👍5❤2🤡2
Продолжение. Предыдущая часть тут 👆
🚀 Анатолий Китов: Военная жесткость и первый «интернет»
За Глушковым стоял его предшественник и идейный вдохновитель — полковник Анатолий Китов. Ещё в 1959 году он направил Хрущеву проект «Красная книга». Китов предложил не ждать десятилетия, а использовать уже существующие секретные военные вычислительные центры для управления экономикой.
Его идея была по-военному эффективной: днем сеть обсчитывает гражданские задачи Госплана, а ночью или в случае угрозы мгновенно переключается на нужды обороны. Китов прямо заявил руководству страны, что существующие методы управления безнадежно устарели. Система не простила ему честности: за критику Китова лишили должностей и исключили из партии. Это был случай, когда железная логика проиграла инстинкту выживания бюрократии.
🏁 Леонид Хачиян: Математический приговор и паника в Нью-Йорке
В 1979 году скромный 26-летний сотрудник Вычислительного центра АН СССР Леонид Хачиян опубликовал статью «Полиномиальные алгоритмы в линейном программировании».
Математический мир содрогнулся.
До этого момента задача Госплана после работ Кантровича (линейное программирование) считалась «почти неразрешимой» за разумное время. Хачиян предложил метод эллипсоидов, доказав: задача находится в классе P! Это означало, по крайней мере в теории, что её можно решить быстро даже при огромном количестве переменных.
Эффект был взрывным 💥. 7 ноября 1979 года газета The New York Times вышла с сенсационным заголовком на первой полосе:
Мы, уважаемые коллеги, конечно же ещё в прошлом году обратили ваше внимание на это удивительное событие тех времён тут.
Западные эксперты впали в панику. В статье NYT всерьез обсуждали, что новый алгоритм позволит СССР:
1️⃣ Мгновенно вычислять идеальные планы производства, недостижимые для Запада.
2️⃣ Взламывать любые шифры (тогда ошибочно полагали, что это открытие поможет в криптоанализе).
3️⃣ Оптимизировать военную логистику до недосягаемого уровня.
Это был момент высшего триумфа. Хачиян доказал, что в теории Госплан может работать идеально. Kак тогда многим казалось - «святой грааль» был найден и передан в руки Политбюро.
4. Ловушка для суперкомпьютера: Большая константа 📉
Почему же после заголовков в New York Times западные рынки не рухнули, а советские прилавки не наполнились товарами? Дьявол кроется в разнице между «теорией» и «практикой».
До Хачияна все использовали симплекс-метод Канторовича. Он был быстрым «в среднем», но но в худших случаях имел экспоненциальную сложность и на гигантских данных Госплана мог «зависнуть» навсегда из-за этой самой экспоненциально растущей сложности. Хачиян предложил метод эллипсоидов, который гарантировал результат за полиномиальное время в любом случае.
Но возникли две фундаментальные проблемы:
«Проклятие константы»: В алгоритме Хачияна была зашита огромная вычислительная константа. Это очень интересный момент, который я объясню подробней в уже анонсированной видео-лекции по введению в теорию сложности, которую готовлю в свободное от написания постов и других дел время и которая скоро появится на моих каналах. Можете уже пока подписаться на канал в ютубе - я не обижусь 🙂
Масштаб задачи: Для оптимизации логистики 25 миллионов товаров даже «быстрый» алгоритм требовал триллионов операций. Математика доказала, что решение хоть и в классе P, который считается решаемым на практике, однако «железо» 1970-х просто не могло его переварить. Я об этом уже писал тут.
А окончание этой заметки тут 👇
🚀 Анатолий Китов: Военная жесткость и первый «интернет»
За Глушковым стоял его предшественник и идейный вдохновитель — полковник Анатолий Китов. Ещё в 1959 году он направил Хрущеву проект «Красная книга». Китов предложил не ждать десятилетия, а использовать уже существующие секретные военные вычислительные центры для управления экономикой.
Его идея была по-военному эффективной: днем сеть обсчитывает гражданские задачи Госплана, а ночью или в случае угрозы мгновенно переключается на нужды обороны. Китов прямо заявил руководству страны, что существующие методы управления безнадежно устарели. Система не простила ему честности: за критику Китова лишили должностей и исключили из партии. Это был случай, когда железная логика проиграла инстинкту выживания бюрократии.
🏁 Леонид Хачиян: Математический приговор и паника в Нью-Йорке
В 1979 году скромный 26-летний сотрудник Вычислительного центра АН СССР Леонид Хачиян опубликовал статью «Полиномиальные алгоритмы в линейном программировании».
Математический мир содрогнулся.
До этого момента задача Госплана после работ Кантровича (линейное программирование) считалась «почти неразрешимой» за разумное время. Хачиян предложил метод эллипсоидов, доказав: задача находится в классе P! Это означало, по крайней мере в теории, что её можно решить быстро даже при огромном количестве переменных.
Эффект был взрывным 💥. 7 ноября 1979 года газета The New York Times вышла с сенсационным заголовком на первой полосе:
«Советский прорыв в математике потряс мир» (A Soviet Discovery in Mathematics Rocks World).
Мы, уважаемые коллеги, конечно же ещё в прошлом году обратили ваше внимание на это удивительное событие тех времён тут.
Западные эксперты впали в панику. В статье NYT всерьез обсуждали, что новый алгоритм позволит СССР:
1️⃣ Мгновенно вычислять идеальные планы производства, недостижимые для Запада.
2️⃣ Взламывать любые шифры (тогда ошибочно полагали, что это открытие поможет в криптоанализе).
3️⃣ Оптимизировать военную логистику до недосягаемого уровня.
Это был момент высшего триумфа. Хачиян доказал, что в теории Госплан может работать идеально. Kак тогда многим казалось - «святой грааль» был найден и передан в руки Политбюро.
4. Ловушка для суперкомпьютера: Большая константа 📉
Почему же после заголовков в New York Times западные рынки не рухнули, а советские прилавки не наполнились товарами? Дьявол кроется в разнице между «теорией» и «практикой».
До Хачияна все использовали симплекс-метод Канторовича. Он был быстрым «в среднем», но но в худших случаях имел экспоненциальную сложность и на гигантских данных Госплана мог «зависнуть» навсегда из-за этой самой экспоненциально растущей сложности. Хачиян предложил метод эллипсоидов, который гарантировал результат за полиномиальное время в любом случае.
Но возникли две фундаментальные проблемы:
«Проклятие константы»: В алгоритме Хачияна была зашита огромная вычислительная константа. Это очень интересный момент, который я объясню подробней в уже анонсированной видео-лекции по введению в теорию сложности, которую готовлю в свободное от написания постов и других дел время и которая скоро появится на моих каналах. Можете уже пока подписаться на канал в ютубе - я не обижусь 🙂
Масштаб задачи: Для оптимизации логистики 25 миллионов товаров даже «быстрый» алгоритм требовал триллионов операций. Математика доказала, что решение хоть и в классе P, который считается решаемым на практике, однако «железо» 1970-х просто не могло его переварить. Я об этом уже писал тут.
А окончание этой заметки тут 👇
👍6❤1🤡1
Конец лонгрида. Предыдущая часть тут👆
5. Саботаж на входе: Информационный мусор 🗑️
Даже если бы Политбюро получило суперкомпьютер из будущего, способный переварить константы Хачияна, система всё равно бы разбилась о второй, более фундаментальный тупик — качество данных.
В кибернетике есть золотое правило: GIGO (Garbage In, Garbage Out — «Мусор на входе, мусор на выходе»). Чтобы метод эллипсоидов выдал идеальный план, ему нужны честные данные: сколько реально стали на складах, каков износ станков, какова реальная потребность людей в обуви и т.д.
Но советская иерархия была построена на институциональной лжи:
- Директора заводов скрывали резервы (чтобы план был полегче).
- Сотрудники министерств приписывали показатели (чтобы получить премии).
- ОГАС Глушкова, который должен был собирать данные напрямую с датчиков на станках, был «задушен» бюрократией — чиновники не хотели, чтобы машина видела их вранье.
6. Финал: Идеологический BSOD (Blue Screen of Death) 🌀
К началу 80-х сложилась парадоксальная ситуация. Канторович дал инструменты в виде математических основ планирования и оптимизации, Китов и Глушков предложили сети и распределённые вычисления, а Хачиян доказал вычислимость в полиномиальное время и предоставил полиномиальный алгоритм. У СССР были лучшие мозги планеты, способные превратить экономику в совершенный алгоритм.
Но система отказалась от «цифровой операции».
Политбюро боялось потерять контроль: если всё считает алгоритм, то зачем нужны партийные съезды и министерские кресла?
Идеология победила логику: «теневые цены» нобелевского лауреата Канторовича объявили антимарксистскими, а прозрачность данных — опасной децентрализацией.
Вместо того чтобы апгрейдить «софт» управления, страна выбрала путь «нефтяного обезбола». Система вошла в фазовый сдвиг: план руководил уже не страной, а «призраком» экономики десятилетней давности. Итог был предрешен — критическая ошибка системы, на которую нельзя нажать «Ignore».
Kernel Panic. Blue Screen of Death. Конец эпохи.
P.S. Всё вышеописанное — это, разумеется, лишь авторский взгляд. Я не претендую на лавры профессионального историка или экономиста и вполне могу ошибаться в оценках тех или иных событий. Но именно для этого у нас есть комментарии — буду рад вашей аргументированной критике и дополнениям.
Напишите ваше мнение в комментариях ❤️
5. Саботаж на входе: Информационный мусор 🗑️
Даже если бы Политбюро получило суперкомпьютер из будущего, способный переварить константы Хачияна, система всё равно бы разбилась о второй, более фундаментальный тупик — качество данных.
В кибернетике есть золотое правило: GIGO (Garbage In, Garbage Out — «Мусор на входе, мусор на выходе»). Чтобы метод эллипсоидов выдал идеальный план, ему нужны честные данные: сколько реально стали на складах, каков износ станков, какова реальная потребность людей в обуви и т.д.
Но советская иерархия была построена на институциональной лжи:
- Директора заводов скрывали резервы (чтобы план был полегче).
- Сотрудники министерств приписывали показатели (чтобы получить премии).
- ОГАС Глушкова, который должен был собирать данные напрямую с датчиков на станках, был «задушен» бюрократией — чиновники не хотели, чтобы машина видела их вранье.
6. Финал: Идеологический BSOD (Blue Screen of Death) 🌀
К началу 80-х сложилась парадоксальная ситуация. Канторович дал инструменты в виде математических основ планирования и оптимизации, Китов и Глушков предложили сети и распределённые вычисления, а Хачиян доказал вычислимость в полиномиальное время и предоставил полиномиальный алгоритм. У СССР были лучшие мозги планеты, способные превратить экономику в совершенный алгоритм.
Но система отказалась от «цифровой операции».
Политбюро боялось потерять контроль: если всё считает алгоритм, то зачем нужны партийные съезды и министерские кресла?
Идеология победила логику: «теневые цены» нобелевского лауреата Канторовича объявили антимарксистскими, а прозрачность данных — опасной децентрализацией.
Вместо того чтобы апгрейдить «софт» управления, страна выбрала путь «нефтяного обезбола». Система вошла в фазовый сдвиг: план руководил уже не страной, а «призраком» экономики десятилетней давности. Итог был предрешен — критическая ошибка системы, на которую нельзя нажать «Ignore».
Kernel Panic. Blue Screen of Death. Конец эпохи.
P.S. Всё вышеописанное — это, разумеется, лишь авторский взгляд. Я не претендую на лавры профессионального историка или экономиста и вполне могу ошибаться в оценках тех или иных событий. Но именно для этого у нас есть комментарии — буду рад вашей аргументированной критике и дополнениям.
Напишите ваше мнение в комментариях ❤️
👍13❤4🔥1🤡1
Истории (не)успеха (ИИ)ЕИ pinned «Конец лонгрида. Предыдущая часть тут👆 5. Саботаж на входе: Информационный мусор 🗑️ Даже если бы Политбюро получило суперкомпьютер из будущего, способный переварить константы Хачияна, система всё равно бы разбилась о второй, более фундаментальный тупик —…»
💻 Квантовые вычисления через облако на квантовых процессорах IBM: проверяем квантовую запутанность на практике и путешествуем в разные вселенные 💥
1/2
А знали ли вы, друзья, что сегодня не нужно быть сотрудником секретной лаборатории, чтобы поработать с квантовым процессором?
Так, например, IBM предоставляет открытый облачный доступ к своим квантовым процессорам. Это позволяет запустить код на реальных кубитах и своими глазами увидеть квантовые эффекты, которые противоречат нашей повседневной логике. Бесплатные 10 минут квантовых вычислений в месяц. Дальше 1,6$ за каждую секунду (для моего региона).
"Hello world" квантовых вычислений в следующем гугл-коллаб ноутбуке:
https://colab.research.google.com/drive/1n_74qMtrVk93E6gFj7xCl7HRwCV4CAx9?usp=sharing
Тут я использую симулятор, чтобы не тратить бесплатные 10 минут на изучение библиотк и дебаг, но если вы зарегистрируетесь и будете это делать через ваш IBM access token на реальном квантовом чипе, то заметите некоторую разницу между симулятором и квантовой реальностью.
Симулятор идеален: в нем вы получите чистый результат. Реальный же чип «шумит» из-за тепла и несовершенства материи, поэтому там вы увидите небольшие погрешности — это и есть «почерк» физического мира.
Что делает вышеприведённый код "hello quantum world":
1. Создает суперпозицию: У нас два кубита. Мы берем первый кубит и переводим его в состояние, где он одновременно и 0, и 1. Пока мы его не трогаем, он существует во всех вариантах сразу. Это как мы раскручиваем на столе монету на ребре и пока она вращается она не 0, и не 1 (не орёл и не решка).
2. Запутывает систему: Мы связываем кубиты. Теперь они — единое целое. Что бы ни случилось с одним, второй мгновенно принимает такое же состояние.
3. Схлопывает реальность: Это самый драматичный момент. В физике это называется коллапс волновой функции. Пока мы не вызвали эту команду, кубиты были «всем и ничем». Но измерение заставляет природу выбрать один конкретный вариант. Мы буквально «бьем ладонью по вращающейся монете», заставляя её замереть в одном положении.
При чем тут Мультивселенная?
Если верить Дэвиду Дойчу, одному из отцов-основателей квантовых алгоритмов и многомировой интерпретации квантовой механики , этот код — не просто математический трюк, а доступ к Мультивселенной. Тот результат, который вы видите в коде — {'11': 524, '00': 500} — это отчет из 1024 параллельных вселенных. В 500 из них вы увидели нули, а в 524 — единицы. Из-за квантовой запутанности оба кубита равны: либо оба 0, либо либо оба 1. В каждой из 1024-х вселенных биты равны друг другу, но имеют разные значения в зависимости от вселенной (либо оба 0, либо оба 1).
Дойч утверждает: чтобы выдать вам ответ за доли секунды, квантовый компьютер распределяет вычисление между огромным количеством параллельных вселенных. Когда кубит находится в суперпозиции, он буквально существует в разных копиях реальности одновременно. Результат, который вы видите в {'11': 524, '00': 500} — это, по сути, отчет из 1024 параллельных миров, которые на мгновение пересеклись в вашем браузере, чтобы выдать правильный ответ.
Теперь каждый, у кого есть доступ к интернету, может коснуться этой структуры реальности и запустить процесс, физически происходящий за пределами нашей видимой вселенной. 🌀
Продолжение 👇
#QuantumComputing #IBMQuantum #Physics #Python #Qiskit #Multiverse
1/2
А знали ли вы, друзья, что сегодня не нужно быть сотрудником секретной лаборатории, чтобы поработать с квантовым процессором?
Так, например, IBM предоставляет открытый облачный доступ к своим квантовым процессорам. Это позволяет запустить код на реальных кубитах и своими глазами увидеть квантовые эффекты, которые противоречат нашей повседневной логике. Бесплатные 10 минут квантовых вычислений в месяц. Дальше 1,6$ за каждую секунду (для моего региона).
"Hello world" квантовых вычислений в следующем гугл-коллаб ноутбуке:
https://colab.research.google.com/drive/1n_74qMtrVk93E6gFj7xCl7HRwCV4CAx9?usp=sharing
Тут я использую симулятор, чтобы не тратить бесплатные 10 минут на изучение библиотк и дебаг, но если вы зарегистрируетесь и будете это делать через ваш IBM access token на реальном квантовом чипе, то заметите некоторую разницу между симулятором и квантовой реальностью.
Симулятор идеален: в нем вы получите чистый результат. Реальный же чип «шумит» из-за тепла и несовершенства материи, поэтому там вы увидите небольшие погрешности — это и есть «почерк» физического мира.
Что делает вышеприведённый код "hello quantum world":
1. Создает суперпозицию: У нас два кубита. Мы берем первый кубит и переводим его в состояние, где он одновременно и 0, и 1. Пока мы его не трогаем, он существует во всех вариантах сразу. Это как мы раскручиваем на столе монету на ребре и пока она вращается она не 0, и не 1 (не орёл и не решка).
2. Запутывает систему: Мы связываем кубиты. Теперь они — единое целое. Что бы ни случилось с одним, второй мгновенно принимает такое же состояние.
3. Схлопывает реальность: Это самый драматичный момент. В физике это называется коллапс волновой функции. Пока мы не вызвали эту команду, кубиты были «всем и ничем». Но измерение заставляет природу выбрать один конкретный вариант. Мы буквально «бьем ладонью по вращающейся монете», заставляя её замереть в одном положении.
При чем тут Мультивселенная?
Если верить Дэвиду Дойчу, одному из отцов-основателей квантовых алгоритмов и многомировой интерпретации квантовой механики , этот код — не просто математический трюк, а доступ к Мультивселенной. Тот результат, который вы видите в коде — {'11': 524, '00': 500} — это отчет из 1024 параллельных вселенных. В 500 из них вы увидели нули, а в 524 — единицы. Из-за квантовой запутанности оба кубита равны: либо оба 0, либо либо оба 1. В каждой из 1024-х вселенных биты равны друг другу, но имеют разные значения в зависимости от вселенной (либо оба 0, либо оба 1).
Дойч утверждает: чтобы выдать вам ответ за доли секунды, квантовый компьютер распределяет вычисление между огромным количеством параллельных вселенных. Когда кубит находится в суперпозиции, он буквально существует в разных копиях реальности одновременно. Результат, который вы видите в {'11': 524, '00': 500} — это, по сути, отчет из 1024 параллельных миров, которые на мгновение пересеклись в вашем браузере, чтобы выдать правильный ответ.
Теперь каждый, у кого есть доступ к интернету, может коснуться этой структуры реальности и запустить процесс, физически происходящий за пределами нашей видимой вселенной. 🌀
Продолжение 👇
#QuantumComputing #IBMQuantum #Physics #Python #Qiskit #Multiverse
Google
Quantum_hello_world.ipynb
Colab notebook
image.png
48.6 KB
2/2
Начало тут🖕
А вот и разница между теорией и реальностью! В отличие от симулятора, на настоящем квантовом чипе ibm_fez мы видим шум: состояния '01' и '10'. Это «эхо» нашего макромира, которое пытается разрушить квантовую магию.
Почему это происходит?
Насколько я понимаю эту "кухню", дело в том, что кубиты крайне застенчивы. Любое внешнее воздействие —микроскопическое изменение температуры, электромагнитный шум от соседних кабелей или даже пролетающая мимо частица космического излучения — «подсматривает» за кубитом.
Это заставляет его терять квантовые свойства раньше времени(явление декогеренции).
Техническое несовершенство чипа — это и есть неспособность полностью отгородиться от макромира. Чтобы кубиты жили дольше, процессор охлаждают до температур, которые ниже, чем в открытом космосе, но даже этого недостаточно для идеальной изоляции.
Тем не менее, 94% попаданий в '00' и '11' подтверждают: запутанность выстояла!
Мы целенаправленно синхронизировали частицы в реальном физическом пространстве!🤯🤯🤯
Начало тут🖕
А вот и разница между теорией и реальностью! В отличие от симулятора, на настоящем квантовом чипе ibm_fez мы видим шум: состояния '01' и '10'. Это «эхо» нашего макромира, которое пытается разрушить квантовую магию.
Почему это происходит?
Насколько я понимаю эту "кухню", дело в том, что кубиты крайне застенчивы. Любое внешнее воздействие —микроскопическое изменение температуры, электромагнитный шум от соседних кабелей или даже пролетающая мимо частица космического излучения — «подсматривает» за кубитом.
Это заставляет его терять квантовые свойства раньше времени(явление декогеренции).
Техническое несовершенство чипа — это и есть неспособность полностью отгородиться от макромира. Чтобы кубиты жили дольше, процессор охлаждают до температур, которые ниже, чем в открытом космосе, но даже этого недостаточно для идеальной изоляции.
Тем не менее, 94% попаданий в '00' и '11' подтверждают: запутанность выстояла!
Мы целенаправленно синхронизировали частицы в реальном физическом пространстве!🤯🤯🤯
🔥4👏3⚡1👍1
Ежегодный опрос к Дню Космонавтики: кто всё-таки был первым на Луне?
Anonymous Quiz
73%
Незнайка
27%
Американцы
😁3
«Жизнь показывает, что и космос будут осваивать не какие-нибудь супермены, а самые простые люди»
— Юрий Гагарин
В этом году День Космонавтики совпал со светлой православной Пасхой, так что поздравляю всех с этим двойным праздником! 🕊️
А вот что в 1935 году (за 26 лет до полета Гагарина) сказал великий теоретик космоса и самый невероятный человек в истории советской науки:
«Невозможное сегодня станет возможным завтра».
- Константин Циолковский
Пусть ваши самые смелые цели станут реальностью, а в душе всегда будет «космическое» спокойствие и светлая вера в успех.
С праздниками! Поехали! 🚀✨
❤3👍3✍1
Качество софта — это когда его «видит» даже незрячий 👓
Разбавляем теоретические темы теории сложности и квантовых вычислений практикой IT-проектов из реальной жизни.
Несколько лет я занимался автоматическим тестированием софта. Однажды, в командировке к заказчику, я встретил женщину-программиста. Она была полностью незрячей.
Как это возможно?
Для тех, кто не знает: незрячие специалисты используют скринридеры (программы экранного доступа). Скринридеры озвучивают всё, что происходит на экране, или передают текст на тактильный дисплей Брайля. Если код структурирован правильно, незрячий человек может работать с ним наравне со всеми.
Кстати, в этом канале есть как минимум два незрячих подписчика, так что эта тема для нас — про людей, а не про теорию.
То, что незрячий человек может писать код — это показатель. Однако гораздо важнее, чтобы написанный нами софт был доступен для незрячего пользователя.
Но встреча с этой коллегой заставила нас тогда осознать важную вещь: качество софта=его тестируемость=его доступность для незрячих людей. В инженерии есть термин Testability (тестируемость) — то, насколько легко проверить систему на каждом уровне. Если софт тестируемый, это приносит пользу всем. Приведу лишь пару примеров для наглядности:
Почему тестируемость (Testability) — это и есть доступность для незрячих людей?
Когда мы делаем софт «тестируемым», мы наводим в нем инженерный порядок. Вот как это работает на практике:
1. Стабильные локаторы vs. Гадание на кофейной гуще
• Боль: Фронтенд-разработчик поменял верстку, и все UI-тесты «упали», потому что пути к кнопкам изменились.
• Решение (Testability): Использование уникальных
• Связь с доступностью: Незрячий пользователь не видит цвет или форму. Его скринридер, как и автотест, ищет суть. Если кнопка — это правильный семантический тег с четким описанием, скринридер скажет: «Кнопка "Купить"». Если там «грязный» код из вложенных
2. Прозрачность через API vs. Кликерство
•Боль: Чтобы проверить фичу, тестеру нужно 100 раз кликнуть по интерфейсу, чтобы создать нужные данные. Это долго и порождает ошибки.
•Решение (Testability): Наличие API, которое позволяет мгновенно привести систему в нужное состояние. Софт становится тестируемым.
•Связь с доступностью: Незрячий человек опирается на логику и структуру. Если система «дырявая» и запутанная внутри, навигация в наушниках превращается в лабиринт. Хорошее API, которoe позволяют перевести систему в нужное состояние — это признак того, что у системы есть «карта»,по которой легко перемещаться.
Вывод: Автотест и незрячий пользователь смотрят на наш продукт одними и теми же «глазами». Доступность (accessibility) — это не благотворительность. Это лакмусовая бумажка. Если ваш продукт недоступен для незрячего — значит, у него плохая тестируемость. А значит, ваш код — «хрупкий», дорогой в обслуживании и технически низкокачественный.
——
Интересно, работает ли это в других областях? 🏗
Возьмем строительство. Если дом спроектирован по принципам безбарьерной среды (вход в уровень земли, отсутствие порогов, широкие лифты), значит ли это, что дом качественнее в целом?
Однозначно. Это значит, что архитектор думал о логистике и эргономике, а не только о цвете фасада. В таком доме будет качественнее всё: от вентиляции до пожарных выходов. Удобство для человека на инвалидной коляске автоматически делает дом удобнее для мамы с коляской, курьера с тяжелой коробкой и пожилого соседа, обеспечивает безопасность при пожаре и т.д.
Мой итог:
Нельзя называть софт «качественным», если его не может «прочитать» робот (автотест) или незрячий пользователь. Это просто недоделанный продукт.
А как вы считаете: доступность — это обязательная часть «качества» или всё же отдельная фича, на которую вечно нет времени? Можно ли называть продукт «качественным», если им не может пользоваться человек с физическими ограничениями? Напишите в комментариях! ✍️
#RealWorldProblems #SoftwareQuality #Testability #Accessibility
Разбавляем теоретические темы теории сложности и квантовых вычислений практикой IT-проектов из реальной жизни.
Несколько лет я занимался автоматическим тестированием софта. Однажды, в командировке к заказчику, я встретил женщину-программиста. Она была полностью незрячей.
Как это возможно?
Для тех, кто не знает: незрячие специалисты используют скринридеры (программы экранного доступа). Скринридеры озвучивают всё, что происходит на экране, или передают текст на тактильный дисплей Брайля. Если код структурирован правильно, незрячий человек может работать с ним наравне со всеми.
То, что незрячий человек может писать код — это показатель. Однако гораздо важнее, чтобы написанный нами софт был доступен для незрячего пользователя.
Но встреча с этой коллегой заставила нас тогда осознать важную вещь: качество софта=его тестируемость=его доступность для незрячих людей. В инженерии есть термин Testability (тестируемость) — то, насколько легко проверить систему на каждом уровне. Если софт тестируемый, это приносит пользу всем. Приведу лишь пару примеров для наглядности:
Почему тестируемость (Testability) — это и есть доступность для незрячих людей?
Когда мы делаем софт «тестируемым», мы наводим в нем инженерный порядок. Вот как это работает на практике:
1. Стабильные локаторы vs. Гадание на кофейной гуще
• Боль: Фронтенд-разработчик поменял верстку, и все UI-тесты «упали», потому что пути к кнопкам изменились.
• Решение (Testability): Использование уникальных
automation-id. Тест всегда находит кнопку, он стабилен и надежен.• Связь с доступностью: Незрячий пользователь не видит цвет или форму. Его скринридер, как и автотест, ищет суть. Если кнопка — это правильный семантический тег с четким описанием, скринридер скажет: «Кнопка "Купить"». Если там «грязный» код из вложенных
div, то и робот-тестер, и незрячий человек будут одинаково беспомощны.2. Прозрачность через API vs. Кликерство
•Боль: Чтобы проверить фичу, тестеру нужно 100 раз кликнуть по интерфейсу, чтобы создать нужные данные. Это долго и порождает ошибки.
•Решение (Testability): Наличие API, которое позволяет мгновенно привести систему в нужное состояние. Софт становится тестируемым.
•Связь с доступностью: Незрячий человек опирается на логику и структуру. Если система «дырявая» и запутанная внутри, навигация в наушниках превращается в лабиринт. Хорошее API, которoe позволяют перевести систему в нужное состояние — это признак того, что у системы есть «карта»,по которой легко перемещаться.
Вывод: Автотест и незрячий пользователь смотрят на наш продукт одними и теми же «глазами». Доступность (accessibility) — это не благотворительность. Это лакмусовая бумажка. Если ваш продукт недоступен для незрячего — значит, у него плохая тестируемость. А значит, ваш код — «хрупкий», дорогой в обслуживании и технически низкокачественный.
——
Интересно, работает ли это в других областях? 🏗
Возьмем строительство. Если дом спроектирован по принципам безбарьерной среды (вход в уровень земли, отсутствие порогов, широкие лифты), значит ли это, что дом качественнее в целом?
Однозначно. Это значит, что архитектор думал о логистике и эргономике, а не только о цвете фасада. В таком доме будет качественнее всё: от вентиляции до пожарных выходов. Удобство для человека на инвалидной коляске автоматически делает дом удобнее для мамы с коляской, курьера с тяжелой коробкой и пожилого соседа, обеспечивает безопасность при пожаре и т.д.
Мой итог:
Нельзя называть софт «качественным», если его не может «прочитать» робот (автотест) или незрячий пользователь. Это просто недоделанный продукт.
А как вы считаете: доступность — это обязательная часть «качества» или всё же отдельная фича, на которую вечно нет времени? Можно ли называть продукт «качественным», если им не может пользоваться человек с физическими ограничениями? Напишите в комментариях! ✍️
#RealWorldProblems #SoftwareQuality #Testability #Accessibility
Telegram
Истории (не)успеха (ИИ)ЕИ
🧠 В последнее время мы много говорили о математике, теории сложности, об искусственном и естественном интеллекте и прочих фундаментальных вещах. А вот про повседневную практику софт-разработки — почти не вспоминали.
Хочу это исправить. В ближайших постах…
Хочу это исправить. В ближайших постах…
👍2
Для тех, кто живет в Германии или учит немецкий, я запустил новый канал — на немецком языке! 🇩🇪
Это не просто перевод основного блога. У него будет свой фокус: немецкая наука, культура и специфика индустрии.
Кому будет полезно:
•Тем, кто интересуется ИТ и физмат-науками.
•Тем, кто учит немецкий и хочет читать качественный технический контент на немецком.
•Тем, кто хочет общаться с немецкими коллегами, даже если пока ещё не имеет контактов.
•Тем, кто планирует карьеру или уже работает в Германии.
Подписаться можно здесь:
👉 https://t.me/komplex_einfach
Это не просто перевод основного блога. У него будет свой фокус: немецкая наука, культура и специфика индустрии.
Кому будет полезно:
•Тем, кто интересуется ИТ и физмат-науками.
•Тем, кто учит немецкий и хочет читать качественный технический контент на немецком.
•Тем, кто хочет общаться с немецкими коллегами, даже если пока ещё не имеет контактов.
•Тем, кто планирует карьеру или уже работает в Германии.
Подписаться можно здесь:
👉 https://t.me/komplex_einfach
Telegram
Mathematik, Mensch & KI/ML/DS: Zwischen Erfolg und Fail
Einfach erklärt: Mathematik, KI, Softwareentwicklung, Sport, Politik und Kultur. Austausch, Kontakte und internationale Online-Diskussionen & Livestreams. Außerdem gemeinsame Sporttreffen in München.
👍4🔥1
Истории (не)успеха (ИИ)ЕИ pinned «Пока я готовлю видео-лекцию по введению в теорию сложности, и готовлюсь к лайв-стриму с Димой Топчим по его фундаментальной работе в этой области, решил немного развлечь вас, дорогие друзья. На этих выходных я вышел из зоны комфорта — причём вышел далеко…»
Forwarded from Истории (не)успеха (ИИ)ЕИ (Dmytro)
Научпоп: как превращают сложное в простое (и чем я страдаю на выходных)
Провожу уже какие свои выходные, пытаясь перевести теории вычислений и работы языковых моделей с уровня “для специалистов” на уровень “понятно и интересно всем”. Добро пожаловать в мой личный мир научпопа! 😅
Научпоп — это искусство балансировать ⚖️. С одной стороны, ты хочешь, чтобы твой текст могли понять все: от школьника до инженера, от гуманитария до математика. С другой стороны, ты не хочешь упростить настолько, чтобы потерялась суть или возникли неверные представления. И вот где настоящая сложность: как говорить просто, но не примитивно?
Чем я страдаю сейчас
На данный момент я готовлю две статьи. Это проекты, которые забрали всё моё свободное время (и немного сна 😴), но при этом жутко увлекательны.
1. Теория вычислимости и сложности вычислений
Это, по сути, попытка объяснить, как мы можем понять, что вообще способен решить компьютер, а что — нет. Например, почему есть задачи, которые теоретически можно решить, но на это уйдут миллионы лет ⌛. Или почему, даже если у вас самый мощный суперкомпьютер 💻, некоторые проблемы остаются “неподъёмными”. На пальцах: представьте, что вы ищете иголку в стоге сена, но ваш “стог” — размером с галактику. 🌌
Этой темы еще не было в этом чате, но на самом деле это тема моего PhD и я тут разбираюсь )
2. Крэш-курс по большим языковым моделям
Вторая статья — это то, где я абсолютно не разбираюсь, но я учусь - это путешествие от основ статистики до современных языковых моделей, вроде ChatGPT. Как из “простых” слов получилось создать систему, которая понимает контекст, отвечает на вопросы и пишет статьи? ✍️ Я разберу всё: от теории вероятностей, которая помогает предсказывать слово за словом, до глубоких нейронных сетей 🤖 и того, как они вообще учатся. И да, будет код, с которым можно будет поиграться. Потому что одно дело — читать, а другое — увидеть, как это работает “под капотом”.
Почему это сложно
Моими читателями могут быть как люди, которые далеки от программирования и математики, так и те, кто в этих областях “зарыт” по самую макушку. Первым надо объяснить основы, но так, чтобы они не заскучали 🥱. Вторым — показать нюансы, не перегружая формулами 📊.
А ещё есть ловушка: слишком просто — и будет похоже на сказку. Слишком сложно — потеряется магия научпопа ✨. Поэтому каждое предложение в этих статьях — это баланс, а каждый абзац проверяется и переписывается по нескольку раз 🔄.
Что дальше
Научпоп для меня — это способ делиться своими знаниями и раздвигать границы 🧠. Если хотя бы один человек, далекий от науки, поймёт, как устроены вычисления или языковые модели, я буду считать, что всё это не зря.
Ну а пока мои выходные проходят с кучей заметок 📓, табличек 📋 и кода 💾. Пожелайте мне удачи! 🍀 А если у вас есть идеи, про что ещё можно написать в таком формате, обязательно делитесь в комментариях. Кто знает, может, ваш вопрос станет темой следующей статьи? 😊
Провожу уже какие свои выходные, пытаясь перевести теории вычислений и работы языковых моделей с уровня “для специалистов” на уровень “понятно и интересно всем”. Добро пожаловать в мой личный мир научпопа! 😅
Научпоп — это искусство балансировать ⚖️. С одной стороны, ты хочешь, чтобы твой текст могли понять все: от школьника до инженера, от гуманитария до математика. С другой стороны, ты не хочешь упростить настолько, чтобы потерялась суть или возникли неверные представления. И вот где настоящая сложность: как говорить просто, но не примитивно?
Чем я страдаю сейчас
На данный момент я готовлю две статьи. Это проекты, которые забрали всё моё свободное время (и немного сна 😴), но при этом жутко увлекательны.
1. Теория вычислимости и сложности вычислений
Это, по сути, попытка объяснить, как мы можем понять, что вообще способен решить компьютер, а что — нет. Например, почему есть задачи, которые теоретически можно решить, но на это уйдут миллионы лет ⌛. Или почему, даже если у вас самый мощный суперкомпьютер 💻, некоторые проблемы остаются “неподъёмными”. На пальцах: представьте, что вы ищете иголку в стоге сена, но ваш “стог” — размером с галактику. 🌌
Этой темы еще не было в этом чате, но на самом деле это тема моего PhD и я тут разбираюсь )
2. Крэш-курс по большим языковым моделям
Вторая статья — это то, где я абсолютно не разбираюсь, но я учусь - это путешествие от основ статистики до современных языковых моделей, вроде ChatGPT. Как из “простых” слов получилось создать систему, которая понимает контекст, отвечает на вопросы и пишет статьи? ✍️ Я разберу всё: от теории вероятностей, которая помогает предсказывать слово за словом, до глубоких нейронных сетей 🤖 и того, как они вообще учатся. И да, будет код, с которым можно будет поиграться. Потому что одно дело — читать, а другое — увидеть, как это работает “под капотом”.
Почему это сложно
Моими читателями могут быть как люди, которые далеки от программирования и математики, так и те, кто в этих областях “зарыт” по самую макушку. Первым надо объяснить основы, но так, чтобы они не заскучали 🥱. Вторым — показать нюансы, не перегружая формулами 📊.
А ещё есть ловушка: слишком просто — и будет похоже на сказку. Слишком сложно — потеряется магия научпопа ✨. Поэтому каждое предложение в этих статьях — это баланс, а каждый абзац проверяется и переписывается по нескольку раз 🔄.
Что дальше
Научпоп для меня — это способ делиться своими знаниями и раздвигать границы 🧠. Если хотя бы один человек, далекий от науки, поймёт, как устроены вычисления или языковые модели, я буду считать, что всё это не зря.
Ну а пока мои выходные проходят с кучей заметок 📓, табличек 📋 и кода 💾. Пожелайте мне удачи! 🍀 А если у вас есть идеи, про что ещё можно написать в таком формате, обязательно делитесь в комментариях. Кто знает, может, ваш вопрос станет темой следующей статьи? 😊
👍7🤡1🤝1
От друзей нашего канала объявление. Я тоже начинал с этими темами примерно год назад но потом по личным (психологическим) причинам выпал, думаю снова включиться в соревнования на Каггле и решение крутых математических задач. Готов сделать введение в эти темы и рассказать, что мы (люди) умеем на сегодняшний день, а что не умеем. Готов это сделать либо письменно, либо, как обычно, лайв-стрим.
Крутая тема и я тоже буду участвовать. Посоревнуемся?👇👇👇
Крутая тема и я тоже буду участвовать. Посоревнуемся?👇👇👇
Telegram
Истории (не)успеха (ИИ)ЕИ
🚀 Серия соревнований по МЛ и научный проект ! Денежный призовой фонд больше 100 000 р и будет расти ! Кому интересен МЛ/RL или математика или пазлы или роботы.
Приглашаем Вас принять участие в серии челленджей и развитии научного опен-соурс проекта. …
Приглашаем Вас принять участие в серии челленджей и развитии научного опен-соурс проекта. …
👍3🔥1