Pull to refresh
5
Karma
0
Rating
Андрей @AndrewAZ

User

Нейробиология и искусственный интеллект: часть вторая – интеллект и представление информации в мозгу

Reading time 7 min
Views 75K
Artificial Intelligence Brain
Продолжение.

Начало здесь: Нейробиология и искусственный интеллект: часть первая — ликбез,
и здесь: Нейробиология и искусственный интеллект: часть полуторная – новости от Blue Brain Project.

Теперь, вооружившись новым знанем, можно порассуждать о том, каким образом транспорт ионов через мембраны приводит к интеллекту и сознанию. Правильного, полного и четкого ответа пока никто дать не может, так что будем рассматривать текущую ситуацию на примерах.

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

И как же интеллект связан с деятельностью нейронов?





Читать дальше →
Total votes 57: ↑55 and ↓2 +53
Comments 39

Википедия переходит на P2P-видео

Reading time 1 min
Views 2.5K
Crowdsourcing
В техническом блоге Википедии опубликовано сообщение о том, что с нынешнего момента все видеоролики на сайтах Wikimedia поддерживают доставку через торренты.

Каждый пользователь может установить в браузере расширение Swarmplayer (пока только под Firefox, скоро будет под IE) — и с этого момента любое видео Wikimedia будет поступать ему в браузер не напрямую с сайта, а через P2P-сеть таких же клиентов. Это позволит значительно снизить нагрузку на серверы Wikimedia.

Swarmplayer 2.0 работает с библиотекой Kaltura HTML5 (aka mwEmbed) и сервисом url2torrent.net.
Читать дальше →
Total votes 49: ↑47 and ↓2 +45
Comments 36

Изображаем память с помощью тетрадки в клеточку

Reading time 5 min
Views 4.2K
Artificial Intelligence
Где-то в архивах этого блога можно найти статью про тетрадь в клеточку и ее душевные переживания. Содержание у этой статьи скорее философское, чем прикладное. Но вот сама идея изобразить работу мозга с помощью карандаша и тетради в клеточку показалась мне довольно интересной. Как заметил автор той статьи, работу любой программы можно изобразить на бумаге. Будь то стек вызовов или регистры процессора – их легко можно изобразить с помощью клеточек.

Но это все низкоуровневые процессы. Возможность изобразить их на бумаге скорее теоретическая. На практике от нее мало пользы. Вот если бы можно было с такой же легкостью описывать более высокоуровневые процессы…
Читать дальше →
Total votes 67: ↑55 and ↓12 +43
Comments 29

Обзор теорий сознания: теория функциональных систем П.К. Анохина

Reading time 7 min
Views 51K
Artificial Intelligence
Множество исследований в области искусственного интеллекта сталкиваются с проблемой отсутствия на сегодняшний момент какой-либо мощной теории сознания и мозговой активности. Фактически мы обладаем достаточно скудными знаниями о том каким образом мозг обучается и достигает адаптивного результата. Однако, на данный момент происходит заметное увеличение взаимовлияния области искусственного интеллекта и нейробиологии. По результатам математического моделирования мозговой активности ставятся новые цели для экспериментов в области нейробиологии и психофизиологии, а экспериментальные данные биологов в свою очередь во многом влияют на вектор развития ИИ.

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

На данный момент существуют три наиболее проработанных и отчасти экспериментально проверенных теории строения сознания в области теоретической нейробиологии: теория функциональных систем П.К. Анохина, теория селекции нейрональных групп (нейродарвинизм) Джеральда Эдельмана и теория глобальных информационных пространств Жана-Пьера Шанже (изначально сформулирована Бернардом Баарсом). Остальные теории либо являются модификациями названных, либо не подтверждены никакими экспериментальными данными. В данной статье речь пойдет о первой из этих теорий — Теории функциональных систем П.К. Анохина.
Читать дальше →
Total votes 48: ↑41 and ↓7 +34
Comments 62

Здоровье и кодинг — как совместить?

Reading time 5 min
Views 2.7K
Health
У меня, как и у многих товарищей по профессии после нескольких лет сидячей работы и отсутсвия физических нагрузок здоровье начало ухудшаться.
Первой ласточкой стало медленно, но верно растущее пузо.
Затем последовал серьёзный удар по общему состоящию — я заработал проблемы сразу в двух местах позвоночника. Отлежался недельку в больнице, обколотый блокадами, пенницилином и прочими лекарственными гадостами, простудился там под новый год и получил массу неприятных впечатлений.
Проблемы со спиной были решительно списаны на подъём тяжестей и благополучно забыты… до весны. Весной произошёл рецидив с диагнозом «протрузия позвоночного диска» в поясничной части.
После пробежки по врачам последовали две недели работы на дому с попиванием таблеточек и лежанием на кровати.
Я понял, что если я серьёзно не займусь своим здоровьем, то могу с ним попрощаться навсегда. Но времени как всегда нехватает, дела, работа, дипломный проект и прочие вещи серьёзно мешали заниматься в тренажёрном зале или ходит в какие-нибудь оздоровительные заведения.
Но, подойдя к вопросу системно, я нашёл решение. Решение простое, бесплатное, доступное всем и занимающее не больше 20 минут времени в день.
Читать дальше →
Total votes 57: ↑46 and ↓11 +35
Comments 56

Секреты профессиональной оценки людей на интервью

Reading time 11 min
Views 38K
IT career
На хабре уже проходило несколько статей об оценке персонала (например здесь), о том, как интерпретировать услышанное от кандидатов. Хочу рассказать о поведенческом интервью, которое успешно использую уже 7 лет и учу этому других.

Основный недостаток большинства оценочных процедур – их субъективность, низкая надежность при оценке знаний и навыков человека. Люди не хотят говорить правду, зачастую выдают теоретические знания за практические навыки. Чтобы отобрать правильных кандидатов, разработаны несколько видов интервью. Одно из них – это поведенческое – то из немногих, которое действительно позволяет понять, что же реально знает и умеет кандидат.

Читать дальше – будет много букв и примеров …

Читать дальше →
Total votes 88: ↑69 and ↓19 +50
Comments 49

Интервью с создателем C++ STL, 1995 г. Часть 3

Reading time 9 min
Views 11K
C++ *
Translation
Завершающая часть перевода интервью (первая часть, вторая часть), взятого у создателя Стандартной библиотеки шаблонов Алекса Степанова в 1995 году. Здесь Алекс рассказывает о том, почему в шаблонах не включена поддержка персистентности и серилазизации, о будущем библиотеки и о связи ООП и обобщённого программирования.

Алекс, STL не реализует объектную модель персистентности (постоянного хранения) объектов. Map и Multimap являются особенно хорошими кандидатами для постоянного хранения контейнеров как инвертированных индексов в базах данных постоянного хранения объектов. Скажите, работали ли Вы в этом направлении или же Вы можете хотя бы прокомментировать реализации этой идеи?

Это обстоятельство отмечалось многими. STL не реализует персистентность по уважительной причине. STL настолько велика, насколько можно было себе представить в то время. Я не думаю, что любой больший набор компонентов прошёл бы через Комитет по стандартам. Но персистентность является тем, о чём думали некоторые люди тогда. При проектировании STL и особенно во время проектирования компонента-распределителя, Бьярн отметил, что распределители, которые инкапсулируют памяти модели, могут быть использованы для инкапсуляции модели постоянной памяти. Прозрение принадлежит Бьярну, и это важное и интересное прозрение. Несколько компаний, разрабатывающие объектные базы данных, рассматривают эту идею. В октябре 1994 года я посетил встречу Группы по системам управления объектными базами данных. Я выступил с докладом по STL, и после был большой интерес к тому, чтобы сделать контейнеры с их развивающимся интерфейсом соответствующими STL. Они не рассматривали распределители как таковые. Некоторые из членов группы, однако, пытались выяснить, могут ли распределители быть использованы для реализации персистентности. Я ожидаю, что в течение следующего года появятся хранилища объектов с STL-совместимыми интерфейсами, которые будут вписываться в рамки STL.
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 3

Биотопливные элементы своими руками

Reading time 7 min
Views 11K
DIY
Сразу хочу предупредить, что этот топик не совсем по тематике Хабра, но в комментариях к посту про разработанный в MIT элемент идею вроде бы поддержали, так что ниже я опишу некоторые соображения о биотоливных элементах.
Работа, на основе которой написан данный топик, выполнялась мной в 11 классе, и заняла второе место на международной конференции INTEL ISEF.
Читать дальше →
Total votes 61: ↑54 and ↓7 +47
Comments 13

The Noun Project: свободная иконка для каждого объекта в мире

Reading time 1 min
Views 13K
Working with icons *


Создатели проекта The Noun Project поставили целью собрать пиктограммы для всех объектов в мире. Коллекцию по мере сил пополняют десятки дизайнеров из разных стран. Все иконки публикуются в формате SVG, под лицензией Creative Commons Attribution 3.0 (CC BY) или Public Domain, разбиты на тематические категории, есть поиск на русском языке.
Total votes 110: ↑107 and ↓3 +104
Comments 57

ТАУ-Дарвинизм

Reading time 10 min
Views 5K
Algorithms *

Предисловие


— Кибердворник дядя Федя силой ровно в три медведя, — сообщил Поль, извлекая из недр кибердворника блок регулировки. — Я тут уже знаю одного Федю. Приятный такой, веснушчатый. Очень, очень асептический молодой человек. Это не твой родственник?

Аркадий и Борис Стругацкие (Полдень. ХХII век).

Статья посвящена вопросу применимости генетических алгоритмов к проблеме идентификации динамической системы.
Обновлено: опубликовано продолжение ТАУ-Дарвинизм: реализация на Ruby
Как заглянуть в черный ящик читайте тут
Total votes 56: ↑50 and ↓6 +44
Comments 41

Визуализация модели данных

Reading time 1 min
Views 3.3K
Google App Engine *
Для django есть хорошая утилитка, которая анализирует описание модели данных и рисует её графическое представление в dot-формате graphviz.
Сегодня переписал эту утилитку под appengine.

image

Утилита распознаёт Expando (добавляет многоточие в список атрибутов),
наследование от PolyModel (рисует стрелки наследования),
а также ссылочные свойства (в том числе самодельные, типа ManyToManyProperty).

Как пользоваться:
  1. засунуть скрипт в каталог с sdk
  2. запустить её из корневого каталога приложения, указав аргументами список модулей для анализа (в формате имён дя import):
    python path/to/modelviz.py models.foo models.bar > models.dot
  3. сконвертить полученный dot-файл во что-нибудь более удобное, например, в png:
    dot models.dot -Tpng > models.png
  4. наслаждаться неземной красотой
Total votes 44: ↑40 and ↓4 +36
Comments 8

Использование Thrift в .NET

Reading time 5 min
Views 12K
.NET *
Хочу поделиться с вами примером того как можно использовать такую удобную штуку как Thrift в своих .NET проектах.

Для тех кто не знает, Thrift — это фреймворк для облегчения взаимодействия между кодом написанным на разных языках, а именно C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk и OCaml.

Thrift используется и был изначально создан Facebook. Так же неоднократно упоминался здесь, на Хабре, но примеров для .NET я не нашел, кстати пошаговое руководство для .NET отсутствует и на официальном сайте. В гугле если честно, тоже не смог найти, хотя может плохо искал.

Thrift позволяет один раз описать сервис, структуры данных и даже исключения, а потом сгенерировать код для всех поддерживаемых языков. Таким образом, если вы, например, напишете сервер с использованием Thrift на .NET, то вы
  1. Сэкономите кучу времени для написания клиент серверного приложения, например с использованием сокетов.
  2. Почти автоматически получаете клиентов на всех поддерживаемых языках.
В своем примере я реализую простейший сервис, который просто будет возвращать время. Но имея такой макет достаточно легко расширить его до чего-нибудь полезного.
Читать дальше →
Total votes 41: ↑31 and ↓10 +21
Comments 28

DXCore — Бесплатная библиотека для создания плагинов в Visual Studio

Reading time 2 min
Views 10K
Developer Soft corporate blog


В данной статье мы хотим сделать краткий обзор DXCore и рассказать, чем может быть полезна эта .NET библиотека.

DXCore — это абсолютно бесплатный продукт, который мы развиваем и поддерживаем начиная с 2004 года. В двух словах, DXCore облегчает разработку расширений для Visual Studio.

Мы стараемся проектировать API этой библиотеки так, чтобы максимально упростить процесс создания плагинов — чтобы разработчики могли сосредоточится на функциональности и по возможности избежать основных сложностей интеграции с Visual Studio.
Читать дальше →
Total votes 50: ↑40 and ↓10 +30
Comments 12

Система непересекающихся множеств и её применения

Reading time 10 min
Views 58K
Algorithms *
Добрый день, Хабрахабр. Это еще один пост в рамках моей программы по обогащению базы данных крупнейшего IT-ресурса информацией по алгоритмам и структурам данных. Как показывает практика, этой информации многим не хватает, а необходимость встречается в самых разнообразных сферах программистской жизни.
Я продолжаю преимущественно выбирать те алгоритмы/структуры, которые легко понимаются и для которых не требуется много кода — а вот практическое значение сложно недооценить. В прошлый раз это было декартово дерево. В этот раз — система непересекающихся множеств. Она же известна под названиями disjoint set union (DSU) или Union-Find.

Условие


Поставим перед собой следующую задачу. Пускай мы оперируем элементами N видов (для простоты, здесь и далее — числами от 0 до N-1). Некоторые группы чисел объединены в множества. Также мы можем добавить в структуру новый элемент, он тем самым образует множество размера 1 из самого себя. И наконец, периодически некоторые два множества нам потребуется сливать в одно.

Формализируем задачу: создать быструю структуру, которая поддерживает следующие операции:

MakeSet(X) — внести в структуру новый элемент X, создать для него множество размера 1 из самого себя.
Find(X) — возвратить идентификатор множества, которому принадлежит элемент X. В качестве идентификатора мы будем выбирать один элемент из этого множества — представителя множества. Гарантируется, что для одного и того же множества представитель будет возвращаться один и тот же, иначе невозможно будет работать со структурой: не будет корректной даже проверка принадлежности двух элементов одному множеству if (Find(X) == Find(Y)).
Unite(X, Y) — объединить два множества, в которых лежат элементы X и Y, в одно новое.

На рисунке я продемонстрирую работу такой гипотетической структуры.


Как такое сделать и зачем оно нужно
Total votes 114: ↑109 and ↓5 +104
Comments 29

Codec2: сжатие речи до 2400 бит/с (под LGPL2)

Reading time 2 min
Views 8.4K
Open source *
Вышла первая альфа-версия свободного голосового кодека Codec2, который предназначен для сверхплотного кодирования речи на узких каналах. Например, 3,75 секунды различимой речи он сжимает всего в 1050 байт. Коммуникационное качество обеспечивается потоком 2550 бит/с.

Выпущены симулятор под Linux/gcc (c2sim) для тестирования различных опций кодирования, отдельный кодер (c2enc) и декодер (c2dec) с интерфейсом через командную строку, они работают примерно в 10 раз быстрее реального времени на современном ПК. Скачать исходники и документацию можно здесь.
Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Comments 21

Компиляция. 9: исполняемый код

Reading time 19 min
Views 5.4K
Programming *
Напоминаю, что мы пишем компилятор для игрушечного языка джей-скрип. Начали с компиляции в п-код, потратили немало сил на его оптимизацию, и приготовились к заключительному этапу компиляции — к выводу машинно-зависимого выполнимого кода.
Никаких замысловатых алгоритмов тут уже нет: по большому счёту, только замена одной системы команд на другую.

Далее в посте:

  1. Выбор кода
  2. Загрузчик
  3. Изменения в п-коде
  4. Генерация
  5. Что получилось?
Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Comments 10

Мощный лазер своими руками за один вечер

Reading time 3 min
Views 957K
DIY
image

Кратко.


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

Предупреждение!


В статье описано изготовление мощного лазера (300мВт ~ мощность 500 китайских указок), который может нанести вред вашему здоровью и здоровью окружающих! Будьте предельно осторожны! Используйте специальные защитные очки и не направляйте луч лазера на людей и животных!
Читать дальше →
Total votes 499: ↑481 and ↓18 +463
Comments 484

Дуэт OGRE 3D и SDL

Reading time 7 min
Views 7.6K
Website development *
В последнее время тут стали появляться статьи, связанные с движком OGRE, в т.ч. и пост по созданию простейшей программы, поэтому я решил не откладывать дело в долгий ящик и написать эту статью. Когда-то не так давно я уже писал небольшой поверхностный обзор библиотеки SDL, и здесь, в качестве продолжения, приведу конкретный пример использования этой библиотеки, а именно — как заставить её работать вместе с движком.
Немало текста и много кода
Total votes 33: ↑31 and ↓2 +29
Comments 15

Ogre3D 1.7 Cthugha release!

Reading time 1 min
Views 2K
Open source *
Ogre3D

На конец-то вышел долгожданный релиз open source render-движка Ogre3D 1.7 Chtunga.
Основные изменения в этой ветке можно найти на этой странице. Скачать исходники из svn.
Скачать прекомпилированные SDK под разные платформы можно здесь

В новой версии много замечательных дополнений:
  • Полностью переработана система запуска демо-приложений. Почти все примеры переписали под новые возможности.
  • Движок официально перешёл на MIT лицензию.
  • Разработчики отказались от использования zip-архивов и перешли на 7zip архивы. (сразу использовали tar.gz)
  • Одной из основных возможностей есть новый Terrain-плагин (Посмотреть скрины и историю изменений можно на форуме).
  • Новая система runtime-шейдеров RTSS, где генерация кода выполняется «на лету».
  • Улучшена совместимость с 64-битными системами.
  • Для компиляции под Windows добавлен проект для Visual Studio (sln).

Хочу напомнить, что на этом движке написано несколько проектов высокого уровня: Torchlight, MotorM4X, Zombie Driver, Venetica
Сейчас компилирую новую версию, после окончания выложу скрины некоторых возможностей из демо-приложений. А под катом можно посмотреть на новую Terrain-систему.
Под катом основные возможности движка.
Далее
Total votes 52: ↑52 and ↓0 +52
Comments 36

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity