Как стать автором
Обновить
3
0

Пользователь

Отправить сообщение

Зачем нам всем нужен SAT и все эти P-NP (часть вторая)

Время на прочтение10 мин
Количество просмотров24K
В предыдущей части были освещены общедоступные вопросы, касающиеся SAT и P-NP: история проблемы, интуитивные определения классов и задач, указаны основные приложения SAT и основные последствия, в случаи решения P ?= NP (там же можно найти достаточное число ссылок на различный материал для самостоятельного изучения тематики).

В данной статье мы рассмотрим техническую сторону вопроса, а так же формализуем и представим в деталях материал из предыдущей статьи.



картинка из статьи Boolean Satisfiability: From Theoretical Hardness to Practical Success (Communications of ACM)

Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии24

Зачем нам всем нужен SAT и все эти P-NP (часть первая)

Время на прочтение12 мин
Количество просмотров60K
SAT уже тем хорош, что он ум в порядок приводит
Ломоносов (оригинал)

Введение


На хабре уже немало статей, посвященных проблеме P vs. NP и задаче о выполнимости логических формул (SATisfiability problem). Однако, большинство из них не отвечает на несколько самых важных вопросов. Почему эта проблема действительна важна для нас? Что будет, если её решат? Где это все вообще применяется? И почему необходимо иметь хотя бы общее представление, о чем там идет речь?

image

Если мы детально проанализируем наиболее заметные работы на хабре по данной теме [1, 2, 3, 4, 5, 6, 7], то заметим, что с одной стороны, люди обладающие знаниями в области вычислительной сложности не cмогут почерпнуть ничего принципиально нового в данных статьях. С другой стороны, данные статьи по-прежнему не являются общедоступными. Иллюстрация из заголовка наглядно демонстрирует проблему: тем, кому было не понятно, из неё ничего не ясно, а те, кто об этом уже слышал, в ней не нуждаются.

Данная статья преследует две цели: первое — дать общее представление о проблеме и ответить на вопрос, почему же нам стоить знать об этой задаче (первая часть), второе — предоставить материал «на вырост», который будет интересен людям интересующимся тематикой, а так же может быть полезен для изучения темы в дальнейшем (вторая часть).

Читать дальше →
Всего голосов 85: ↑80 и ↓5+75
Комментарии24

Мой опыт подготовки к экзамену по английскому CPE (Certificate of Proficiency in English) на уровень С2 и его сдачи

Время на прочтение23 мин
Количество просмотров19K

Are you suggesting coconuts migrate?
MPHG

В IT важно держать руку на пульсе, поэтому в прошлом году, поглядывая краем глаза очередные курсы, я начал присматриваться к целой онлайн-программе и, к своему невероятному удивлению, узнал, что от меня требуют сертификат английского. Тем временем, давным-давно уже все мои бумажки превратились в филькины грамоты, да разложились на плесень и липовый мёд.

«Непорядок», — подумал я. Так и родилась идея сдавать экзамен по английскому, но почему именно CPE? А не, скажем, CAE (Cambridge C1) или там TOEFL (американский общий тест на знание английского), IELTS (версия этого же экзамена, но от Cambridge).

О том, зачем это всё — и что вообще из всего этого вышло — здесь и пойдет речь. Заодно расскажу, как готовился, что помогло, а что — пустая трата денег и времени. Бонусом — пара рекомендаций фильмов, сериалов, художественной литературы и учебных материалов.

ОСТОРОЖНО — ТРАФИК, да‑да, под катом будет много картинок, личного мнения автора и его же несмешного юмора (придется потерпеть) — ответ на вопрос в КПДВ тоже там!

Добро пожаловать под кат
Всего голосов 25: ↑24 и ↓1+37
Комментарии35

Полная история игровой вселенной «Гарри Поттера» — «Золотое поколение»

Уровень сложностиПростой
Время на прочтение47 мин
Количество просмотров5.9K
image
Автор иллюстрации: Иван Ефимов

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

Серия игровых адаптаций «Гарри Поттера» — ярчайший пример подобного подхода. Компания Electronic Arts одновременно занималась разработкой четырех, а то и шести игр в преддверии выхода очередной части фильма. Какие-то получились хуже, какие-то лучше, но все они отличались.

Я потратил полтора года на прохождение всех игровых адаптаций «Гарри Поттера», — а это почти 60 игр. Среди них как основные части серии, так и мобильные и любительские проекты. Я изучил историю из разработки, нашёл малоизвестные факты и вырезанный контент.

Из-за большого объёма мы решили разделить материал на три лаконичных главы. В первой разберём все версии «Философского камня», «Тайной Комнаты», «Чемпионата мира по квиддичу» и «Узника Азкабана».
Читать дальше →
Всего голосов 27: ↑26 и ↓1+37
Комментарии5

Поговорим об оптимизирующих компиляторах. Сказ восьмой: размотка циклов

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров9.2K

Есть оптимизации, польза от которых очевидна всегда или почти всегда. Например, не делать лишнюю проверку лучше, чем делать. Не считать два раза одно и то же обычно лучше, чем считать (если только мы не упёрлись в нехватку регистров или имеем другие подобные проблемы на нижнем уровне). Вычислять выражения вне цикла выгоднее, чем в цикле. И так далее.

Но есть оптимизации, применение которых имеет как плюсы, так и минусы. Выиграв в одном месте, мы можем получить отрицательные эффекты в другом. Например, сэкономив на количестве проверок, мы можем раздуть общий объём кода и поломать микрооптимизации. Каноничным примером такой оптимизации, решение вопроса об использовании которой больше похоже на искусство, чем на науку, является размотка циклов (Loop Unrolling), о которой мы сегодня поговорим. В статье я попробую осветить как можно больше (хотя, наверное, и не все) соображения о том, почему эту оптимизацию может быть нужно или не нужно применять.

Смысл размотки цикла заключается в том, чтобы за счёт дублирования тела цикла уменьшить количества его итераций. В зависимости от того, как много мы знаем об исполнении цикла, размотка может быть полной, частичной или динамической.

Читать далее
Всего голосов 55: ↑55 и ↓0+55
Комментарии6

Иероглифы — хаос или система? Разбираемся из чего они состоят, как работают и в чём их сила

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров42K

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

Я постараюсь простым языком с примерами и иллюстрациями описать как это все в принципе работает и чем отличается от привычных нам языков с алфавитом, осветить слабые и сильные стороны, а для желающих копнуть глубже по тексту будут ссылки на дополнительные материалы.

Заходите, будет интересно
Всего голосов 112: ↑111 и ↓1+148
Комментарии183

Как изменилась Amnezia за 2023 год

Время на прочтение6 мин
Количество просмотров25K

Первые наши пользователи помнят Amnezia как приложение созданное одним человеком, в светлом дизайне и на английском языке. Сегодня AmneziaVPN - это проект, над которым работает целая команда людей из разных стран. Мы стали больше,  приобрели много опыта и теперь имеем возможность делать более сложный функционал . Этот год был, пожалуй, самым продуктивным для нас. Расскажем здесь о самых существенных изменениях, которые произошли с Amnezia за это время.

Читать далее
Всего голосов 63: ↑63 и ↓0+63
Комментарии43

Свободная музыка со словами, созданная нейронными сетями в «Бесконечном нейронном радио»

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.6K

Привет, поклонники музыки! Думали ли вы о том, что наступит день, когда нейронные сети начнут генерировать музыкальные композиции в различных жанрах, начиная от Heavy Metal и заканчивая 80-ми? Недавно я выпустил большой апдейт для своего проекта с открытым исходным кодом «Нейронное радио», где музыка и подкасты созданы нейронными сетями. Однако в первых релизах музыка была без слов, и, мягко говоря, слабая. Но сегодня все изменилось. Качество музыки улучшилось, и появилась музыка со словами и голосами под жанры.

Послушать подробнее
Всего голосов 22: ↑21 и ↓1+23
Комментарии22

Один в поле разработчик: примеры российских видеоигр, которые создавал один человек

Время на прочтение5 мин
Количество просмотров35K

Может ли интересную игру создать один человек? Когда-то Пажитнов сделал Тетрис, а одним из развлечений программистов было создание или портирование игр с одной платформы на другую. 

Есть зарубежные игры, созданные в одиночку и заработавшие миллионы – о них на Хабре уже писали. Мы поговорим об интересных инди-проектах от российских разработчиков. Одни имеют коммерческий успех, другие только начинают свой путь, третьи – уже стали легендами. 

Эти примеры могут вдохновить кого-то на создание собственной видеоигры, доказать, что с достаточной долей веры в себя и упорством всё становится возможным. 

Читать далее
Всего голосов 23: ↑20 и ↓3+24
Комментарии43

Современный С++ в разработке девайсов

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров17K

Привет, Хабр.

Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.

На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных устройств с виртуальным ассистентом. А также о том, как инструменты статического и динамического анализа помогают поддерживать единый стиль и высокое качество кода в проекте.

Во время доклада меня попросили подробнее описать детали нашего подхода в статье, поэтому рад поделиться с вами расширенной текстовой версией.

Все наши устройства должны уметь взаимодействовать c виртуальным ассистентом, проигрывать музыку, обновлять прошивку, выполнять аутентификацию пользователя и т.д.. Такая функциональность реализована в едином для всех платформ приложении, работающем в пользовательском режиме на каждом из наших устройств, будь то умная колонка, ТВ-приставка или умный телевизор.

Язык С++ позволяет писать эффективный и переносимый между различными платформами код, поэтому выбор языка программирования для нашего приложения был очевиден. При этом язык известен своей сложностью и возможностью выполнить одну и ту же задачу несколькими способами.
Чтобы успешно разрабатывать большой проект на языке C++, необходимо хорошо настроить процесс разработки в команде (а это несколько десятков инженеров). Также можно значительно осовременить разработку на C++ за счет использования подходящих инструментов статического и динамического анализа, и правильной интеграции их в процесс разработки.

Читать далее
Всего голосов 23: ↑20 и ↓3+22
Комментарии36

Всё что нужно знать про ECS

Время на прочтение30 мин
Количество просмотров92K

Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.

Окунуться в мир ECS
Всего голосов 35: ↑34 и ↓1+36
Комментарии25

Сложный пациент с Хабра: разработчик из Швеции, 23 года без стоматологов

Время на прочтение21 мин
Количество просмотров17K
Знакомьтесь: Илья — один из подписчиков нашего блога на Хабре, разработчик. В 2021 году он уехал жить и работать в Швецию. Последние двадцать лет у Ильи были крайне напряжённые отношения со стоматологами. Точнее, этих отношений не было совсем: с начала двухтысячных он ни разу не был у зубного.

image

В 90-е годы врачей, с которыми Илье приходилось тогда иметь дело, ни разу не посетила мысль о том, что пациенту во время приёма должно быть комфортно и не больно. Так что доверие к представителям нашей профессии было подорвано очень качественно.

Время шло, проблемы копились, пора было что-то с ними уже сделать. И тут на сцену вышли мы.

Поначалу — заочно: Илье попались на глаза наши статьи о типичных проблемах айтишников и он начал пролистывать наш блог. Слово за слово, пост за постом, и он принял решение хотя бы написать нам в личку.

К нам в клинику Илья пришёл летом 2023-го. Когда мы заканчивали лечение, он сказал мне:

«У вас в блоге много классных экспертных статей от докторов, но нет ни одной «с кушетки пациента».

Эта — первая. Нас здесь будет двое: я, врач Антон, и пациент Илья, и мы расскажем каждый со своей колокольни, как на практике проходит лечение больных с тяжёлым анамнезом и стоматофобией.
Читать дальше →
Всего голосов 47: ↑43 и ↓4+56
Комментарии38

Машина свободы: как чилийские социалисты придумали компьютер для управления экономикой

Время на прочтение9 мин
Количество просмотров18K

В 70-е годы в Чили задумали уникальный проект, который и сегодня кажется фантастическим — компьютер, который бы управлял экономикой всего государства. Систему удалось построить и успешно запустить — но ей было не суждено просуществовать долго из-за военного переворота. Однако проект, получивший название Cybersyn, остался важной вехой в истории технологий и до сих пор служит источником вдохновения. 

Читать далее
Всего голосов 48: ↑44 и ↓4+52
Комментарии88

Черная пятница в издательстве «Питер»

Время на прочтение1 мин
Количество просмотров13K
image

Добрый день, Хаброжители!

Настало время больших скидок, подробности внутри…
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

Нейросетевая революция в метеорологии. Как машинное обучение может навсегда изменить прогноз погоды

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров24K

14 ноября 2023 года команда Google Deepmind официально представила мировой общественности свою модель прогнозирования погоды – GraphCast. Её особенность заключается в том, что она способна рассчитывать погоду на 10 дней вперёд без понимания «физики» атмосферных процессов. Учёные обучали нейросеть на цифровых исторических архивах погоды за период с 1979 по 2017 годы. Сам же прогноз рассчитывается за минуту и не требует огромных суперкомпьютерных ресурсов. В тестах GraphCast смог обойти самую передовую гидродинамическую модель прогнозирования погоды от Европейского центра среднесрочных прогнозов. Рост качества был настолько существенным и резким, что в научной среде уже говорят о революции в сфере прогнозирования погоды. К чему это может привести и где смотреть самые точные прогнозы? Давайте разбираться.

Читать далее
Всего голосов 89: ↑89 и ↓0+89
Комментарии60

Точечная маршрутизация на Mikrotik: BGP и Address lists + Mangle. Реализация через домены

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров82K

Как загрузить список из 500 доменов на mikrotik, чтоб он их преобразовал в IP-адреса?

Как заставить Mikrotik резолвить домены по wildcard?

Как поднять Shadowsocks\VLESS на ROS?

Никак

Я задался этими вопросами, достал hAP ac lite из шкафа и посмотрел, на что способна ROS 7 в конце 2023 года. Потестил всем известные способы, а также попробовал запихать много доменов в address-lists.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии35

Что вы знаете о символьном программировании?

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров17K

Кликбейтный заголовок, риторический вопрос и обещание раскрыть тайну! Не самый лучший набор, но нормального названия для статьи мне в голову не пришло. Что же здесь все таки будет? Речь пойдет о реализации символьного программирования в Wolfram Language (WL). Я не буду рассказывать про отличия от других парадигм. А также здесь точно не будет общих определений. Вместо этого я попытаюсь ответить на несколько вопросов исходя из своего личного опыта и наблюдений.

Внимание! Я не математик и не знаю haskell и lisp! И буду рад если меня поправят настоящие математики, которые с ними знакомы.

Читать далее
Всего голосов 40: ↑40 и ↓0+40
Комментарии98

Безопасно стираем файлы с цифровых носителей

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров14K

В этом посте разбираемся, какие способы очистки цифровых носителей информации являются самыми подходящими для каждого типа. Отмечу, что пост не претендует на оригинальность, а лишь является сборником известной полезной информации для Вашего удобства.

Читать далее
Всего голосов 18: ↑16 и ↓2+18
Комментарии9

Музыкальные редакторы на портативках: LSDj, LGPT и EBT

Уровень сложностиПростой
Время на прочтение28 мин
Количество просмотров4.8K

Сегодня расскажу о сортах чиптюна, долгой жизни старой портативной игровой системы, мостике между видеоигровой и клубной музыкой, необычной музыкальной субкультуре, управлении сложным музыкальным редактором с помощью всего восьми кнопок, программах с провокационными названиями, и всё это является подводкой к рассказу о моём новом проекте. В нагрузку идёт немного DIY.
Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии11

FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc. для обхода блокировок

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров250K

Эта статья - сборник разных вопросов и ответов на них, которые звучали в комментариях к моим предыдущим статьям (Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-всеBleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто и других из той же серии) и в личных сообщениях.

Читать далее
Всего голосов 61: ↑61 и ↓0+61
Комментарии175

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность