Вы читаете _darkus_

 

Сундучок мыслей

About Свежие записи

Верхняя запись Мои книги 14 июл, 2030 @ 00:00
Здесь вы можете скачать или заказать в печатном виде большинство моих книг. Выбирайте:

Обложка Название Краткое описание Скачать Заказать

Альманах «Конкурсы по функциональному программированию» за 2012 год Данный том является вторым выпуском ежегодного Альманаха «Конкурсы по функциональному программированию», который составляется по результатам проводимых автором конкурсов в сети Интернет. Альманах структурирует и сводит воедино всю информацию, касающуюся конкурсных задач и их решений при помощи языка функционального программирования Haskell. Альманах будет интересен всем интересующимся функциональным программированием и языком Haskell. *

Другие 14 эссе о языке Haskell и функциональном программировании — серьёзные В данном томе представлено новые 14 статей автора, которые в разное время были опубликованы в различных источниках — в научно-практическом журнале «Практика функционального программирования» (с дополнениями, которые не были включены в опубликованные статьи), на различных ресурсах в сети Интернет, на тематическом ресурсе Хаброхабр. Статьи сгруппированы в трёх частях — «мета», теоретическая и практическая части. В книге сделан упор на практические знания, предлагается решение некоторых прикладных задач при помощи языка функционального программирования Haskell. * *

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

Альманах «Конкурсы по функциональному программированию» за 2011 год Данный том является первым выпуском ежегодного Альманаха «Конкурсы по функциональному программированию», который составляется по результатам проводимых автором конкурсов в сети Интернет. Альманах структурирует и сводит воедино всю информацию, касающуюся конкурсных задач и их решений при помощи языка функционального программирования Haskell. Альманах будет интересен всем интересующимся функциональным программированием и языком Haskell. * *

Методы получения, представления и обработки знаний с НЕ-факторами В монографии рассматриваются три последовательных процесса работы со знаниями — получение, представление и обработка, причём акцент сделан на так называемых НЕ-факторах, то есть факторах неопределённости, которые обычно присутствуют в знаниях экспертов. Приводится обзор современных методов, подходов и технологий извлечения, представления и обработки таких знаний, даётся богатый список специализированной литературы. Работа будет интересной студентам и аспирантам, обучающимся по специальности «искусственный интеллект», а также всем, кто живо интересуется этой темой. * *

14 занимательных эссе о языке Haskell и функциональном программировании В книге представлено 14 статей автора, которые в разное время были опубликованы или подготовлены к публикации в научно-популярном журнале для школьников и учителей «Потенциал». Статьи расположены и связаны таким образом, чтобы они представляли собой логически последовательное повествование от начал к более сложным темам. Также в книге сделан упор на практические знания, предлагается решение многих прикладных задач при помощи языка функционального программирования Haskell. Книга будет интересна всем, кто живо интересуется функциональным программированием, студентам технических ВУЗов, преподавателям информатики. * *

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

Справочник по языку Haskell Данная книга является первой книгой на русском языке, описывающей набор стандартных библиотек функционального языка программирования Наskell. В первой части книги кратко рассматривается синтаксис языка и способы его применения для решения задач. Во второй части описываются стандартные библиотеки языка, входящие в поставки всех современных трансляторов Наskell (GHC, HUGS и др.). *

Функциональное программирование на языке Haskell Данная книга является первым в России изданием, рассматривающим функциональное программирование в полном объёме, достаточном для понимания новичку и для использования книги в качестве справочного пособия теми, кто уже использует парадигму функционального программирования в своей практике. Изучение прикладных основ показано на примере языка Haskell, на сегодняшний день являющегося самым мощным и развитым инструментом функционального программирования. *

Также вы всегда можете выразить свою благодарность за мои труды. Узнать, как это следует сделать, можно здесь.

+4 сертификата с Coursera в портфолио 18 дек, 2012 @ 09:57
Продолжаю самообразовываться. С прошедшего лета за осень и начало зимы смог прослушать 4 курса на прекрасном образовательном ресурсе Coursera, за каждый из которых получил сертификат, причём за три из них — сертификат с отличием:

1. Networked Life — довольно-таки простенький курс, который можно назвать продолжением и углублением темы «Сетевые модели» из ранее рассмотренного курса «Model Thinking». Лектор рассказывает про свойства сетей (математический объект, а не инструмент рыбака, например), как в них осуществляется взаимодействие, как происходит «заражение», какие свойства есть у сетей различной конфигурации. Некоторые темы были довольно узкие по своей применимости. Но в целом курс полезен, поскольку систематизирует знания о сетях. Также в курсе более подробно рассматриваются такие модели, как фильтрационная, модель лесного пожара, модели эпидемий SIR/SIS и некоторые другие. В итоге я получил сертификат с отличием, набрав 100 % баллов за домашние задания и экзамен.

2. Machine Learning — очень интересный курс от одного из основателей Coursera, Эндрю Нг. В курсе много информации о различных методах машинного обучения, как с супервайзером, так и без оного. Даётся понимание того, что такое линейный и логистический анализ, как работают нейросети, зачем оценивать результаты обучения и как эту оценку использовать для улучшения алгоритмов. В курсе много программирования, но на нелепом языке Octave. Это было ужасно, но что поделать. Ну и как итог — сертификат с отличием, поскольку получено даже больше, чем 100 %, поскольку выполнял и необязательные программистские задания (которые, впрочем, тоже оценивались).

3. Introduction to Operation Mangement — отличный, просто суперский курс от немецкого товарища, подвизавшегося в области операционного менеджмента. В дополнение к книге Ф. Тейлора, которую я как раз недавно прочитал, этот курс стал своеобразным откровением на тему того, как измерять процессы, какие метрики используются для управления процессами на производстве (да и вообще в любом месте). Я настолько сильно проникся этим курсом, что выполнял все задачи, сдал экзамен на 100 %. Профессор обещал тем, кто войдёт в верхний 1 % оценок не просто сертификат с отличием, а Operations Excellence Award, но, похоже, обманул :). Просто сертификат с отличием. И теперь я каждый процесс в жизни рассматриваю под новым углом зрения — какова ёмкость процесса, где находится «бутылочное горлышко», какова утилизация задействованных ресурсов и т. д. Жизнь изменилась бесповоротно.

4. Introduction to Genetics and Evolution — занятный курс по основам биологической науки, который я проходил больше из-за желания посмотреть, как на Coursera устроены курсы по таким вещам. Посмотрел, довольно занятно. Пытался с самого начала тщательно выполнять задания, сдавать промежуточный и выпускной экзамен, но постоянно утыкался в «language issues». Что там имел в виду лектор, когда писал свой вопрос и ответы на него, которые, судя по видеоурокам, все подходят. Приходилось гадать. В итоге до проходных 80 % не добрал ровно 2 вопроса из финального экзамена. Расстроился, но сегодня утром нахожу на странице сертификатов заветный сертификат по генетике. Оказалось, что сдало с оценкой выше 80 % настолько мало студентов, что они решили тем, кто получил 80 % и больше дать сертификат с отличием, а тем, кто получил от 60 % до 80 % — обычный сертификат. Рад.

Кстати, а ещё вчера я написал обзорную статью для Хаброхабра — Обзор предложений Coursera: первые 5 курсов. Если кто ещё не видел, то прошу. И не забудьте поставить стрелочку вверх, одной не хватает для полного счастия.

Ну а вы какие курсы проходите в настоящий момент или проходили в недавнем прошлом? Какие планы?

Прослушал ещё два курса на Coursera и даже получил сертификат 19 окт, 2012 @ 07:32
Поскольку я так и продолжаю слушать курсы на великолепном ресурсе Coursera, делюсь с вами впечатлениями от недавно прослушанных. С прошлого раза, когда я отчитывался по этой теме, я прослушал два курса:

1. Quantum Mechanics and Quantum Computation — квантовая механика и квантовые вычисления. Собственно, записался и прослушал его ради второй части, поскольку считаю, что в конечном итоге квантовые вычисления будут реализованы «в железе», а потому изучение этой темы сегодня — это вложение времени в своё же будущее. Курс очень насыщенный, в том числе и тяжёлым матаном. Для того чтобы выполнить тесты, приходилось писать целые программы на языке Haskell. В итоге даже получился кое-какой фреймворк для квантовых вычислений. Лектор, конечно, немного чудён, но дело своё знает, а потому курс мной крайне рекомендуется к прохождению всем, кто любит матан. Ну и я в конечном итоге получил сертификат с оценкой 82.7 % (проходной балл — 80 %, так что я еле-еле поспел).

2. Introduction to Finance — введение в финансы. Негодный, абсолютно негодный курс. После второй недели я забросил его, только скачал весь набор лекций, которые уже не слушал. Задания не выполнял, сертификата не получил. А всё почему? Потому что моя научная и математическая душа не вынесла этой полной гуманитарщины, когда лектор опять рассказывал какие-то анекдотцы из своей жизни, описывал какие-то сугубо частные примеры, не давал ни одной формулы. Для выполнения первого задания (я его всё-таки реализовал в MS Excel) я прошерстил половину википедии на тему финансов, а в лекциях вообще даже не было дано определения простых и сложных процентов. В общем, фу.

Вот как-то так. А вы какие курсы проходили или проходите сейчас?

Апологетика креационизма 16 окт, 2012 @ 08:15
Давеча разговаривал с коллегой на тему эволюции, естественного отбора и всего такого прочего. Поскольку я не приемлю креационизм в любом его виде из-за псевдонаучности, неверифицируемости и нефальсифицируемости, мне интересно наблюдать за способом рассуждений тех, кто позиционирует себя креационистами. Вместе с тем я, скорее, стою на позиции агностицизма, поэтому мне в большей степени всё равно, чем там заморачивается ближний — главное, чтобы мне в душу не лез со своими заморочками.

И вот я спросил коллегу, как он относится к теории эволюции и естественному отбору. Тот заявил, что сугубо отрицательно. А потом добавил суждение, которое я назвал «апологетикой креационизма» в самом рафинированном виде. Он сказал: «Но раз бог создал эволюцию и естественный отбор, то значит, они хороши».

Вот так. Давайте уж обсудим :)...

Ванная с шариком и теория хаоса 11 окт, 2012 @ 09:31
Как-то сам не ожидал, как преподал старшему сыну небольшой урок по теории хаоса. Дело было так. Младший нашёл у себя в игрушках мягкий шарик из какого-то плотного материала типа поролона, потащил его в ванную комнату и бросил в ванну. Шарик покатился по поверхности ванной, описав что-то типа фигуры Лиссажу. Я позвал старшего и показал ему, как можно запускать шарик, наблюдая за траекторией его движения. Сын поначалу не особо заинтересовался, но когда я сказал термин «фигура Лиссажу», подошёл смотреть. Тогда я сказал ему, что сейчас мы на деле посмотрим на практические проявления теории хаоса. Это положение гласит, что при самом мельчайшем изменении начальных значений результаты процесса (траектория) различаются самым драматичным образом, причём это происходит не сразу, а после некоторого прошедшего расстояния — внезапно находится точка бифуркации, которая разъединяет траектории.

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

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

Вот так при помощи простейших вещей можно продемонстрировать понятия довольно сложной теории.
Other entries
» Сборник моделей и формализмов из курса «Модельное мышление»
Помнится, я обещал некоторым своим читателям дать более-менее полноценное описание моделей из курса «Модельное мышление» («Model thinking»). Я исполнил это обещание ещё много дней назад, только вот оповестить забыл. Исправляюсь:

Краткое описание моделей из курса Model Thinking на Coursera

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

Что такое? Или я как-то узкое множество книг для чтения выбираю?
» Язык Haskell и квантовая механика
Поскольку я сейчас усиленно занимаюсь квантовыми вычислениями, решил упростить себе жизнь при помощи написания небольшого фреймворка для решения задач по этому курсу. Само собой разумеется, что для этих целей я использовал прекраснейший язык Haskell. Ну а одна из предварительных задач, которую необходимо было решить для создания фреймворка, — надо было написать модуль для некоторого рода символьных вычислений. Это было необходимо для решения задач по формулам, в которых стояли корни из натуральных чисел. Например, в квантовой механике часто используется число 0.70710678118654752440084436210485, что в некотором роде является единицей, делённой на квадратный корень из двух. Ну вот в задачах и использовалась простая запись корней. Человек понимает, а машине ещё объяснять надо.

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


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

А в функции нормализации у меня был такой элемент:

... map ((^2) . amplitude) ...

И тут, когда я уже почти было отошёл ко сну, мне, как говорится, в одно место ударила молния! Ведь возведение комплексного коэффициента при квантовом состоянии в квадрат — это в корне неверно. Надо же брать квадрат модуля, а это значение рассчитывается как умножение комплексного числа на сопряжённое. И вот:

module2 :: RealFloat a => Complex a -> Complex a
module2 c = c * conjugate c

... map (module2 . amplitude) ...

И, вуаля! Результат стал именно таким, каким он должен быть:

\frac{1.0}{\sqrt{2.0}} :+ \frac{1.0}{2.0} — это соответствует канонической записи комплексного числа 1/√2 + 1/2i. Ура! Язык Haskell велик!!!

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

4 фотографииСвернуть )

» Эссе по социологии
По просьбам почтенной публики делюсь со всеми желающими своим эссе, которое я написал на экзамене по социологии. Писал на русском языке, потом переводил на английский. Тема эссе была в рассмотрении метода некоего американского социолога, изложенного им в своей книге «Promise». Не читал, но осуждаю, конечно. Ибо ГСМ. Ну а моё эссе вот (напоминаю, что мне пришлось немного мимикрировать при его написании):

Эссе по социологииСвернуть )
Top of Page Разработано LiveJournal.com