12 мар. 2009 г.

Премия Тьюринга за 2008 год

Премия Тьюринга за 2008 год будет вручена Барбаре Лисков, профессору Массачусетского технологического института (США).
Барбара Лисков — вторая женщина, удостоенная одной из самых престижных наград в области информатики, — получит 250 тысяч долларов за разработку новых конструкций в компьютерных языках, используемых в повседневных цифровых приложениях.
«Всякий раз, когда вы обмениваетесь электронной почтой с другом, проверяете банковский счет в Интернете или запускаете поиск Google, вы пользуетесь плодами ее исследований», — говорит проректор Массачусетского технологического института (МТИ) Рафаэль Рейф.
Ассоциация вычислительной техники (ACM), ведающая Премией Тьюринга, напоминает, что Барбара Лисков не только революционизировала искусство программирования, но и стала первой американкой, которой была присуждена степень доктора компьютерных наук. Это случилось в Стэнфордском университете в 1968 году. Барбара Лисков является профессором МТИ с 1972 года.
Ранние разработки ученого использовались в основных языках программирования в течение более чем трех десятилетий. Благодаря ее нововведениям в области абстрактных данных программы стало проще писать, изменять и сохранять. Сама Барбара Лисков говорила, что ее идея заключалась в том, чтобы разорвать сложные системы на маленькие кусочки и сделать их простыми. Церемония награждения состоится 27 июня в Сан-Диего (Калифорния).
Премия названа в честь великого британского математика Алана Тьюринга. В числе обладателей награды — пионеры Интернета Винтон Серф и Боб Кан. Призовой фонд премии обеспечен корпорациями Google и Intel.

10 мар. 2009 г.

Железный Феликс

Ностальгическая мысль: "А вот взять и написать эмулятор "Железного Феликса",  и драйвера к нему сварганить..... Это арифмометр— механическое счётное устройство. В отличие от логарифмической линейки, он является цифровым. Пространство состояний арифмометра дискретно, и дискретность эта определяется тем, что он построен на зацеплении зубчатых колёс. 


Устройства для механического счёта создавались давно, ещё со времён Паскаля и Лейбница (конец XVII в.). Последний сконструировал приспособление, которое использовалось потом много лет — так называемый валик Лейбница — но в те времена оно было ещё слишком сложным и дорогим в производстве. Расцвет считающих машин начался лишь в XIX веке. 

Здесь к нему, кстати, тоже приложили руку знаменитые математики — в частности, из российских это Буняковский и Чебышёв. (Возможно, я когда-нибудь расскажу об их достижениях на этой почве.) Но подлинная революция наступила в 1870-х годах, когда российский инженер шведского происхождения Вильгодт Однер изобрёл колесо с выдвигающимися зубцами. Его тоже так и назвали колесом Однера. Несколько их, установленных на общем валу, образуют барабан Однера, который оказался удобнее и технологичнее валика Лейбница. 

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

Основными задачами, для решения которых предназначен арифмометр, являются четыре арифметические действия. Чтобы сложить два числа, надо задать на барабане одно слагаемое и повернуть ручку от себя. Затем барабан сбрасывается. Для этого надо большим пальцем левой руки поджать задвижку блокиратора (торчит вверх над кареткой, как раз под надписью «Феликс») и с некоторым усилием повернуть ручку. Прорези закроются и рычажки барабана, уперевшись в них, вернутся в исходное положение. Теперь на барабане ставим второе слагаемое и крутим ручку еще раз. Пожалуйста — окошки в правой части каретки показывают сумму. :) 

Вычитание производится так же, но ручку надо крутить на себя. А ушастые рукоятки по бокам зануляют каретку перед новыми вычислениями. 

Умножение очень похоже на то, как оно выполняется вручную «в столбик». Допустим, умножаем 128 на 256. Задаём на барабане 128, крутим ручку от себя 6 раз. Сдвигаем каретку на один разряд вправо (для этого служит специальный хобот, на левом снимке торчащий как раз над движком логарифмической линейки). Ещё крутим от себя 5 раз. Ещё сдвигаем. Ещё крутим два раза. Готово, смотрим результат. 

Деление выполняется очень забавно. Сначала с барабана на каретку откладывается делимое (так же, как первое слагаемое при умножении). Потом барабан сбрасывается и на нём задаётся делитель. Каретка сдвигается так, чтобы делимое и делитель на каретке и барабане совпадали позициями первого разряда. Теперь крутим ручку на себя, пока на каретке не возникнет переполнение (результат упадёт ниже нуля). Спрятанный в недрах арифмометра специальный колокольчик извещает об этом звуком «бздынн!». :) Как услышали бздынн, надо отыграть последний оборот рукоятки обратно, сдвинуть каретку влево хоботом, и повторять процесс. Когда после очередного бздынна двигать стало некуда — в левой половине каретки смотрим частное, а в правой остаток. 

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

Круто, да? :) На самом деле это проще, чем кажется: любой желающий обучается минут за десять. 

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

В научных расчётах такие вот механические монстры изжили себя уже к середине 1960-х годов. Но в СССР арифмометры выпускали до 1978 года включительно: они пользовались популярностью у бухгалтеров. 

Последним прямым наследником арифмометра является электромеханический кассовый аппарат «Ока», который в советских и российских магазинах можно было видеть вплоть до середины 1990-х годов. Он приводился в движение электромотором, но имел гнездо для механической рукоятки: такими кассами можно было пользоваться и при отсутствии электричества. Продавцы называли эту штуку «ручкой дружбы»: когда электричество отключали, крутить её соглашались разве что для своих близких знакомых… :) 

Последним годом, когда «Ока» ещё выпускалась, был 1988. Различные её модели стали исключать из государственных реестров РФ, начиная с 1995 года, а с 2002 исчезла даже теоретическая возможность их применения в магазинах. Но всё же вполне возможно, что в самые первые годы XXI века наследники арифмометров где-то ещё трудились.

9 мар. 2009 г.

Единица, деленная на нуль

Чему равна единица, деленная на единицу? Единице. А единица, деленная на нуль? Тоже единице. Почему? Так мы же ни на что не делим!..

Примерно такой диалог состоялся у автора с одним неординарно мыслящим студентом на занятиях по информатике. Поводом было появившееся на экране сообщение Division by zero, вызвавшее у моего сачка глубокое разочарование в программировании. Что тут скажешь? Ну, отошлешь его к азам математики и программирования, а про себя подумаешь, во-первых, как он поступил в технический вуз, во-вторых, что он не так уж далек от истины.

Если свое частное - единицу - он умножит на делитель - нуль, то есть на ничто, то получит делимое - единицу. Логично, понимаешь! А вот если этот зануда преподаватель умножит свое частное - бесконечность - на делитель - нуль, то в лучшем случае (вслед за своими яйцеголовыми авторитетами) получит неопределенность, а в худшем, если нуль - ничто, - бесконечность. Куда же девалось делимое? Где деньги, Зин? Что-то не у студента, а у нас с вами, коллеги, не в порядке с арифметикой младших классов. Конечно, студентика можно сбить на противоречии: если 1/0=1, то 1/1=0. Но и тут, вертясь, как уж на сковородке, он мог бы заявить, что деление на единицу - абсурд, что n/1=n - тождество, а не деление, и можно договориться исключить единицу из класса делителей. Не убеждает, конечно, но ведь и он нас сбил на противоречии. А спросите его, откуда он все это взял, - скажет, что это и так ясно. Интуитивно! Так велит Заратустра! Его ответ не так уж парадоксален, если вспомнить, что и нуль-факториал, и один-факториал равны единице. Договорились - и баста!

Что ж, еще в конце XVII века было неясно, считать ли нуль числом или цифрой. Победила числовая установка профессиональных математиков, но, как видим, и другая концепция жива в душе народной. И студент, и преподаватель в меру своих знаний и интуиции пользуются правом иметь свою точку зрения на результат 1/0 или 0!. И только компьютеру под давлением правящей математической парадигмы отказано в праве на такую точку. Фиксированная или плавающая точка - пожалуйста, а точка зрения - табу! Играть компьютеру в Zero нельзя. Ну дайте ему такую возможность, жалко, что ли? Вшейте в АЛУ чип или в операционку команду, чтобы он, например, выдавал вместо диагностики ошибки символ бесконечности и в зависимости от дальнейших команд решал, что с ним делать: либо при неопределенности останавливаться и выдавать диагноз своего недомогания или разрешать неопределенность, либо приводить к ожидаемому решению, если неопределенность не возникает. Конечно, это приведет к известной ревизии принципа программного управления, но если надо!.. А может, на радость студентам всех стран, пусть выдает значение делимого?! Выбор - с помощью элементарной развилки: налево пойдешь - в рациональный мир попадешь, где нуль и бесконечность - пределы модулей бесконечно малых и бесконечно больших, направо пойдешь - в иррациональный мир попадешь, где нуль - ничто, а бесконечность - всё.

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

А пока мы бубним о чисто математических основаниях компьютера, об ограниченной разрядности его регистров, как будто у человеческих регистров памяти и мышления разрядность неограниченная. Если взглянуть в зеркало, то обнаруживаются вполне зримые ограничения. Однако это не мешает нам фантазировать о нулях и бесконечностях, отрицательных числах и прямых линиях, отсутствующих в природе, об идеальных газах и обществах et cetera. Почему же конечномерность процессора и памяти мешает компьютеру фантазировать подобным образом? Уж не потому ли, что его поведение и знания как математического раба-робота жестко запрограммированы и загнаны в прокрустово ложе рациональных математических догм, ибо нам так выгодно. Аналогично нам было выгодно, наступив на здравый смысл, согласиться с Эйнштейном, что скорость света постоянна и максимальна из известных скоростей, хотя для «непосвященных» это - рациональная условность, не более того.

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

В этом смысле компьютерное «мышление» генетически двуедино. С одной стороны, за отказом делить на нуль усматривается рациональное признание бесконечной делимости действительных чисел (как и действительной материи). С другой стороны, бит как единица иррациональной информации неделим. На лекциях по диамату почти как религиозную веру вбивали ленинскую мысль о неисчерпаемости электрона в смысле его делимости. А потому круши его до основанья (и кварки тоже!), а затем, кто был ничем (нулем), тот станет всем - бесконечностью (1/0=Ґ). Нуль-«ничто» есть исчезновение объективной материи? Бесконечность - метафизическая идеализация размеров вселенной? Поставим вопросительные знаки, а не точки, дабы не возбуждать философов, а просить у них объяснений.

Так же как облака и птицы не ведают государственных границ, придуманных людьми, так не существует и однозначных границ между рациональным и иррациональным мышлением в одной естественной или искусственной голове. Природа не терпит скачков (Лейбниц). Мера - не точка, а интервал, диапазон количества (Гегель). Как взаимодействуют неисчерпаемые электроны с исчерпаемыми частицами информации в кишочках компьютера, можно объяснить, но не понять до конца. Врач тоже объясняет, но до конца не понимает пациента. Будем же последовательны!

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

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

А у студента, получившего когда-то неуд за свой философский ответ, остается попросить прощения.


Автор: Владимир Гухман
Опубликовано в журнале "Компьютерра"

8 мар. 2009 г.

Выбор темы для магистерской работы

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

Значение слова ПРИМАТ

ПРИМАТ (от латинского primatus - первое место, старшинство), первичность, главенство, преобладание.

Другие толкования:

Примат — Преобладание, первенствующее значение (Современный толковый словарь русского языка Ефремовой)
Примат — Преобладание, первенствующее значение. Для живописцев, искавших примата цвета или световой игры над содержанием, --- пейзажная живопись казалась наиболее приемлемой. (Малый академический словарь)
Примат — примат разума над чувством - superiorite de la raison sur le sentiment (Большой французско-русский и русско-французский словарь)
Примат — первичность, первенствующая роль, преобладание, главенство, преимущественное значение, например П. производства средств производства над производством средств потребления.… (Большая советская энциклопедия)
ПРИМАТ — Главенство, первичность, преобладающее значение. П. разума над чувством. (Толковый словарь Ожегова)
ПРИМАТ — Главенство, первенство, первенствующее значение. Примат материи над духом. (Толковый словарь Ушакова)
ПРИМАТ — (от лат. primatus - первое место - старшинство), первичность, главенство, преобладание. (Большой Энциклопедический словарь)

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

Вариации: ПРИМАТКА – о продвинутой девушке–специалистке в области прикладной математики.

Филдсовская медаль

Как известно, Нобелевская премия не имеет номинации «математика». Самой престижной наградой для математиков считается Филдсовская медаль. Названа так в честь канадского математика Джона Чарльза Филдса. Он родился 14 мая 1863 года в канадском городе Гамильтоне. После окончания Торонтского университета и защиты диссертации в течение многих лет работал профессором математики в различных университетах Нового Света. В 1923-1932 годах Филдс - председатель Оргкомитета международных математических конгрессов. Вот тогда-то у Филдса и зародилась идея восполнить пробел, созданный Нобелем, учредив международную премию за наиболее выдающиеся результаты в области математики. В 1924 году Джон Филдс, будучи президентом Международного математического конгресса (Торонто), выступил с идеей на каждом Математическом конгрессе (который проводится раз в четыре года), награждать двух математиков золотой медалью в знак признания их выдающихся заслуг мировым математическим сообществом. 

Оргкомитет очередного Международного математического конгресса единогласно поддержал это предложение, и уже в начале 1932 года в Торонто увидел свет меморандум Филдса «International Medals for Outstanding Discoveries in Mathematics» («Международные медали за выдающиеся открытия в математике»). Дабы подчеркнуть интернациональный характер медали, было специально решено не присваивать ей имени какого-либо из великих математиков прошлого. В сентябре 1932 года на Международном математическом конгрессе в Цюрихе предложение Филдса было окончательно утверждено. Сам он не дожил до этого знаменательного события всего месяц. Большую часть своего состояния Филдс завещал Международному математическому союзу для создания премиального фонда. 

Учитывая огромные заслуги Филдса в учреждении премии, решено было присвоить высшей математической награде его имя. В отличие от Нобелевских премий, присуждаемых, как правило, маститым ученым, премию Филдса решено было присуждать молодым математикам (до 40 лет), и не ежегодно, а каждые четыре года во время проведения Международных математических конгрессов. Идея Филдса осуществилась на Международном конгрессе в Осло в 1936 году - тогда были вручены первые две медали. Их получили Ларе Альфорс (Финляндия) и Джесси Дуглас (США). С 1966 года (конгресс в Москве) максимальное число медалей увеличено до четырех за конгресс. Помимо медали, лауреат получает премию. Первоначально размер премии составлял 1500 канадских долларов. В настоящее время ее размер достиг 15 тысяч канадских долларов. 


Филдсовская медаль изготовляется из золота (14 карат). На лицевой стороне медали имеется приписываемая Архимеду надпись на латыни: "Transire suum pectus mundoque poltri" ("Превзойти свою человеческую ограниченность и покорить Вселенную") и изображение Архимеда. А на обороте надпись: "Congregati ex toto orbe mathematici ob scripta insignia tribuere" ("Математики, собравшиеся со всего света, чествуют замечательный вклад в познания").

7 мар. 2009 г.

Doctor of Philosophy - Ph.D.

Doctor of Philosophy, abbreviated Ph.D. or PhD for the Latin philosophiæ doctor, meaning "teacher of philosophy", (or, more rarely, D.Phil., for the equivalent doctor philosophiæ) is an advanced academic degree awarded by universities. In many, but not all countries in the English-speaking world, it has become the highest degree one can earn (but see also the higher doctorates awarded by universities in the UK, Ireland and some Commonwealth countries) and applies to graduates in a wide array of disciplines in the sciences and humanities. The Ph.D. has become a requirement for a career as a university professor or researcher in most fields.

The detailed requirements for award of a Ph.D. degree vary throughout the world; however, there are a number of common factors. In some countries (the US, Canada, Denmark, for example), most universities require coursework for Ph.D. degrees. In many other countries (especially those with a greater degree of specialization at the undergraduate level, such as the UK) there is no such condition in general. It is not uncommon, however, for individual universities or departments to specify analogous requirements for students not already in possession of a master's degree.

In countries requiring coursework, there is usually a prescribed minimum amount of study — typically two to three years full time, or a set number of credit hours — which must take place before submission of a thesis. This requirement is usually waived for academic staff submitting a portfolio of peer-reviewed published work. The candidate may also be required to successfully complete a certain number of additional, advanced courses relevant to his or her area of specialization.

A candidate must submit a thesis or dissertation consisting of a suitable body of original academic research, which is in principle worthy of publication in a peer-refereed context.[1] In many countries a candidate must defend this work before a panel of expert examiners appointed by the university; in other countries, the dissertation is examined by a panel of expert examiners who stipulate whether the dissertation is in principle passable and the issues that need to be addressed before the dissertation can be passed.

Universities in the non-English-speaking world have begun adopting similar standards to those of the Anglophone Ph.D. degree for their research doctorates (see, for example, Bologna Process).