Main menu
Дискретная математика

Дискретная математика (105)

Сложность булевых схем (Circuit Complexity): Архитектура вычислений

Когда мы оцениваем алгоритмы нотацией О-большое (O(N)), мы представляем Машину Тьюринга, которая последовательно выполняет код, считывая ленту туда и обратно. Но современные микропроцессоры работают иначе: это гигантские статичные графы из миллиардов транзисторов, по которым ток пробегает практически мгновенно. Для анализа аппаратной эффективности дискретная математика использует совершенно другую метрику — Сложность булевых схем.

Подробнее

Математическая логика и исчисление высказываний: строгий анализ

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

Подробнее

Теория множеств: Понятия, операции и диаграммы Эйлера-Венна

Теория множеств, созданная Георгом Кантором в конце XIX века, является языком и фундаментом всей современной математики. Множество — это одно из первоначальных, неопределяемых понятий математики. Интуитивно под множеством понимают совокупность, собрание, набор некоторых объектов, объединенных по какому-либо признаку. Объекты, составляющие множество, называются его элементами.

Подробнее

Булева алгебра и логические вентили: Фундамент вычислительной техники

Булева алгебра — раздел математической логики, в котором изучаются логические операции над высказываниями. Названа в честь английского математика Джорджа Буля. Особенность этой алгебры в том, что переменные могут принимать только два значения: "истина" (1) и "ложь" (0). Этот бинарный подход стал идеальной математической моделью для конструирования цифровых вычислительных машин и микропроцессоров.

Подробнее

Основы комбинаторики: Перестановки, размещения и сочетания

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

Подробнее

Введение в теорию графов: Основные понятия и применение

Теория графов — один из ключевых разделов дискретной математики, изучающий свойства графов. Граф в математическом понимании представляет собой совокупность непустого множества вершин (узлов) и множества ребер (связей), соединяющих пары вершин. Этот математический аппарат является фундаментом для решения множества прикладных задач в программировании, логистике, сетях и схемотехнике. Понимание теории графов необходимо каждому IT-специалисту для построения оптимальных алгоритмов.

Подробнее

Изоморфизм Карри-Ховарда: Код программы как математическое доказательство

Завершая наш цикл по дискретной математике, мы подходим к глубочайшей философской истине, объединяющей миры софта и чистой логики. Обычно программисты относятся к написанию кода как к ремесленной задаче: заставить компьютер выполнить команды. Математики же доказывают вечные истины. В середине XX века Хаскелл Карри и Уильям Ховард обнаружили, что эти два процесса — абсолютно одно и то же. Это открытие известно как Изоморфизм Карри-Ховарда.

Подробнее

Полностью гомоморфное шифрование (FHE): Святой Грааль криптографии

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

Подробнее

Задача византийских генералов: Математический консенсус при предательстве

Как синхронизировать работу сети независимых серверов, если известно, что некоторые из них могут сломаться или быть захвачены хакерами, посылающими ложную информацию? Эта проблема является главным вызовом при проектировании отказоустойчивых баз данных, сетей блокчейн и бортовых компьютеров космических кораблей. В 1982 году Лесли Лампорт математически формализовал эту проблему в виде знаменитой «Задачи византийских генералов».

Подробнее

Персистентные структуры данных: Математика "путешествий во времени" в коде

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

Подробнее
Subscribe to this RSS feed

Соц. сети