войти зарегистрироваться

Искусственный интеллектNeural network in scheme из песочницы

По скольку недавно опять поднималась тема нейронных сетей, решил показать небольшую реализацию НС, обучаемую методом обратного распространения ошибки, написанную на scheme. Заодно подробно расскажу, как это все работает, для новичков жанра. Будет рассмотрен только самый простой вид сетей, без зацикливаний и пропуска слоев.

Ненормальное программированиеВычисление простых чисел на шаблонах C++

В этом посте я расскажу как сделать совершенно бесполезную вещь — вычислять простые числа при помощи шаблонов C++.

Алгоритмы проиллюстрированы кодом на Scheme, поэтому осторожно: скобочки!

GitGitHub Reflog v1.4.20

Добро пожаловать в The GitHub Reflog — еженедельную хронику замечательных репозиториев на GitHub и активности открытого сообщества. Предыдущие выпуски вы сможете найти в Архиве Reflog либо в Архиве русскоязычной версии Reflog.

Разработка(Как написать (Lisp) интерпретатор (на Python))



Перевод статьи "(How to Write a (Lisp) Interpreter (in Python))" Питера Норвига. В данной статье Питер довольно кратко, но емко описывает принцип работы интерпретаторов и показывает как можно написать совсем крошечный (всего 90 строк на Python) интерпретатор подмножества языка Scheme. Перевод публикуется с разрешения автора.

Питер Норвиг (англ. Peter Norvig) — американский ученый в области вычислительной техники. В данный момент работает директором по исследованиям (ранее — директор по качеству поиска) в корпорации Google. Ранее являлся главой Подразделения вычислительной техники в исследовательском центре Амес NASA, где он руководил штатом из двухсот ученых, занимающихся разработками NASA в областях анатомии и робототехники, автоматизированной разработке ПО и анализа данных, нейроинженерии, разработки коллективных систем, и принятия решений, основанном на симуляции.

ПрограммированиеПишу на псевдокоде, работает в PHP

Я могу писать программы на псевдокоде и превращать их в PHP-код. Или в переносимый Си. Или ещё во что-нибудь. Список будет пополняться.

Часть проекта, которая «превращать в PHP», готова не полностью. Но я пишу статью уже сейчас, чтобы:

  • узнать, кому ещё интересен проект;
  • спросить у опытных пхпшников, как улучшить мой PHP-код и как померять, что именно тормозит.

Пример и технические детали под хаброкатом.

LispМоделируем солнечную систему в fluxus

Я уже писал про fluxus, систему livecoding и, по совместительству, 3D-прототипирования. Теперь хочу показать его возможности и как им можно пользоваться в целях, близких к псевдонаучным. Например, можно смоделировать и уместить упрощённую солнечную систему всего в 125 строк (это достоинство языка Racket с графическими стероидами, развития PLT Scheme, который лежит в основе fluxus). Вот как будет выглядеть результат:

В посте исходники, краткое описание на русском и livecoding-видеоролики на славянском английском в подробностях рассматривающие и следящие за всем процессом написания этого сложного кода.

Screenshot 01

ПереводыSICP теперь по-русски! Часть третья

image
Перевод третьей лекции из курса «Структура интерпретация компьютерных программ».

Это самый известный курс по программированию за последние 25 лет; с 1980г читается в MIT, а с недавних пор что-то подобное читается и в Беркли.
Курс сменил преподавателей и даже язык программирования Scheme на Python(на мой взгляд совершенно зря) и тем не менее информация, которая дается в этом курсе остается архи актуальной в любое время. Я бы сравнил этот курс с чем-то очень фундаментальным и важным для программистов, типа математики или теории алгоритмов.
Мне бы очень хотелось, чтобы программирование у нас в стране преподавалось таким вот образом.
Приятного просмотра!

ПереводыSICP теперь по-русски!

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

Пару слов о самих лекциях, это выжимка из вводного курса по программированию читавшегося в MIT с 1978 года. Лекции читают Харольд Абельсон и Джеральд Сассман.
На мой взгляд они уделяют внимание не столько алгоритмам сколько формированию правильного мышления у будущих программистов, а это гораздо важнее. Хочу отметить очень высокое качество материала, в лучших традициях Кнута, а в чем-то пожалуй и лучше.
Если вы не знакомы, что такое SICP обязательно скачайте себе книгу на русском языке для пущего просветления.

Курс ведется на примере языка программирования LISP, которому, кстати, 50 лет стукнуло, не много живых языков сохранилось старше Лиспа. По Лиспу могу сказать — это удивительный язык, я просто каждому рекомендую, не отказывайте себе в удовольствии и изучите этот язык пусть он вам и не пригодится никогда в реальных делах, но он сформирует вам правильные мозги, вы научитесь смотреть совершенно иначе на многие вещи, даже если вы всю жизнь пишете какие-нить бесконечные формы для бизнес приложений на С++.

на яндекс видео:
video.yandex.ru/users/ztarlitz/view/6/

Ссылка на трекер, видео первой лекции, отдельно сабы, и книга на русском языке.
rutracker.org/forum/viewtopic.php?p=37772721#37772721

Open sourceFluxus — Прототипирование OpenGL графики и игр on-the-fly (добавить Scheme по вкусу)

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

Fluxus — это одновременно кроссплатформенный open-source 3D-движок для игр на принципах livecoding и инструмент для прототипирования трёхмерной графики и интерактива в собственном трёхмерном пространстве. И при этом он не обделён достаточно подробной документацией. Язык программирования — расширенный графическими командами PLT Scheme.

Впрочем, смотрите сами видео:



Персональные блоги Какой язык учить?

Хочешь программировать на выразительном и мощном языке: Python
Нужно по-быстрому веб-сайт: PHP
Желаешь в тусовку зовущих себя «рок-звездами» программирования: Ruby
Реально нужно научиться программировать: C
Ищешь просветления: Scheme
Уйти в хандру: SQL
Потерять одну хромосому: Microsoft Visual Basic
Для получения постоянной, заурядной, но хорошо оплачиваемой работы по созданию финансовых приложений в офисной загородке под лампами дневного света: Java
Тоже самое, но с аббревиатурами и списком сертификатов в своей подписи: C#
Получить волшебное ощущение детского изумления, которое сложно отличить от мании величия: Objective C

оригинал (en)