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

Обратная связь: @physicist_i
Download Telegram
Подборка_21_книга_по_дискретной_математике_и_алгоритмам.zip
73.5 MB
📚 Подборка: 21 книга по дискретной математике и алгоритмам. Автор: Шень А. Х.

📗 Лекции по дискретной математике [2017] Вялый, Подольский, Рубцов, Шварц, Шень
📒 Алгебра (2-е изд.) [2009] Гельфанд И.М., Шень А.Х.
📘 Колмогоровская сложность и алгоритмическая случайность [2013] Верещагин , Успенский, Шень
📙 Практикум по методам построения
алгоритмов [2016] Шень А.Х.
📚 Лекции по математической логике и теории
алгоритмов (4-е изд.) [2012] Верещагин Н. К., Шень А.
📕 Часть 1. Начала теории множеств:
📕 Часть 2. Языки и исчисления:
📕 Часть 3. Вычислимые функции:
📓 Языки и исчисления [2000] Верещагин Н.К., Шень А.
📒 Классические и квантовые вычисления [1999] А. Китаев, А. Шень, М. Вялый
📔 Игры и стратегии с точки зрения математики [2007] А. Шень
📘 Discrete Mathematics for Computer Science [2021] Golovnev A., Kulikov A.S., Podolskii V.V., Shen A
📘 Дискретная математика в программировании [2021] Головнев А., Куликов А.С., Подольский В.В., Шень А.
📘 Программирование: теоремы и задачи [2017] Шень
и другие..
#алгоритмы #программирование #математика #дискретная_математика #math #mathematics #maths #алгебра

💡 Physics.Math.Code // @physics_lib
51👍33🔥13❤‍🔥4🤯1
📚 Подборка необходимых книг по Computer Science [30 книг]

💾 Скачать подборку книг

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

Некоторые разделы Computer Science:
▪️ Математика. Особенно дискретная математика, которая изучает теорию графов, конечные автоматы, комбинаторику и другие сферы.
▪️ Теоретическая информатика. Фундаментальная наука, которая посвящена информации: тому, как она представляется, хранится и передаётся.
▪️ Теория искусственного интеллекта. К этой сфере относят всё, что связано с «умным» поведением компьютерных систем: робототехнику, компьютерное зрение, обработку компьютером естественного языка, машинное обучение, теорию нейронных сетей и многое другое.
▪️ Информационные сети. Раздел изучает сеть: то, как она устроена, каким образом передаёт информацию. Он описывает сетевые протоколы, их особенности и безопасность.
Для тех, кто захочет задонать на кофе☕️:
ВТБ: +79616572047 (СБП)
Сбер: +79026552832 (СБП)
ЮMoney: 410012169999048

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

Существуют области, где понимание компьютерных наук необходимо с самого начала и на более глубоком уровне. К ним относятся системное администрирование и Data Science. Первое напрямую связано с инженерией, второе — с математикой и наукой о данных. Без понимания Computer Science усвоение теории может быть затруднительным, так как она основана на информатике. Низкоуровневое программирование, близкое к "железной" части компьютеров, также требует понимания компьютерных наук. Языки-представители низкоуровневого программирования: Ассемблер, CIL, Forth. Также есть "среднеуровневые" языки, такие как С, С++, RUST. Они могут «напрямую» обращаться к аппаратным возможностям компьютера.

Сейчас много людей хотят попасть в IT самым лёгким путем, а именно: просто прийти на курс и сразу выучить определенный язык программирования. Но реальность такова, что сегодня работу находят наиболее сильные начинающие специалисты. Да, есть люди, которые знают только свой язык программирования и не больше. Они достигают в работе средних показателей и дальше упираются в потолок возможностей. Но если использовать более систематический подход и изучать Computer Science, твои возможности могут быть безграничны. Зная, как работает компьютер, как используются алгоритмы, как применять их для решения задач, которые представляет бизнес, разработчик может более полно использовать свой язык программирования и с легкостью изучить другие технологии. Начать вход IT с Computer Science — это изучить какой-то общий подход в программировании и получить набор инструментов, которые можно применить в любом языке. #подборка_книг #математика #программирование #информатика #CS #алгоритмы

💡 Physics.Math.Code // @physics_lib
🔥32👍216❤‍🔥5😍2
MUST READ по Computer Science.zip
542.1 MB
📚 Подборка необходимых книг по Computer Science [30 книг]

📔Параллельное программирование на С++ в действии. Практика разработки многопоточных программ (2016, EN + RU) Энтони Уильямс
📕Таненбаум Э. - Современные операционные системы. 3-е изд. (Классика Computer Science) - 2010
📗Язык программирования С [2015] Брайан У. Керниган, Деннис М. Ритчи
📙97 этюдов для программистов. Опыт ведущих экспертов [2012] Пит Гудлиф, Роберт Мартин, Диомидис Спинеллис, Кевлин Хенни
📘Algorithms Unlocked [2013] Thomas H. Cormen
📓Computer Networks [2021] Andrew S. Tanenbaum, Nick Feamster, David J. Wetherall
📒Introduction to Algorithms, Third Edition [2009] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
📔Martin. The Clean Coder - A Code of Conduct for Professional Programmers. 2011
📕
Алгоритмы. Вводный курс [2014] Томас Х. Кормен
📗
Алгоритмы. Построение и анализ. Изд. 3-е [2013] Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
📙Высоконагруженные приложения. Программирование, масштабирование, поддержка [2018] Клеппман Мартин
📘Игровой движок. Программирование и внутреннее устройство. Третье издание [2021] Грегори Джейсон
📓Идеальная работа. Программирование без прикрас [2022] Мартин Роберт
📒Идеальный программист. Как стать профессионалом разработки ПО [2012] Роберт Мартин
📔Карьера программиста 6 изд [2020] Лакман Макдауэлл
📕Компьютерные сети. 6-е изд. [2023] Эндрю С. Таненбаум, Ник Фимстер, Дэвид Уэзеролл
📗Приемы объектно-ориентированного проектирования. Паттерны проектирования 2015
📙Совершенный код [2010] Стив Макконнелл
📘Таненбаум Э. - Архитектура компьютера. 6-е изд. (Классика Computer Science) - 2013
📓Чистая архитектура [2021] Роберт Мартин
📒Чистый Agile. Основы гибкости [2020] Роберт Мартин
📔Чистый код создание, анализ и рефакторинг [2019] Роберт Мартин
📕Экстремальное программирование. Разработка через тестирование [2017] Кент Бек
📗Эффективный и современный С++ Скотт Мейерс
📙Наиболее эфективное использование C++ [2000] Мейерс
📘Эффективное использование C++ [2000] Скотт Мейерс
📓Эффективное использование STL [2002] Скотт Мейерс
📒Эффективный и современный С++ 42 рекомендации по использованию С++ 11 и С++14 [2016] Скотт Мейерс


Computer Science — это наука, объединяющая в себе различные области знаний, которые будут полезны специалисту, работающему с компьютерами и вычислениями. В общем-то это знания, которые пригодятся программисту. По словам Питера Деннинга, к фундаментальным вопросам информатики относится следующий вопрос: «Что может быть эффективно автоматизировано?» Изучение теории алгоритмов сфокусировано на поиске ответов на фундаментальные вопросы о том, что можно вычислить и какое количество ресурсов необходимо для этих вычислений. Для ответа на первый вопрос в теории вычислимости рассматриваются вычислительные задачи, решаемые на различных теоретических моделях вычислений. Второй вопрос посвящён теории вычислительной сложности; в этой теории анализируются затраты времени и памяти различных алгоритмов при решении множества вычислительных задач. Computer Science полезна для разработчиков, системных архитекторов, аналитиков высокого уровня, инженеров, системных администраторов, учёных и других специалистов. #подборка_книг #программирование #computerscience #алгоритмы #coding #programming

💡 Physics.Math.Code // @physics_lib
👍104🔥2510💊4🥰3🤯3❤‍🔥21
🖥 Помните предыдущие два поста про примитивные callback-функции и фильтрующие функции? Может возникнуть вопрос, а можно ли, реализовать свой аналог reduce() ?

Давайте сразу напишем такой пример:
numbers = [1, 11, 12, 13, 18, 9, 8, 6]

from functools import reduce

func = lambda acc, cur : acc + cur

total = reduce(func, numbers, 0)
print('Встроенная reduce: ',total)

def _reduce(callback, collection, init = 0):
acc = init
for k in collection:
acc = callback(acc, k)
return acc

_total = _reduce(func, numbers)
print('Моя reduce: ',_total)


Теперь объясним параметры и работу конструкции:
result = reduce( function, iterable[, initializer] ) :
▫️function — функция, применяемая к элементам итерации. Она должна принимать два аргумента.
▫️iterable — итерируемый объект, элементы которого вы хотите уменьшить. Это может быть список, кортеж или любой другой итерируемый объект.
▫️initializer — (необязательно): начальное значение аккумулятора (накопителя). Оно используется в качестве первого аргумента при первом вызове функции, если оно предусмотрено.

⚠️ Обработка пустых итераций: Одной из распространенных ошибок при использовании функции reduce() является обработка пустых итераций. Передача пустой итерации в reduce() без инициализатора вызывает Ошибку типа поскольку нет начального значения для запуска процесса сокращения. Чтобы избежать этого, всегда указывайте инициализатор, когда итерируемый объект может быть пустым.

⚙️ Производительность:
▫️ Эффективность reduce() по сравнению с циклами: Функция reduce() может быть более эффективной, чем явные циклы, потому что она реализована на C, что может обеспечить преимущества в производительности. Однако это преимущество часто незначительно и зависит от сложности применяемой функции.
▫️Преимущества использования встроенных функций в производительности: Встроенные функции, такие как sum(), min(), и max() высоко оптимизированы с точки зрения производительности. Они реализованы на C и могут выполнять операции быстрее, чем эквивалентный код Python с использованием reduce().

🖥 Зачем разработчикам нужна функция reduce() ? Функция reduce() полезна при итеративной обработке данных, избегая явных циклов и делая код более читаемым и кратким. Некоторые распространенные варианты использования включают:
▫️ Суммирование чисел в списке: Быстрое суммирование всех элементов.
▫️ Умножение элементов итеративного элемента: Вычисление произведения элементов.
▫️ Объединение строк: Объединение нескольких строк в одну.
▫️ Нахождение максимального или минимального значения: Определение самого большого или самого маленького элемента в последовательности.

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

💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40👨‍💻84🤨4🔥2👾2
🐍 Циклы и их прерывания в Python: алгоритм поиска в строке

Это заметка будет для начинающих, которые только знакомятся с программированием, информатикой и с языком Python, в частности. Вчера мы с учеником изучали циклы и некоторые операторы, которые дают возможность управлять циклами. В этой небольшой статье я покажу несколько примеров. При этом от совсем простых абстракций постараемся углубиться в более полезные вещи с практической точки зрения. [ Уровень сложности: ~7..8 класс ]

👨🏻‍💻 Читать заметку полностью

#python #алгоритмы #информатика #программирование #циклы

💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍378😢3🗿3🔥21
📘 Алгоритмы и структуры данных. Новая версия для Оберона [2010] Вирт Н.
📕 Построение компиляторов [2010] Вирт Н.
📗 Алгоритмы и структуры данных [1989] Вирт Н.

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

Никлаус Вирт (нем. Niklaus Emil Wirth, род. 15 февраля 1934 года) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук Швейцарской высшей технической школы Цюриха (ETHZ), лауреат премии Тьюринга 1984 года. Создатель и ведущий проектировщик языков программирования Паскаль, Модула-2, Оберон. #математика #программирование #алгоритмы #computer_science #информатика #подборка_книг

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

💡 Physics.Math.Code // @physics_lib
👍47🔥115🤩1
3 книги - Никлаус Вирт.zip
74.9 MB
📘 Алгоритмы и структуры данных. Новая версия для Оберона [2010] Вирт Н.

В классическом учебнике тьюринговского лауреата Н. Вирта аккуратно, на тщательно подобранных примерах прорабатываются основные темы алгоритмики - сортировка и поиск, рекурсия, динамические структуры данных. Перевод на русский язык выполнен заново, все рассуждения и программы проверены и исправлены, часть примеров по согласованию с автором переработана с целью максимального прояснения их логики (в том числе за счет использования цикла Дейкстры). Нотацией примеров теперь служит Оберон/Компонентный Паскаль - наиболее совершенный потомок старого Паскаля по прямой линии. Все программы проверены и работают в популярном варианте Оберона - системе Блэкбокс, и доступны в исходниках на прилагаемом CD вместе с самой системой и дополнительными материалами. Большая часть материала книги составляет необходимый минимум знаний по алгоритмике не только для программистов-профессионалов, но и любых других специалистов

📕 Построение компиляторов [2010] Вирт Н.

Книга известного специалиста в области информатики Никлауса Вирта написана по материалам его лекций по вводному курсу проектирования компиляторов. На примере простого языка Оберон-0 рассмотрены все элементы транслятора, включая оптимизацию и генерацию кода. Приведен полный текст компилятора на языке программирования Оберон. Для программистов, преподавателей и студентов, изучающих системное программирование и методы трансляции.

📗 Алгоритмы и структуры данных [1989] Вирт Н.

Книга известного швейцарского специалиста посвящена изложению фундаментальных принципов построения эффективных и надежных программ. В ней содержится также описание и анализ основных алгоритмов. В настоящем дополнительном тираже изложение ведется на основе языка Паскаль (на который переведены все примеры с Модулы-2, использованной автором в предыдущих изданиях), что, однако, не снижает ценность излагаемого материала для пользователей других языков программирования. Для настоящего издания текст заново сверен с оригиналом; в нем исправлены замеченные опечатки. Для программистов разной квалификации, преподавателей и студентов. #математика #программирование #алгоритмы #computer_science #информатика

💡 Physics.Math.Code // @physics_lib
👍56🔥14❤‍🔥641😍1🗿1
📚 12 лучших книг по теме: Теория Графов

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

🪄 Теория графов — раздел дискретной математики, изучающий графы. В самом общем смысле граф — это множество точек (вершин, узлов), которые соединяются множеством линий (рёбер, дуг). Теория графов (то есть систем линий, соединяющих заданные точки) включена в учебные программы для начинающих математиков, поскольку:
▪️как и геометрия, обладает наглядностью;
▪️как и теория чисел, проста в объяснении и имеет сложные нерешённые задачи;
▪️не имеет громоздкого математического аппарата («комбинаторные методы нахождения нужного упорядочения объектов существенно отличаются от классических методов анализа поведения систем с помощью уравнений»);
▪️имеет выраженный прикладной характер.
#дискретная_математика #математика #алгоритмы #информатика #программирование #теория_графов #it #computer_science

📚 Подборка книг по теории графов [15 книг]

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍278🤩1🫡1
12 книг по теории графов.zip
130.1 MB
📚 12 лучших книг по теме: Теория Графов

📕 Графы и их применение [1965] Оре

📘 Теория графов для учителей и школьников [2017] Мельников
📗 Графы и их применение, Пособие для учителей [1979] Березина Л.Ю.
📒 Графы [2014] Гуровиц В.М., Ховрина В.В.
📔 Теория графов [2018] Омельченко А.В.
📓 Теория графов, Алгоритмический подход [1978] Кристофидес Н.
📙 Теория графов [2003] Харари Ф
📘 Введение в теорию графов [2019] Уилсон Р.Дж.
📕 Олимпиадная математика, Задачи по теории графов с решениями и указаниями [2023] Семендяева Н.Л., Федотов М.В.
📗 Дискретная математика: графы, матроиды, алгоритмы [2001] Асанов, Баранский, Расин

В этих книгах:
▪️ Основы теории графов и их приложение для внеклассной работы в математических кружках
▪️ Все основные разделы современной теории графов — деревья, циклы, связность в графах, паросочетания, раскраски графов, планарные графы. В конце каждого параграфа приводятся задачи, дополняющие изложенный в учебнике теоретический материал.
▪️ Разнообразные алгоритмы, связанные с нахождением структурных и числовых характеристик объектов из теории графов. В частности, подробно рассматриваются различные алгоритмы поиска решения в задаче коммивояжера.
▪️ Многочисленные примеры иллюстрируют работу конкретных алгоритмов. Приводятся оценки сложности соответствующих процедур.
▪️ Взаимосвязь между теорией графов и теоретической кибернетикой (особенно теорией автоматов, исследованием операций, теорией кодирования, теорией игр).
#дискретная_математика #математика #алгоритмы #информатика #программирование #теория_графов #it #computer_science

💡 Physics.Math.Code // @physics_lib
👍62❤‍🔥107🔥7🤩3
Можно ли обойти конем шахматную доску?

Задача о ходе коня — задача о нахождении маршрута шахматного коня, проходящего через все поля доски по одному разу. Эта задача известна по крайней мере с XVIII века. Леонард Эйлер посвятил ей большую работу «Решение одного любопытного вопроса, который, кажется, не подчиняется никакому исследованию», датированную 1759 годом.
В терминах теории графов каждый маршрут коня, проходящий через все поля шахматной доски, соответствует гамильтонову пути (или циклу, если маршрут замкнутый) в графе, вершинами которого являются поля доски, и два поля соединены ребром, если с одного можно попасть на другое за один ход коня.
Для доски 8 × 8 количество всех замкнутых маршрутов коня (гамильтоновых циклов) без учёта направления обхода равно 13 267 364 410 532. Количество всех незамкнутых маршрутов (с учётом направления обхода) равно 19 591 828 170 979 904.

Некоторые методы решения задачи:
▪️ Метод Эйлера. Конь двигается по произвольному маршруту, пока не исчерпает все возможные ходы. Затем оставшиеся непройденными клетки добавляются в сделанный маршрут, после специальной перестановки его элементов.
▪️ Метод Вандермонда. Используется арифметический подход: маршрут коня на доске обозначается последовательностью дробей x/y, где x и y — это координаты клеток.
▪️ Правило Варнсдорфа. При обходе доски конь следует на то поле, с которого можно пойти на минимальное число ещё не пройденных полей.

Практическое применение задачи связано с теорией графов и поиском гамильтоновых путей. Методы задачи полезны в логистике, криптографии и 3D-графике. #математика #math #опыты #шахматы #алгоритмы #science #наука #видеоуроки

💡 Physics.Math.Code // @physics_lib
👍90🔥1911🤯8😍5❤‍🔥3
🖥 👨🏻‍💻 Товарищи-разработчики, давайте обсудим старт в 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
👍407🔥7👨‍💻2👏1
📙 Задачи по теории множеств, математической логике и теории алгоритмов [2004] И.А. Лавров, Л.Л. Максимова

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

💡 Physics.Math.Code // @physics_lib
👍56🔥156🤝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
🤔7551👍34🔥29🤯4🤩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
34👍25🔥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
👍1810🔥6🤔3🤯2🌚1🤗1