August 4th, 2009

2019

Начало недели

Два "вывода из эксплуатации" в ISO 15288 и сопутствующих стандартах: disposal и retirement. Disposal -- это практика. Retirement -- это стадия (т.е. часть процесса). А теперь нужно придумать, как это сказать по-русски так, чтобы не путаться (в доступном русском переводе ISO12207 есть формулировка "прекращение применения", но для софта это подойдет, а вот для какой-нибудь нефтяной платформы или атомной станции -- не очень).

Самое трудное для объяснения во всей этой современной "процессно-проектной" конструкции -- понимание практик как запчастей к процессам/проектам. Интересней всех по этой линии рассуждений продвинулся SPEM2 (которому пришлось в одном флаконе объединять представление проектов и процессов, а также описывать практики как повторноиспользуемые детальки в жизненных циклах разных систем).

Как ни странно, ISO 15288 тоже отражает это разделение, там процессы/проекты (т.е. разговор про стадии) четко отделен от разговора про практики, и сознательно выкошены роли. Но авторам ISO 15288 неймется, и они сейчас пытаются сделать шаг назад: отмоделировать последовательности практик путем попыток сопоставить "входы" одних практик с "выходами" других.
* * *
Вместо романтичных азимовских трех законов робототехники профессора отделения интегральной системной инженерии университета Огайо Woods и Murphy предложили три новых более реалистичных закона (http://researchnews.osu.edu/archive/roblaw.htm):

A human may not deploy a robot without the human-robot work system meeting the highest legal and professional standards of safety and ethics.

A robot must respond to humans as appropriate for their roles.

A robot must be endowed with sufficient situated autonomy to protect its own existence as long as such protection provides smooth transfer of control which does not conflict with the First and Second Laws.

Лет через пять про ботэтику будут писать уж не меньше, чем сейчас пишут про биоэтику. Принимать законы, ругаться насчет "прогресса" и т.д. -- ровно так же, как это сейчас происходит с генномодифицированными продуктами и стволовыми клетками. И ровно с таким же успехом.
* * *
Удивительное количество разговоров случилось к моему упоминанию проекта по разгону базы данных в десятки раз (http://ailev.livejournal.com/708726.html) -- и все эти разговоры вдруг уперлись в различия между работой с database и "работой на файлах". Удивительно, но ни разу не было произнесено слово persistence (и даже не доходя до традиционного холивара вокруг transparent persistence типа дискуссии 2005г http://lambda-the-ultimate.org/node/526).

Мое мнение: жизнь с удешевлением оперативной памяти пошла такая интересная, что persistence неминуемо становится не менее популярными, чем базы данных. Но, как и в случае баз данных, persistence пока предпочитают ваять самостоятельно в каждом конкретном случае, "под себя" (тогда и говорят, что "работают прямо с файлами"). Ничего, и это пройдет.
* * *
Главный ученый (это должность! Ну ладно, можно и по-другому: шеф-ученый) NVIDIA сообщил, что в 2015г. планируется выпустить видео/вычислительную карту с производительностью 20терафлопс. Ибо число ядер доведут до пяти тысяч на чипе, перейдя на 11нм проектные нормы (http://eetimes.com/news/latest/showArticle.jhtml?articleID=218900011).

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

А пока прогнозы процессорных архитектур на десять лет вперед не слишком отличаются от того, о чем все и так давно говорят: http://www.eetimes.eu/218600281;jsessionid=SJN30VQVNB3NCQSNDLRSKH0CJUNN2JVN (много-много небольших разнообразных процессорных элементов на кристалле, причем не связанных общей тактовой частотой).
2019

Квантовое распознавание образов

Когда я занялся распознаванием образов (это было году эдак в 1978, третий курс химфака РГУ), то было очень трудно вокруг найти человека, который бы знал значение слова "регрессия". Замечу, что Гугля тогда еще не было даже в проекте, и сейчас сложно представить информационные проблемы того времени. Через пару недель расспросов всех подряд (ибо в окружающих меня словарях такого слова не нашлось) я выяснил, что значению этого слова учат на мехмате, затем прикупил учебник матстатистики и даже его проштудировал (уж как мог).

В те поры распознаванию образов в химии был посвящен реферат или два почти уже в каждом РЖхим. Я гордился своими занятиями чрезвычайно, я был на передовой прогресса. Когда я закончил университет, в РЖхим уже был маленький спецраздельчик по распознаванию образов.

Диплом я не защищал, ибо занял первое место на студенческой научной конференции и получил "автомат" (потратив ночь на разрисовку ватманов для доклада: никаких пауэрпойнтов тогда ведь не было, а слайдпроекция с пленок была еще экзотикой. Ночи было жалко, но ставка в случае моей победы была велика -- два месяца свободного от диплома времени. И их я потратил на изобретение концепции базы данных -- потому как в 1980г. я с ЭВМ уже работал, но про базы данных еще не знал). Но первое место досталось мне со скандалом: заведующий кафедрой моей специализации сделал заявление с просьбой не рассматривать доклад этого "шарлатана от науки Левенчука". Ибо "я работаю над химией хелатов уже двадцать лет, и не могу ничего сказать по поводу предсказания каталитической способности! А этот шарлатан утверждает, что пару ночей счета на ЭВМ дают ему вероятность угадывания 80%!". Ну, не 80%, а чуть больше 70%, и не для любых хелатов, конечно, но я утверждал именно это. За меня вступился человек, вызвавшийся быть моим формальным научным руководителем (работал-то я без научного руководителя, ибо никто вокруг не понимал, что именно я делаю, но научный руководитель был нужен для выставления доклада -- и я "договорился"), доклад все-таки рассмотрели и по итогам рассмотрения я получил свое первое место.

С тех давних пор я с нежностью отношусь к теме распознавания образов. И рад был увидеть новый прогресс: люди из D-wave Systems придумали спецпроцессор вокруг вычислительной модели адиабатических квантовых вычислений (adiabatic quantum computing, AQC) -- процессор сделан из сверхпроводников и работает при сверхнизких температурах, как и полагается квантовому компьютеру. То есть процессор еще не сделан, а только компьютерно моделируется (и можно поучаствовать в этом моделировании, подключив через интернет свой компьютер, когда он простаивает). Процессор ожидается в продаже в 4-м квартале 2009г. (если не верить злопыхателям, которые не верят в затею и обвиняют ее в лженаучности -- см. критику в http://en.wikipedia.org/wiki/D-Wave_Systems). Но разработка продолжается, несмотря на критику (http://www.dwavesys.com/):
The largest experimental quantum computers available today are on the order of 10 quantum bits (qubits) in a non-scalable hardware platform (liquid state NMR). D-Wave is currently designing, fabricating, testing and operating processors with 128 qubits. The company’s approach is expected to be scalable in the medium term (2010-2011) to tens of thousands of qubits. Ultimately it should be possible with variants of the current approach to design, construct and operate systems with millions of qubits.
Фишка в том, что программирование для квантовых компьютеров -- это такая же проблема, как программирование фон-неймановских компьютеров в эпоху ENIAC. Вот как оно описывается сейчас:
An adiabatic quantum algorithm proceeds by slowly changing the values of currents sent to the processor, which is operated at near absolute zero temperature in a magnetic vacuum. These currents are the machine language of the processor. After changes to the currents are complete, the qubits are read out. The algorithm succeeds—and the optimal solution to the optimization problem is returned—if the processor is in its lowest energy state when the readouts are fired. In AQC, only slowly varying signals are required—there is no need for high frequency control. This vastly simplifies engineering of the I/O, processor and electronics systems.
...
The system provides programming access at several layers of abstraction, ranging from a very low level machine language interface identical to that which D-Wave scientists use to interact with the processor, to a web services interface that can treat the system as a black box optimization engine.
Сегодня в блоге этой команды (http://dwave.wordpress.com/) выскочила куча публикаций о машинном обучении для квантовых компьютеров. Как я понял, они хотят продемонстрировать на своей архитектуре лучший в мире алгоритм распознавания образов -- причем на спецжелезе сделав именно часть обучения классификатора, а часть собственно распознавания на обученном классификаторе реализовать на обычном железе типа смартфона.

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

Я считаю, что это крайне важно: появляется совсем новая computer science плюс совсем новая математика. Наконец-то речь пошла не об использовании квантовых компьютеров для решения криптографических задач, а о чем-то более полезном. Распознавание образов мне кажется очень перспективным применением: его роль сегодня в мире весьма ограничена именно в силу крайней трудоемкости вычислений (хотя распознавание лиц уже вставлено в современные фотоаппараты -- но это ведь явно не единственное интересное применение).

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