Обновить
222.53

Алгоритмы *

Все об алгоритмах

Сначала показывать
Порог рейтинга
Уровень сложности

Коллективное распознавание смысла

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

Предлагаемый материал является приложением в книге [1].

Современная цивилизация оказалась на перекрестке, на котором нужно выбрать смысл жизни. Из-за развития технологий большинство населения планеты может оказаться «лишним» - не востребованным в производстве ценностей. Есть и  другой вариант, когда каждый человек является высшей ценностью, абсолютной индивидуальностью и может быть незаменимо полезен в технологиях коллективного разума.

В восьмидесятых годах прошлого века задача создания научного направления «коллективный разум» была поставлена. Коллективный разум определяется ...

Читать далее

Искусственный интеллект и безопасность. Ч1

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

В России 30 мая 2019 года на совещании по развитию цифровой экономики под председательством В. В. Путина было принято решение о подготовке национальной стратегии по искусственному интеллекту. В её рамках разрабатывается федеральная программа с выделением 90 млрд рублей. В октябре 2021 года в РФ подписан Кодекс этики искусственного интеллекта, разработанный с учетом требований Национальной стратегии развития искусственного интеллекта на период до 2030 года.

Читать далее

Алгебра текста без формул

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

Статья является рефератом Книги [1], основанной на представленных ранее публикациях [2], [3], [4] и [5].

Читать далее

Генерация лабиринтов: алгоритм Эллера

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

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

Сегодня я хотел бы рассказать о генерации идеального лабиринта - алгоритмом Эллера. Статья подойдёт всем любителям алгоритмов.

Читать далее

GPT-4 уже не за горами. Что мы о нём знаем

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

Возможно, вы помните, что о появлении GPT-3 объявили в мае 2020 года. Его запустили через год после GPT-2, который также появился спустя год после первой версии GPT. Если бы эта тенденция сохранялась, то GPT-4 уже был бы доступен. Увы, четвёртой версии мы пока не дождались. Но генеральный директор OpenAI Сэм Альтман недавно заявил, что GPT-4 на подходе. Некоторые эксперты полагают, что релиз состоится где-то в июле-августе 2022 года.

Удивительно то, что информации о GPT-4 очень мало. На что он будет похож, какие у этой модели особенности и возможности. Точно известно, что у GPT-4 не будет 100 триллионов параметров (т.е. в 500 раз больше, чем заложено в GPT-3). Для создания такой большой модели нужно больше времени.

Давайте попробуем разобраться, что ещё известно о четвёртом поколении алгоритма обработки естественного языка от OpenAI.

Читать далее

Социальные сети: безопасность и моделирование

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

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

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

Читать далее

Wordle или как выиграть за 6 ходов

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

Статья о достаточно известной игре по угадыванию пятибуквенных слов, и о том как всегда в ней выигрывать

Читать далее

Программирование: теоремы и задачи

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

После неудачного (с точки зрения эффективности траты времени) погружения в "Грокаем алгоритмы" по совету Яндекс Практикум и решения нескольких задач в "Бесплатный курс: подготовка к собеседованиям" от того же Яндекса решил поискать литературу на тему разбора задач. Довольно много рекомендаций указывало на книгу "Программирование: теоремы и задачи" от Александра Шень. Предыдущее издание книги можно, кстати, официально скачать с сайта издательства Московского Центра Непрерывного Математического Образования.

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

Читать далее

R*-tree в Go, немного геймдева и поиска элементов в пространстве

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

Приветствую, уважаемые читатели Habr!

Если Вы когда-нибудь задумывались, какая структура данных может помочь максимально эффективно искать элементы в пространстве, то, возможно, эта статья Вам поможет!

Эта статья заденет опыт в геймдейве и идеи, где это ещё можно было бы использовать :)

Читать далее

Язык-головоломка Marthue

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

Предлагаю читателям Хабра "эзотерический" язык программирования, обобщающий нормальные алгоритмы Маркова (НАМ) и полусистемы Акселя Туэ (semi-Thue systems). В языке есть возможность интерактивного ввода и вывода, выбора поиска замены подстрок с начала, конца строки или случайным образом, условного рекурсивного вызова одного блока подстановок из другого, а также условного перехода между блоками. Это позволяет совмещать подстановку строк с элементами императивного и даже функционального программирования, а также исследовать недетерминированные алгоритмы.

Интерпретатор написан под Линуксом на языке Common Lisp, который я считаю одним из самых мощных и удобных, в том числе для экспериментальногого программирования. При желании большого труда не составит переписать его на любом популярном языке: например, сделать онлайновую версию в Javascript. Просто для запуска программ Лисп знать практически не нужно: достаточно инсталлировать любую версию Common Lisp и ввести нужный файл парой простых функций. Скачать репозиторий интерпретатора Marthue можно здесь.

Читать далее

Алгоритмы на кристалле. Глава 1 (продолжение): Быстродействие элементарных схем

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

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

Следующая статья.
Предыдущая статья
Примерное оглавление будущей книги.

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

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

Приятного чтения.
Читать дальше →

Распределенные Workflow на PHP. Часть 1

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

Мы занимаемся разработкой огромного количества сложного ПО для автоматизации и энтерпрайза и Workflow для нас — это большая и больная проблема. Если для вас тоже — я расскажу, как писать и оркестрировать очень сложные процессы на масштабах, и как убедиться, что они не падают. А также как делать таймеры на 30 дней внутри процессов. И самое главное, как всё это пилить на PHP.

Меня зовут Антон Титов. Я более 17 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang. Разговор пойдет про нашу разработку Temporal PHP SDK, которая и помогает решать все вышеперечисленные сложные задачи.

Читать далее

10 лучших алгоритмов 20 века

Время на прочтение7 мин
Количество просмотров49K
Прим. Эта статья была опубликована в майском номере 2000 года журнала SIAM. На рубеже веков появилась «мода» на подведение итогов уходящего столетия. И алгоритмы этой участи не избежали. В этой статье авторы делают обзор 10 лучших алгоритмов 20 века. Возможно, вам будет интересно узнать, какие алгоритмы, по мнению авторов списка, внесли наибольший вклад в развитие науки.

Algos — греческое слово, означающее боль. Algor — латинское слово, означающее холод. Но ни то, ни другое не является корнем слова «алгоритм», которое происходит от имени Аль-Хорезми – арабского ученого девятого века – чья книга «al-jabr wa’l muqabalah» (Китаб аль-джебр ва-ль-мукабала) переросла современные учебники по алгебре для средней школы. Аль-Хорезми подчеркивал важность методических процедур для решения задач. Будь он сегодня здесь, то, несомненно, был бы впечатлен вершинами математического метода, названного в его честь.

Часть из лучших алгоритмов компьютерной эры были освещены в январско-февральском выпуске 2000 года журнала Computing in Science & Engineering — совместном издании Американского института физики и Компьютерного общества IEEE. Приглашенные редакторы Jack Dongarra (Джек Донгарра) из Университета Теннесси и Francis Sullivan (Фрэнсис Салливан) из Института оборонного анализа составили список из 10 алгоритмов, который они назвали «Top Ten Algorithms of the Century».

«Мы попытались собрать 10 алгоритмов, оказавших наибольшее влияние на развитие и практику науки и техники в 20 веке», — пишут Донгарра и Салливан. По признанию авторов, как и в любом рейтинге, их выборы неизбежно будут спорными. Когда дело доходит до выбора лучшего алгоритма, кажется, что он и вовсе не существует.

Итак, вот список 10 лучших алгоритмов в хронологическом порядке. (Все даты и имена стоит воспринимать как аппроксимацию первого порядка. Большинство алгоритмов формируются в течение времени при участии многих ученых).
Читать дальше →

Ближайшие события

.NET 6: PriorityQueue

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

В .NET 6 появилась новая коллекция — PriorityQueue<TElement,TPriority>. До этого очереди с приоритетами уже были в .NET, но только в виде внутренних классов — они использовались под капотом разных механизмов в WPF, Rx.NET и в других частях фреймворка. 

Но в .NET 6 PriorityQueue стала новой коллекцией, которой теперь можно пользоваться из клиентского кода. Давайте посмотрим, что предлагает эта очередь, как она устроена внутри и насколько быстро работает. Под катом будет постепенное погружение: от примеров использования в коде к введению n-арные деревья.

Читать далее

Симулятор x86 подобного процессора на машине Тьюринга

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

Привет, Хабр! В свободное от работы время по вечерам мне нравится воплощать в жизнь свои сумасшедшие идеи. В один из таких вечеров родилась мысль реализовать компилятор кода в машину Тьюринга. Осознав всю тщетность бытия сложность реализации, было принято решение начать с чего-то более простого – симулятора простенького процессора со своим собственным ассемблером, в котором команды выполнялись бы с помощью различных состояний машины Тьюринга, а данные хранились бы на одной ленте. В конечном итоге удалось осуществить практически первоначальную задумку, а именно получить одну единственную машину Тьюринга, способную выполнять скомпилированную из NASM подобного ассемблера программу без какого-либо внешнего взаимодействия.

Читать далее

W-функция Ламберта и ее приложения

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

Математический анализ знает множество замечательных функций со своими удивительными свойствами и применениями. Сегодня я бы хотел рассказать читателю об одной из таких - W-функции Ламберта.

Читать далее

Парадоксальный рост популярности Python в научных вычислениях

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

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

Читать далее

Как улучшить распознавание скелетов в MediaPipe

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

Я очень люблю скелетные детекторы из Mediapipe. Чтобы запустить их нужно всего несколько минут. Работает на разных платформах (мобильные, pc, embedded, и.т.д.). И выдает достаточное качество для многих применений. 

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

Читать далее

Генетический алгоритм поиска решения для задачи по выбору планировок этажа многоквартирного дома

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

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

Читать далее

Вклад авторов