Physics.Math.Code
143K subscribers
5.2K photos
2.05K videos
5.81K files
4.45K links
VK: vk.com/physics_math
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode

№ 6045941532

Обратная связь: @physicist_i
Download Telegram
🖥 👨🏻‍💻 Товарищи-разработчики, давайте обсудим старт в IT. Расскажите в комментариях:

▪️С какой первой книги вы начали изучать программирование и Computer Science ? Понравилась ли вам эта книга или нет?

▪️ Какую книгу вы считаете лучшим вариантом для начала?

▪️ Самая сложная книга, связанная с программированием, с которой вы сталкивались?

▪️Книги VS Курсы VS Метод научного тыка, пока не скомпилируется?

▪️Условный Chat GPT — добро или зло для программиста?

📝 Обсуждаем вопросы здесь

#computer_science #разработка #IT #программирование #code #coding #алгоритмы

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍417🔥7👨‍💻2👏1
📙 Задачи по теории множеств, математической логике и теории алгоритмов [2004] И.А. Лавров, Л.Л. Максимова

💾 Скачать книгу

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

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

Некоторые области применения теории множеств: компьютерные науки, информационные технологии, моделирование данных, проектирование баз данных и разработка алгоритмов. #computer_science #дискретная_математика #математика #теория_множеств #math #coding #алгоритмы

☕️ Для тех, кто захочет задонать на кофе:
ВТБ: +79616572047 (СБП) Сбер: +79026552832 (СБП)

💡 Physics.Math.Code // @physics_lib
👍42🔥74😍2
Задачи_по_теории_множеств,_математической_логике_и_теории_алгоритмов.zip
4.3 MB
📙 Задачи по теории множеств, математической логике и теории алгоритмов [2004] И.А. Лавров, Л.Л. Максимова

В книге в форме задач систематически изложены основы теории множеств, математической логики и теории алгоритмов. Книга предназначена для активного изучения математической логики и смежных с ней наук. Состоит из трех частей: «Теория множеств», «Математическая логика» и «Теория алгоритмов». Задачи снабжены указаниями и ответами. Все необходимые определения сформулированы в кратких теоретических введениях к каждому параграфу. 3-е издание книги вышло в 1995 г. Сборник может быть использован как учебное пособие для математических факультетов университетов, педагогических институтов, а также в технических вузах при изучении кибернетики и информатики. Для математиков – алгебраистов, логиков и кибернетиков.

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

📝 Теория алгоритмов развивается по нескольким направлениям:

▪️ Классическая теория алгоритмов. Изучает проблемы формулировки задач в терминах формальных языков, проводит классификацию задач по классам сложности (P, NP и др.).

▪️ Теория асимптотического анализа алгоритмов. Рассматривает методы получения асимптотических оценок ресурсоёмкости или времени выполнения алгоритмов, в частности, для рекурсивных алгоритмов.

▪️ Теория практического анализа вычислительных алгоритмов. Решает задачи поиска практических критериев качества алгоритмов, разработки методики выбора рациональных алгоритмов. #computer_science #дискретная_математика #математика #теория_множеств #math #coding #алгоритмы

💡 Physics.Math.Code // @physics_lib
🔥31👍207🤯1
🖥 Какая самая страшная структура данных?

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

Некоторые структуры данных в программировании:

◾️ Списки. Подходят для хранения и обработки упорядоченных данных. Полезны в управлении задачами, лентах соцсетей и корзинах интернет-магазинов.

◾️ Массивы. Упорядоченная коллекция элементов фиксированного размера. Подходят для ситуаций, где размер коллекции известен или редко меняется.

◾️ Стеки. Следуют принципу «последним пришёл — первым вышел». Используются для реализации операций отмены/повтора в текстовых редакторах или ведения истории просмотров в веб-браузерах.

◾️ Очереди. Работают по принципу «первым пришёл — первым вышел». Подходят для управления заданиями печати, отправки действий пользователя в играх на сервер или обработки сообщений в чат-приложениях.

◾️ Деревья. Организуют данные иерархически. Полезны для представления данных с естественными иерархиями или связями.

◾️ Графы. Состоят из узлов (вершин) и рёбер, соединяющих эти узлы. Используются для моделирования сетей, таких как социальные сети, транспортные сети и компьютерные сети.

◾️ Хэш-таблицы. Позволяют эффективно искать, вставлять и удалять данные. Используют хэш-функцию для сопоставления ключей с соответствующими местами хранения и обеспечивают доступ к сохранённым значениям за постоянное время.
#программирование #разработка #структуры_данных #алгоритмы #IT #computer_science

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9723👨‍💻9🙈5🌚43🔥2👻2❤‍🔥1
⌨️ Программирование циклично, дамы и господа? Ваше мнение в комментариях...

👨🏻‍💻 Комментарий одного из наших подписчиков к посту с рассуждением о развитии IT:

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

* — не смотря на общераспространенное мнение что в целом программирование сейчас стало топорным: программисты стараются не писать реализацию сами, а прежде всего искать готовое, применять сверхвысокоуровневые и сверхабстрагированные конструкции (тратящие процессорное время) вместо того чтобы написать на Си, а сейчас так еще (что на самом деле возможно плохо для индустрии) - применяют для написания ИИ. И даже есть шутка что "раньше, когда компьютеры были большими, а программисты умными" - вот не смотря на все это и сам код в целом становится лучше, хорошеет, в том плане что тенденция в коде такова что он стремится быть максимально независящим и от аппаратуры и процессоров и от размера данных, а весь необходимый аппаратно-зависимый код стараются максимально минимизировать и изолировать в отельных маленьких модулях.

Яркий пример первые DOS игры которые от аппаратуры зависели на столько что стали не играбельны когда процессоры стали быстрее, тк "физика" в играх зависела не от времени а от частоты процессора.

Я описал более менее хороший сценарий, когда одно другое подгоняет и мы уже имеем возможность вооружившись необходимым минимумом абстракций писать код независящий от оборудования. Но дальше этим начинают злоупотреблять особенно читая мантры "время программиста дороже всего", "интересы бизнеса дороже всего", и в итоге получаются такие вещи как Electron, как Python, как приложения в браузере - печальная сторона современного IT, тот самый плохой код, тормозящий процессоры.


#IT #алгоритмы #computer_science #программирование #наука

💡 Physics.Math.Code // @physics_lib
💯48👍24❤‍🔥146🔥2🤓2🗿2🤷‍♂1
📙 Обработка нечеткой информации в системах принятия решений [1989] Борисов, Алексеев

💾 Скачать книгу

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

Обработка нечёткой информации включает несколько этапов, которые называются процессом нечёткого вывода:
1. Фаззификация — преобразование входных данных в значения лингвистических переменных.
2. Нечёткий вывод — применение процедур на множестве продукционных правил для формирования выходных лингвистических значений.
3. Дефаззификация — преобразование выведенных значений в точные значения для действий или решений.

Некоторые методы обработки нечёткой информации:
▪️На основе алгоритмов нечёткого вывода. Например, механизм Мамдани, который включает фаззификацию, нечётный вывод, композицию и дефаззификацию.
▪️С использованием функций принадлежности. Они количественно определяют степень принадлежности элемента к нечётному множеству и могут принимать различные формы (линейная, экспоненциальная, гауссова).
▪️С применением интервального анализа. Позволяет работать с величинами, для которых задан лишь интервал допустимых или возможных значений.
#физика #автоматизация #нечеткая_логика #математика #алгоритмы #искусственный_интеллект #math #science #AI #наука

💡 Physics.Math.Code // @physics_lib
👍53❤‍🔥12🔥75🤯4🫡1
Обработка_нечеткой_информации_в_системах_принятия_решений_1989_Борисов.djvu
13.3 MB
📙 Обработка нечеткой информации в системах принятия решений [1989] Борисов, Алексеев

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

Обработка нечёткой информации применяется в различных областях, например:

▪️Системы управления. Контроллеры с нечёткой логикой определяют оптимальные точки переключения передач на основе скорости, положения дроссельной заслонки и других факторов.
▪️Экспертные системы. Используют нечёткую логику для имитации способностей человека-эксперта к принятию решений. Например, системы медицинской диагностики оценивают симптомы и результаты анализов, предоставляя диагноз, учитывающий неопределённость состояния здоровья.
▪️Обработка изображений. Нечёткая логика помогает определить границы, уменьшить шум и улучшить качество изображения, учитывая неоднозначность данных.
▪️Системы поддержки принятия решений. Принимают обоснованные решения на основе неполной или неопределённой информации, например, оценивают риск и доходность вариантов инвестирования в неопределённых рыночных условиях.

#физика #автоматизация #нечеткая_логика #математика #алгоритмы #искусственный_интеллект #math #science #AI #наука

💡 Physics.Math.Code // @physics_lib
👍57🔥157🤝3👻2
This media is not supported in your browser
VIEW IN TELEGRAM
#️⃣ Обычный поиск VS Квантовый поиск

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

Поисковые алгоритмы, основанные на квантовых прогулках, могут найти применение в различных областях, включая оптимизацию, машинное обучение, криптографию и сетевой анализ. Эффективность и вероятность успеха квантового поиска сильно зависят от структуры пространства поиска. В целом, алгоритмы квантового поиска обеспечивают асимптотическое квадратичное ускорение, аналогичное алгоритму Гровера. Одна из первых работ по применению квантового блуждания к задачам поиска была предложена Нилом Шенви, Джулией Кемпе и К. Биргиттой Уэйли. #математика #math #геометрия #графика #наука #алгоритмы #дискретная_математика #графы #задачи #программирование

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7853👍36🔥30🤯5🤩1💯1
👨🏻‍💻 Интересная история из нашего чата ( @math_code ), которая может послужить темой для обсуждения нескольких важных вопросов.

▪️ Нужно ли переживать по поводу возраста, в котором вы начинаете изучать Computer Science и программирование в частности? Или силы и знания приходят во время процесса, во время решения и умственной активности, и это не зависит от возраста?

▪️ Нужно ли впадать в депрессию, если что-то долго не получается? Сравнивать себя с другими? Если все вокруг лучше, то неужели нужно бросать это дело? Или же наоборот нужно стремиться быть именно в том коллективе, где ты самый слабый (временно), чтобы был рост?

▪️ Что делать, если не получается решить задачу? Какой алгоритм можно предложить, чтобы научиться вытаскивать себя из таких ситуаций?

▪️ Если вы опытный разработчик, дайте советы начинающим. Именно те советы, которых вам так сильно не хватало на старте вашего обучения. Расскажите про свой опыт, свою историю успеха и неудач. Расскажи про ваш возраст.

📚 Подборка книг по дискретной математике, информатике, алгоритмам

📚 Искусство программирования / The Art of Computer Programming

📚 3 книги по программированию [Никлаус Вирт]

🖥 Какая самая страшная структура данных?

#IT #алгоритмы #computer_science #программирование #наука

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
36👍28🔥8👻32❤‍🔥1🙏1
👨🏻‍💻 Алгоритмическая задачка для наших программистов. Попробуйте самостоятельно написать алгоритм для расчета данного выражения.

💡 Как можно написать алгоритм для общего случая, когда число под самым внутренним корнем равно n ?

✏️ Обсуждаем задачу здесь в комментариях 🔎

#программирование #IT #разработка #computer_science #алгоритмы #задачи #code #разбор_задач #programming #coding

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2414🔥9🤔3🤯2🤗21🌚1
🖥 👨🏻‍💻 Товарищи-разработчики, давайте обсудим старт в IT. Расскажите в комментариях:

▪️С какой первой книги вы начали изучать программирование и Computer Science ? Понравилась ли вам эта книга или нет?

▪️ Какую книгу вы считаете лучшим вариантом для начала?

▪️ Самая сложная книга, связанная с программированием, с которой вы сталкивались?

▪️Книги VS Курсы VS Метод научного тыка, пока не скомпилируется?

▪️Условный Chat GPT — добро или зло для программиста?

🖥 Обсуждаем здесь в комментариях

📝 Прошлое обсуждение этой темы

#computer_science #разработка #IT #программирование #code #coding #алгоритмы

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍7🔥3👨‍💻2🤯1
📘 Создаем игры и изучаем C++. 3-е изд. [2025] Хортон Джон
📗 Beginning C++ Game Programming, 3rd Edition [2024] Learn C++ from scratch by building fun games John Horton


💳 Купить книгу или купить EN-версию

💾 Ознакомиться с RU + EN книгами

👨🏻‍💻 По просьбам камрадов запускаем складчину на новую книгу по C++ 📖
⚠️ UPD: За первые полчаса никто не стал скидываться, поэтому купил сам, выложил для всех.

Для тех, кто захочет пожертвовать на покупку книг:
Карта ВТБ: 2200241413279641 ( СБП: +79616572047 )
Карта Сбер: 2202200638175206  ( СБП: +79026552832 )
Crypto TON USDT: UQD3MDl2ywN6zcjxe5HWOUmeV9shJE35HKv2Ihm61QUj73uE
ЮMoney (яндекс.деньги): 410012169999048

✍🏻 Отзывы: Книга хорошо структурирована и очень увлекательная. Первые три проекта так себе, а от последнего прям оторваться тяжело. Только код советую либо вручную набивать, либо с github копировать. Редакторы Packt своими кривыми культяпками как обычно факапят довольно много и не проверяют что получилось.
#складчина #алгоритмы #cpp #программирование #cplusplus #gamdev #разработка_игр

💡 Physics.Math.Code // @physics_lib
45👍37🔥11🤩3😍3
Игры на C++.zip
23 MB
📘 Создаем игры и изучаем C++. 3-е изд. [2025] Хортон Джон

Мечтаете создавать игры, но не знаете, с чего начать? Книга «Создаем игры и изучаем C++» станет вашим проводником в мире игровой разработки! Это издание было адаптировано под Visual Studio 2022, C++20 и библиотеку SFML, оно предлагает уникальный подход: вы не только освоите язык C++ с нуля, но и примените знания на практике, создав четыре игры в разных жанрах. Вы начнете с изучения основ программирования, познакомитесь с ключевыми темами C++: объектно-ориентированное программирование (ООП), указатели и стандартная библиотека шаблонов (STL). Разберетесь с методами обнаружения коллизий и столкновений в игровой физике, на примере игры Pong. Создавая игры, вы познакомитесь с массивами вершин, направленным звуком, шейдерами OpenGL, порождением объектов и многим другим. Вы погрузитесь в игровую механику и реализуете обработку ввода, повышение уровня персонажа и даже «вражеский» ИИ. Наконец, вы изучите паттерны проектирования игр, чтобы усовершенствовать навыки программирования на C++.

К концу книги вы сможете разрабатывать собственные игры, публиковать их и удивлять аудиторию. Книга идеально подойдет для новичков в программировании и C++, геймдев-энтузиастов, желающих освоить SFML и современные методы работы, и тем, кто мечтает создать игру для Steam или портфолио. Готовы превратить код в захватывающие миры? Создавайте! Программируйте! Вдохновляйте!

📗 Beginning C++ Game Programming, 3rd Edition [2024] Learn C++ from scratch by building fun games John Horton


Get to grips with programming and game development techniques using C++ libraries and Visual Studio 2022 with this updated edition of the bestselling series. Always dreamed of creating your own games? With the third edition of Beginning C++ Game Programming, you can turn that dream into reality! This beginner-friendly guide is updated and improved to include the latest features of VS 2022, SFML, and modern C++20 programming techniques. You'll get a fun introduction to game programming by building four fully playable games of increasing complexity. You'll build clones of popular games such as Timberman, Pong, a Zombie survival shooter, and an endless runner.

The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as vertex arrays, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. You’ll dive deep into game mechanics and implement input handling, levelling up a character, and simple enemy AI. Finally, you'll explore game design patterns to enhance your C++ game programming skills. By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch.

What you will learn:
▪️ Set up your game project in VS 2022 and explore C++ libraries such as SFML
▪️ Build games in C++ from the ground up, including graphics, physics, and input handling
▪️ Implement core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound
▪️ Implement automatically spawning objects and AI to create rich and engaging experiences
▪️ Learn advanced game development concepts, such as OpenGL shaders, texture atlases, and parallax backgrounds
▪️ Scale and reuse your game code with modern game programming design patterns

This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful. #складчина #алгоритмы #cpp #программирование #cplusplus #gamdev #разработка_игр

💡 Physics.Math.Code // @physics_lib
👍6231🔥13❤‍🔥2
📕 Алгоритмы. Руководство по разработке. 3-е изд. [2022] Скиена Стивен С.

📕The Algorithm Design Manual [2020] Steven S. Skiena

💾 Скачать книги

📝 Алгоритм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.

☕️ Для тех, кто захочет задонать на кофе: ВТБ: +79616572047 (СБП) ЮMoney: 410012169999048

📚 2 книги по алгоритмам [RU+EN] популярных авторов [Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн]

„Функции используются для наведения порядка в хаосе алгоритмов.“ —
©️ Бьярне Строуструп известный программист и информатик, создатель языка программирования

#складчина #алгоритмы #математика #программирование #computer_science #дискретная_математика

💡 Physics.Math.Code // @physics_lib
👍3521🔥15🤩2🙏2💯2🤝1
📕_Алгоритмы_Руководство_по_разработке_3_е_изд_2022_Скиена_Стивен.zip
107.9 MB
📕 Алгоритмы. Руководство по разработке. 3-е изд. [2022] Скиена Стивен С.

Книга является наиболее полным руководством по разработке эффективных алгоритмов. Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования. Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации. В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений. Добавлено более 100 новых задач, даны ссылки к реализациям на C, C++ и Java. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей.

📕 The Algorithm Design Manual [2020] Steven S. Skiena

This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography. #алгоритмы #математика #программирование #computer_science #дискретная_математика #computer_science #algorithms

💡 Physics.Math.Code // @physics_lib
🔥45👍2116🤩3🙏3👨‍💻21