Pull to refresh
23
0
Aleks Lozovyuk @aleks_raiden

Криптовалюты, финансы, распределенные системы

Send message

Тьюринг и Гёдель — два взгляда на искусственный интеллект и не только

Level of difficulty Easy
Reading time 10 min
Views 2K

Привет! Меня зовут Саша Шутай, я руководитель направления PHP в AGIMA. Мы с командой подготовили большой разбор научных взглядов двух великих ученых: Алана Тьюринга и Курта Гёделя. Подумали, что будет интересно сравнить их биографии и подходы к искусственному интеллекту. Если тема зайдет, будем и дальше рассказывать об истории математики и разработки.

Как известно, у программиста стакан наполовину Алан, а у математика — наполовину Курт. Алан Тьюринг и Курт Гёдель — два величайших ума XX века, вклад которых в науку фундаментален. Полнота по Тьюрингу — критерий того, что вычислительная система способна решить любую разумную задачу. Неполнота по Гёделю — свойство любой достаточно сложной теории, из-за которого в ней нельзя ни доказать, ни опровергнуть некоторые утверждения.

Кажется, что из этих двоих Тьюринг — «хороший полицейский»: Тьюринг-полнота утверждает, что любая задача разрешима, даже если ты программист на Brainfuck. А Гёдель в этой парочке, соответственно, плохиш: его теорема говорит, что некоторые вещи не доказать совсем никак, и в свое время она конкретно обломала программу Гильберта по формализации всея математики. Все ли так однозначно? В чем на самом деле фундаментальное различие между их взглядами? Искусственный интеллект в заголовке — это кликбейт? Ответы на эти и другие вопросы ожидают вас под катом.

Читать далее
Total votes 34: ↑31 and ↓3 +28
Comments 3

Расчет количества газа необходимого для выполнения транзакции в Ethereum. Часть 2 — storage

Level of difficulty Hard
Reading time 18 min
Views 990

Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых «дорогих» операциях работы с хранилищем смарт‑контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Ethereum, чтобы увидеть, по каким принципам сообщество принимало решения об изменениях «правил игры» и как сегодня, на основе этой истории, правильно выполнять такие расчеты.

Статья для тех, кто хочет разобраться почему слоты в storage бывают теплыми и холодными, грязными или свежими и за что возвращают газ. Также затронем списки доступа и intrinsic gas. Наконец увидим полную картину учета газа от инициализации транзакции до ее выполнения.

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 1

Эффективные трассировки в Go

Level of difficulty Medium
Reading time 6 min
Views 1.8K

Пакет runtime/trace содержит мощный инструмент для понимания программ Go и устранения неполадок. Функциональность внутри позволяет создавать трассировку исполнения каждой горутины за определенный период времени. С помощью go tool trace command (или превосходного инструмента gotraceui с открытым исходным кодом) можно визуализировать и исследовать данные в этих трассировках.

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

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 0

С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз

Level of difficulty Medium
Reading time 18 min
Views 17K

Приветствую тебя! Меня зовут Дмитрий и я работаю в LAD.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.

Читать далее
Total votes 43: ↑42 and ↓1 +41
Comments 36

CI/CD Kubernetes платформа Gitorion. Непрерывная доставка CD на базе Jenkins

Level of difficulty Medium
Reading time 4 min
Views 1.9K

Привет всем! В предыдущей статье мы подробно рассмотрели реализацию непрерывной интеграции CI в платформе Gitorion. В данной статье предлагаем вашему вниманию подробный разбор внедрения непрерывной доставки CD в платформу Gitorion на базе Jenkins.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Comments 0

Почему рациональный выбор невозможен

Reading time 8 min
Views 8.2K
image

Примерно до середины XX века экономисты искренне верили в Homo Economicus — разумного человека, обладающего всей необходимой для принятия решений информацией, способного качественно её проанализировать и сформулировать лучшее решение, которое принесёт всем максимальную пользу. Но потом внезапно выяснилось, что люди устроены немножко сложнее, чем думали экономисты, и в природе такой «сферический Homo Economicus в вакууме» встречается редко.

Чаще всего вместо этого самого лучшего решения стоит искать удовлетворительное и приемлемое, которое устроит всех. Но даже это получается далеко не всегда.

Иногда достаточно найти просто первое подходящее.

А пока — знакомьтесь, примерно вот так представляли в 1844 году новый вид человека — сверхрационального Homo Economicus:

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

Как вы понимаете, с эволюцией человечества тоже что-то пошло не по этому плану.
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Comments 17

Обзор Polygon zkEVM: как работает L2 решение для Ethereum

Level of difficulty Medium
Reading time 19 min
Views 901

Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Polygon zkEVM. Как блокчейн решает проблему высокой стоимости газа в транзакциях и использует другие преимущества ZK-Rollups? Ответы на эти и другие вопросы в этой статье. 

Для более детального понимания Zero-Knowledge Proofs (ZKP), рекомендую обратиться к этой статье в нашей Blockchain-Wiki на Гитхабе.

Погнали!:)

Читать далее
Total votes 15: ↑14 and ↓1 +13
Comments 2

Реальность обладает поразительным числом деталей

Level of difficulty Easy
Reading time 12 min
Views 13K

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

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

Читать далее
Total votes 46: ↑44 and ↓2 +42
Comments 68

CI/CD Kubernetes платформа Gitorion. Непрерывная интеграция CI на базе Gitea/Forgejo

Level of difficulty Medium
Reading time 5 min
Views 2.4K

Привет всем! В предыдущей статье мы обзорно рассмотрели основные компоненты CI/CD Kubernetes платформы Gitorion. В данной статье подробнее остановимся на реализации хостинга кода, системы управления версиями и непрерывной интеграции CI.

Читать далее
Total votes 7: ↑5 and ↓2 +3
Comments 2

Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД

Level of difficulty Hard
Reading time 12 min
Views 9.4K

Общеизвестно, что PostgreSQL - крайне эффективная СУБД с богатой функциональностью. При этом не секрет, что PostgreSQL масштабируется только вертикально и её производительность ограничена возможностями одного сервера.

Написано много хороших постов, в которых сравнивают архитектуру монолитных и распределенных СУБД. К сожалению, обычно авторы ограничиваются теоретическим сравнением и не приводят конкретные цифры. Данный пост же наоборот основан на эмпирическом исследовании с использованием бенчмарка TPC-C, который является промышленным стандартом для оценки производительности транзакционных СУБД (On-Line Transaction Processing, OLTP).

Мы расскажем, когда именно одного Postgres'a становится мало, и какие возможны компромиссы между производительностью и надежностью. Для тех, кто не готов к компромиссам, мы покажем, что могут предложить такие распределенные СУБД, как CockroachDB и YDB.

Читать далее
Total votes 29: ↑28 and ↓1 +27
Comments 44

Обратный прокси-сервер vs абузоустойчивый хостинг

Reading time 4 min
Views 3.3K

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

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

Читать далее
Total votes 11: ↑7 and ↓4 +3
Comments 2

FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями

Level of difficulty Medium
Reading time 12 min
Views 6.5K

Глубокое обучение с подкреплением (Deep Reinforcement Learning - DRL) является эффективным подходом в количественных финансах. Однако обучение торгового агента DRL, который бы решал, где торговать, по какой цене и в каком количестве, сопряжено с ошибками, а так же со сложной разработкой и отладкой.

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

Читать далее
Total votes 22: ↑21 and ↓1 +20
Comments 17

Криптографические пруфы zkSNARKs для масштабирования и безопасности

Level of difficulty Hard
Reading time 15 min
Views 1.2K

Привет, Хабр! Меня зовут Сергей Прилуцкий, я руковожу отделом исследований компании MixBytes. Мы занимаемся аудитами безопасности смарт-контрактов и исследованиями в области блокчейн-технологий. В числе прочего занимаемся и направлением zero-knowledge. Эта статья подготовлена по мотивам моего доклада на Highload про zkSNARKs. Это одна из самых горячих тем в современной криптографии. Они используются для обеспечения приватности и масштабируемости в децентрализованных системах. Поговорим, как масштабировать криптографические системы, какие проблемы существуют у снарк-алгоритмов и зачем они нужны.

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 4

Изучаем сетевой стек докера в rootless mode

Level of difficulty Medium
Reading time 16 min
Views 2.8K


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

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 0

Мультиагенты, основанные на больших языковых моделях(LLM)

Reading time 7 min
Views 2.2K

Хочу представить вам пересказ-обзор на статью Large Language Model based Multi-Agents: A Survey of Progress and Challenges, представленную группой ученых(Taicheng Guo , Xiuying Chen , Yaqi Wang , Ruidi Chang , Shichao Pei, Nitesh V. Chawla, Olaf Wiest , Xiangliang Zhang) 21 января 2024 года.  

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

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

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 1

Сборка мусора в V8

Reading time 19 min
Views 4.6K

В этой статье мы детально разберем процесс сборки мусора движком V8. Познакомимся с понятиями поколений, Minor и Major Garbage Collection, посмотрим, как аллоцируются, трассируются и маркируются объекты в памяти. Что происходит с пустыми областями после очистки, и как выполняется сборка мусора в фоновом режиме. 

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 3

CI/CD Kubernetes платформа Gitorion. Создаем замену GitLab CI на базе OpenSource-инструментов

Level of difficulty Medium
Reading time 5 min
Views 4.8K

Привет всем! На одном из проектов нам потребовалось внедрить непрерывную интеграцию и доставку CI/CD. Поиск готового решения показал, что все наши потребности может закрыть GitLab CI. Однако GitLab - платный продукт и на момент принятия решения возникли некоторые трудности с его коммерческим использованием. Поиски альтернативы не увенчались успехом, и было принято решение создать CI/CD своими силами из имеющихся OpenSource-инструментов.

Недавно мы закончили работу и получили завершенную платформу, которую можно использовать, как готовый инструмент с выстроенной непрерывной интеграцией и доставкой CI/CD и/или для перевода инфраструктуры в микросервисную архитектуру, согласно концепции инфраструктура как код IaC.

В данной серии статей мы хотим рассказать о нашем пути, этапах работы и компонентах платформы.

Читать далее
Total votes 7: ↑5 and ↓2 +3
Comments 32

Полное краткое руководство по grammY — JS-библиотеке для создания Telegram-ботов

Level of difficulty Easy
Reading time 18 min
Views 4.8K

Привет! Меня зовут Арсений, я сеньор фронтенд-разработчик. В этой статье хочу рассказать про основные механизмы библиотеки grammY и разобрать стартовый набор файлов бота, обработку ошибок, виды обработчиков событий, контекст обновлений, работу с разными видами клавиатур и многое другое. И все это — на реальных примерах.

В конце покажу, как задеплоить готового бота на сервере, чтобы он работал автономно и был доступен в любое время. Поехали!
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 4

Как мы создаём редакторы документов. Ядро и его роль в кроссплатформенной разработке

Reading time 10 min
Views 2.5K

В МойОфис мы создаем ПО для корпоративного пользования, и одни из ключевых продуктов нашей линейки — редакторы документов «МойОфис Текст» и «МойОфис Таблица». Эти приложения представлены на всех популярных платформах, включая мобильные устройства. Они позволяют создавать, изменять, просматривать текстовые и табличные документы различных форматов, а также совместно работать над ними в веб-версии редакторов.

Сегодня мы расскажем об общем технологическом устройстве редакторов МойОфис, с акцентом на их центральный элемент: ядро, написанное на C++. Именно ядро обеспечивает основную функциональность приложений и даёт нам возможность эффективно унифицировать её для разных платформ.

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

Читать далее
Total votes 36: ↑34 and ↓2 +32
Comments 10

Работа с Kubernetes: поднимаем локальный кластер и деплоим в него приложения

Reading time 5 min
Views 10K

Павел Агалецкий, ведущий разработчик юнита Platform as a Service Авито, написал, как поднять кластер Kubernetes на локальном компьютере Mac с помощью подручных инструментов, а потом задеплоить в него простейшие приложения.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 4

Information

Rating
4,324-th
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity