yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Ричард Фейнман о возможностях и будущем компьютеров, 1985 год [Vert Dider]


37m read
·Nov 3, 2024

What Science is and How and Why it Works

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

Что ж, приступим. Начнём с того, что проясним, что же скрывается за словом "компьютер". Во-первых, надо отметить, что компьютеры бывают разные. В некоторых из них данные можно вводить голосом, в некоторых — только печатать. Например, такие, в которые сигналы поступают от механики автомобиля. Компьютер вычисляет, как должны крутиться шестерёнки в автоматической коробке передач. Благодаря таким устройствам мы узнаём, с какой скоростью едем, под каким углом расположена дорога и так далее. Это система ввода компьютера, и она привязана к источнику, от которого поступает информация. Это может быть клавиатура, телефон, датчики в автомобиле, измеряющие температуру или ускорение.

Есть и система вывода. Например, она может контролировать подачу топлива в машине или отрисовывать картинку на экране телевизора, выводить изображение или воспроизводить музыку, звуки. Но сегодня я хочу поговорить не о вводе и выводе или о разнообразии типов компьютеров.

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

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

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

У всех есть свои плюсы и минусы, но нас это не касается. Мы будем говорить о главном — о собственно компьютере. Назову его так, потому что это он и есть. Конечно, в компьютерах важны и другие элементы, но сейчас не о них. Нас интересует, каким образом они "думают". Если вам по душе считать, что они "думают", но лично я предпочитаю сравнивать компьютеры с картотеками. Забегая вперёд, сразу скажу, что компьютер — это высококлассная, сверхскоростная картотека.

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

Компьютерные профессии говорят не о вычислениях, а об обработке данных. Обработчик данных — это было бы точнее и гораздо ближе к работе с каталогом или архивом, где сложены карточки, с которыми надо оперировать, доставать, смотреть, убирать и так далее. Это компьютер делает.

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

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

Как нужно считать? Достаём карточку, смотрим на продажи за месяц, смотрим размер комиссии, умножаем, записываем результат, кладём карточку на место. То же самое с каждой карточкой. Так, ещё раз алгоритм: достаём карточку, смотрим данные, проделываем с ними операции с данными, которые там есть. Для полноты картины давайте представим себе, что у нас есть черновик и карандаш с ластиком. Теперь мы можем писать сколько хотим, переписывать, исправлять, перемножать и не рискуем испортить карточку.

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

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

Так, хотя можно делать и проще: берёте карточку, выписываете нужное, убираете её и только потом берёте за вычисление. Ответ вносим уже потом туда, куда нам понадобится. Может, и в ту же карточку. Главное тут — вытаскиваем и сразу убираем. Так, ещё раз: какие у нас операции? Берём карточку, считываем с неё необходимую информацию, заносим число с черновика в другую карточку — вот задача нашего служащего.

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

Но давайте перечислим все шаги. Итак, пишем ноль. Карточка суммы с расходами по отделу продаж Калифорнии. Затем берём первую карточку, человек из Калифорнии? Нет, а нам нужны карточки только оттуда. Так по условием нашего примера, возвращаем на место. Берём ещё одну. Из Калифорнии? Нет. Дальше — из Калифорнии. Следующий шаг: смотрим, сколько мы должны этому специалисту и складываем с числом на карточке суммы. Берём число с карточки специалиста и складываем их. А результат вписываем в карточку суммы. Число на ней будет расти.

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

А теперь попробуем усовершенствовать картотеку. Для перечисленных операций нужен довольно умный служащий. Ему надо складывать, умножать, читать карточки, воспринимать инструкции начальства и запоминать их, и, конечно же, выполнять. Кроме того, нужно ориентироваться в расположении ящиков, знать, где именно и какие карточки искать. Всё это не так-то просто.

И вот представьте, к вам приходит устраиваться новый сотрудник. Он работает в пять раз быстрее старого. Сразу берём? Да, но вот незадача: он не умеет умножать. И как же он будет вычислять размер выплат? В общем, дело не пойдёт. С другой стороны, он в пять раз быстрее. Вот бы научить его умножать.

Что делать? Отправить в школу? Слишком долго. А что, если предоставить ему обширный список ответов? Тем более что он очень быстро перебирает карточки. Например, наш новый бухгалтер Берт: карточка с двумя числами. Мы советуем ему посмотреть на последние цифры, и там 7 и 8. Это значит, что ему нужно в другой картотеке найти карточку с номером 78. На этой карточке он видит ответ — 56. Помните, мы все в школе? На карточке указан номер, например 78 — это 7,8.

Можно даже так и назвать. Умножить 7 на... Ответ 56. Прямо так нашему сотруднику остаётся только достать нужную карточку, а это он отлично умеет. Ага, 78 значит 56. Вот так и работает. Ему это умножение даром не сдалось, вполне хватает картотеки с инструкциями, из которых чётко следует, какие карточки надо искать и в каком случае.

Ему надо скомандовать описать в виде определённой чёткой процедуры по обработке чисел, довольно прямолинейным, топорным способом. Благо места для хранения всех этих операций достаточно, как раз для этого у нас и есть целая картотека. Мы вносим информацию на карточки не для того, чтобы не забыть необходимые данные.

С помощью специальной картотеки мы можем сделать умножение доступным для нового сотрудника. Конечно, заново искать карточку с ответом — это медленнее, чем умножить, но у нового парня очень уж плохо с памятью на числа. Он может хоть 100 раз перемножить 7 и 8, но так ничерта и не запомнит. Да, так умело оперировать числами, как наш опытный умный служащий. Новичок никогда не научится, но он настолько быстро перекладывает карточки, что "ВС" равно выиграет по времени.

Если перемножать придётся много, то он, возможно, обгонит опытного коллегу, не в пять раз, а всего в два, пока ищет в карточках результат умножения. Что ж, этот служащий не умеет умножать, зато у нас есть ещё один: он достаёт и убирает карточки в 10 раз быстрее, но складывать не умеет. Не беда! На этот случай у нас есть таблица сложения.

Верно, кстати, он по сути не только не умеет складывать и умножать, но вообще не знает чисел. Зато распознаёт, сравнивает и отличает содержание разных карточек. Он понятия не имеет, что такое эти ваши числа, но, по инструкции, сравнивает символы между собой и достаёт нужные карточки. А откуда у него инструкции? Из другой картотеки. Там сказано: "Сделай то-то и то-то".

Итак, у нас есть ряд карточек с инструкциями. Запоминать их ему не нужно, да он и не может. Первому служащему можно было сказать: "возьми карточку", и ему надо было пойти в кабинет номер П, открыть нужный ящик и взять карточку, и так далее. Чтобы второй служащий пошёл в нужный кабинет, нашёл карточку и прочитал её, нужны подробные инструкции.

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

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

Ему всего-то нужно запомнить: "Надо нажать на совсем чуть-чуть". Он может прочитать, нажать на... у него ещё есть счётчик команд или инструкций. Он должен нажать на кнопку, чтобы перейти к следующей команде. Служащему надо усвоить команду: "Нажать на кнопку" и всё. Далее: "Прочитай номер в счётчике команд и вытащи карточку с этим номером из ящика".

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

Он ведь не помнит ни черта, поэтому мы всё написали на карточке. Он берёт следующую, в которой указано, что делать, и так далее. Ему не нужно запоминать, на каком он сейчас шаге; за него считает эта штуковина. И думаю, вы уже догадываетесь, что собрать её не так уж и сложно.

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

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

Ну и как научить этого недоумка работать? Как он пот... А, это "а". Это "а". Что если мы решим написать ему имена, обычные имена из букв, или ещё что-то? Нам придётся составить для него инструкции, по которым он сумеет читать. Тогда вместо того... Вот пример получше: поскольку карточек становится всё больше, больше шкафов, больше архивов, больше помещений, этого бедолагу надо научить в них разбираться. Архивы на секции и располагаем по алфавиту или по номерам.

И вот наша карточка, она в ящике 34. Или там, знаете, как нумеруют помещения в университетах и кампусах? Я вам расскажу, как это сделать с помощью одних только красных и синих точек. Это как раз для таких интересных людей, которые любят походить по семинарам, но не знают чисел. Честно, можно обойтись без чисел. Возьмём кампус, для примера, так интереснее. Хотя, вряд ли это пригодится кому-то на практике, но мало ли.

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

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

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

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

Только у нас не восемь комнат, а тысячи шкафов. Для разметки нам понадобится всего 10 точек. Если ящиков миллион, то 20. При двадцати точках эти цвета с серым, красным, серый, серый, красный предполагают столько комбинаций, что нам их своими можно обозначить. Огромное число шкафов, и служащий, который различает только два цвета, вполне сможет ориентироваться в такой обстановке.

С кабинетом получилось. Теперь попробуем с буквами алфавита. Раскладываем алфавит, и каждой букве присваиваем код и точек для всей левой части. Первая точка будет серой, для правой — красной. Затем выбираем вторую точку. Вместо комнат могли бы быть ABCD и так далее. То есть мы особым способом учим нового сотрудника алфавиту. Он воспринимает только точки, а мы переводим буквы в доступную форму, такую, чтобы он распознавал имена и числа, но в другой кодировке.

Как точка, тире, только чуть строже: единицы и нули, или серый и красный. Да, неважно, главное, у нас есть два разных значения, и новый сотрудник способен распознавать, какой из двух знаков поставлен. Конечно, ему придётся каждый раз заново идти по порядку: считывать точки здесь, потом здесь и здесь, и таким образом выяснять, какая буква имеется в виду.

Но чтобы взаимодействовать с нами, точек не хватит, мы ничего не поймём. Нам понадобится перевод с языка точек на тот, который мы знаем. Что будет происходить? Предположим, мы запросили у него сведения о лучшем сотруднике отдела продаж, скажем, Калифорнии. Имя записанное точками, надо перевести — как это имя найти? Объясню позже.

Так вот, допустим, имя начинается с буквы, или пусть для служащего эта буква выглядит как три точки. Но нам-то нужно, чтобы он показал нормальную букву. Обычную "С". Для этого мы дадим ему такой инструмент — экран, который квадратный. Вот так побольше бы надо! Затем инструктируем. Рассказываем, какие квадраты зажигать, а какие нет. Это он делает с помощью электронных импульсов.

Всё те же серые и красные точки. Поставлю серую точку сюда. Сперва надо нарисовать как-то так красными точками. Получилось не очень красиво, но понятно. На экране покрупнее, с большим числом квадратов было бы симпатичнее. Остальное заполняем серыми точками. Эта инструкция отправляется в шкаф специальный ящичек для буквы "С".

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

Самая сложная операция для него — это общение с нами, перевод информации в точки и наоборот — точек в тот вид, который подходит нам. То же самое можно сделать с числами. Представим, что ему нужно работать только с диапазоном до 103. Это такой удачный случай, когда можно всё поделить пополам 10 раз без остатка. Числа мы описываем теми же точками. У нас есть верхняя половина и нижняя половина чисел.

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

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

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

Даем команду одинаковой точки: "делай это". Видишь две серые и две красные — "делай то". Собрать такую механическую штуковину довольно просто. Скажем, вместо серых и красных точек возьмём напряжение в цепи. Оно или есть, или нет — ток идёт или не идёт. Вместо цвета точки у нас напряжение: есть оно сейчас в проводе или его нет?

Другой пример с электричеством: можно представить себе гидравлический компьютер с трубами, водой и её давлением. Если в трубке есть вода, то это серая точка. Если нет — значит, красная. Всё довольно просто: вода — вода, нет воды. Смотрите, да? Да. Нет — это получается вторая комната.

Но что, если надо учитывать два значения? Вода потечёт только если обе точки... Пусть будет так: только если обе точки серые, тогда мы рисуем серую точку. Иными словами, только если заполнить обе трубы, вода потечёт через третью. Нам нужен вентиль, который управляется водой. Вот у нас труба и вентиль, мы можем перекрывать воду, она вот здесь. А тут клапан, он закрывается лёгким поворотом. Вот тут сверху вместо ручки у нас что-то вроде лопасти. Если на неё попадает вода, вентиль повернётся и канал откроется.

Допустим, вода, которая для этого нужна, подводится здесь. Пускаем воду, тут открывается основной поток. Теперь я поставлю два вентиля один за другим. К ним по двум разным трубам поступает вода. Канал заработает только если вода пойдёт. По обеим этим трубам.

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

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

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

Картотека просто для задач посложнее. Все компьютеры занимаются одним и тем же: может, какие-то медленнее, какие-то эффективнее, но работают они примерно одинаково. Они устроены аналогично. Конечно, есть ограничения. От объёма картотеки зависит, сколько карточек в неё вместится. Может, для ваших задач она окажется маловата. Но это единственная разница между компьютерами.

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

Например, если надо переключиться и посчитать что-нибудь из нефтяной отрасли, скажем, данные по скважинам: новые числа, новая инструкция о том, как с ними работать. Как быть? Покупка новой картотеки — это дорого. Так что поступим следующим образом: выкидываем карточки с отчётами о продажах. А что, если они позже понадобятся? Ладно. Вытащим все эти карточки, сделаем копии и сложим в подвал.

Теперь можно выкинуть. Если что, всегда сможем их достать. Затем в этом подвале находим коробки с копиями прошлогодних отчётов и восстанавливаем все документы, которые мы когда-то готовили для нефтяной компании. Теперь расставляем все карточки с необходимой информацией по ящикам и полкам, сопровождая их инструкциями. Наш глупый счетовод готов взяться за работу в нефтяной компании. У него теперь новая инструкция: что означает подвал?

Что ненужные данные не используются, их выкинули, их едва ли не утилизировали, их сложно вернуть. Спускаться тяжело, вытаскивать и заново расставлять карточки по местам долго и муторно. Делается это редко, когда надо поменять задачу. Если же картотека готова к работе, то можно сравнивать, считать, складывать, перемножать — в общем, делать всё, чего мы хотели от нашего сотрудника.

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

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

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

Наш работник тот же самый: он выхватывает отдельные фрагменты данных, обрабатывает и кидает их обратно. Берт делает кидает. Берт делает кидает. Он работает с безумной скоростью, с почти невозможной. Я так прикинул, в десять миллионов раз быстрее обычного сотрудника. То есть в десять раз быстрее, и так семь раз — это десять раз в десять раз в десять раз. Ошалеть, как быстро! За это надо сказать спасибо электрическим сигналам.

Наш работник трудится, не покладая рук. Нулевой стыд системы памяти. Может, вы слышали: сейчас есть память 256 КБ. Кило значит 1024, то есть 256 на 1024 знаков по восемь точек в одном маленьком чипе. Чем больше чипов, тем умнее компьютер. Если не считать нашего служащего в компьютерах — он называется центральный процессор, который проверяет счётчик команд и меняет старые инструкции на новые и так далее и так далее. Он работает в поте лица.

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

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

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

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

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

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

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

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

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

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

Тогда наша конструкция сможет работать. Будет ли она мыслить? Если бы реально было составить чёткую пошаговую инструкцию для мыслительного процесса... Кстати, некоторые слушатели на моих мастер-классах именно этого от меня и ждали: чтобы я подробно разложил процесс мышления на этапы. Если бы я мог это сделать, то обязательно прописал бы инструкцию для компьютера и научил бы его думать.

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

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

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

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

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

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

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

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

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

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

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

Так, но обычно фонариком в нос никто не светит. Так что это надо специально проверить, и компьютер говорит: "Ну-ка посвети ему в нос". Снаружи просвечивает, выбираем "да". Тогда бактерия в картотеке. Хранится огромный набор данных, плюс неполные решения, которые требуют дополнительной информации. И согласно программе, если остаются какие-то слепые пятна, система выдаёт сигнал о том, что нужны обследования и дополнительные данные.

Работает, конечно, похуже живого врача. Что ж, примерно таким образом машины используются в медицине, играют в шахматы, создают оборудование, помогают в планировании бизнеса и прокладывают маршруты. Строят несколько вариаций, выбирают лучший. И вот что они такое — большая карточная система, в которую можно ввести данные и придумать алгоритм их обработки.

Особенно это полезно, когда много данных и есть необходимость перебирать варианты. Вот всё это умеют компьютеры. Интересно было бы сравнить. Ведь все хотят... Хотя оставим это для раздела вопросов: меня наверняка об этом спросят. Я закончил.

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

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

Да, на разных языках, но "ВС" рано. Это некое удивительно, как вы объяснили внутри — он устроен достаточно просто, но в то же время красиво и изящно, когда все эти простые вещи работают. Да, и всё-таки я больше склонен к тому, чтобы воспринимать его как сверхбыстрое. Исходя из этого, легко понять, в чём природа её универсальности. В том же, в чём универсальность шкафов, ящиков, карточек.

Если наш сотрудник умеет всем этим пользоваться и знает, что где писать, "может", или она вечно, не знаю, как сказать, "может", "может", выполнять ту или иную работу в зависимости от того, что в карточках. Какие инструкции мы заранее прописали? Это универсальность как раз и позволяет компьютерам добиться того, о чём вы говорите. Вычислительная машина — это автоматическая картотека.

Да, но я хотел задать чуть-чуть другой вопрос. Как вы думаете, мы создадим машину, которая будет мыслить как человек когда-нибудь в будущем? Или даже будет умнее человека? Если говорить про мышление, как у человека, я бы сказал "нет" и попробую объяснить, почему.

Нет, а что касается вопроса о том, возможна ли машина, которая будет умнее человека, то тут надо определить, что такое ум. Если речь о шахматах, например, и вопрос: "Сможет ли машина играть лучше любого человека?" — То да, когда-нибудь. Играет лучше большинства людей.

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

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

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

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

Давайте возьмём простейшую математику, арифметику. Компьютеры вычисляют намного быстрее любого человека и по-своему. Но это та же самая арифметика, результат одних и тех же операций одинаковый. Если бы мы решили переучивать их, чтобы они считали "по-человечески", это был бы шаг назад. Люди считают медленно, с большим трудом и с множеством ошибок, не то что компьютеры.

Если сравнивать возможности компьютера с человеческими, обнаруживаются очень интересные вещи. Например, если попросить человека сделать следующее: "Я дам вам ряд чисел, а вам надо назвать их в обратном порядке". Как вам? Сейчас я назову цифры, а вы потом назовёте их строго от конца к началу. Ладно, упростим задачу: просто перечислите их в том же порядке. Готовы? 1, 7, 3, 9, 2, 6, 5, 88, 3, 1, 7, 2, 6, 3.

Ну что? Кто попробует? Никто? А ведь я даже два десятка чисел не назвал! А в компьютер можно ввести, например, 50.000 чисел! Ричард? Извините. 1, 7, 3, 9, 2... Да, вы, похоже, справились! 8, 3, 1, 7, 2, 6, 3. [аплодисменты] Да, он справился отлично! Однако компьютер легко выдал бы ответ на запрос перечислить в обратном порядке 50.000 чисел, или перемножить их друг на друга — всё это он может выполнить в точности и без ошибок.

Компьютер кое-что умеет получше человека, и об этом надо помнить, когда мы сравниваем возможности. Обычно, когда я об этом говорю, все пытаются придумать каждый раз. Это происходит, чтобы лучше компьютера. Так вот, нам известно, что многое...

"Да, нет"? Компьютер не может угнаться за человеком. Скажем, по улице идёт девушка, и вы тут же узнаёте походку. Ну, точно это Джейн. Да, или вот локон у парня на голове слегка покачивается, лицо вам не видно, но причёска сразу выдает вашего знакомого Джека. Так, такого рода узнавание пока машине не под силу.

Это не удаётся перевести на язык точной процедуры. Вы возразите: "Но ведь Джека можно запомнить, просмотрев множество его фотографий". Их можно поместить в компьютер тем же методом, как с точками, только с более мелкой сеткой, чтобы детали отображались лучше. Примерно как фотографии в газетах. Там много-много чёрных и белых точек, но настолько мелких, что мы видим не их, а картинку. Так и здесь.

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

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

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

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

Поставить одинаковые картинки легко, но есть много нюансов: разная центровка, угол расположения, сила надавливания, здесь грязь, какие-нибудь мозоли и повреждения и так далее. Эти мелкие детали настолько увеличивают задачу для компьютера, для этой слепой картотечной системы, что работа идёт очень медленно, и поручать машине такое задание непрактично.

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

Что ж, ещё вопросы? Да, прошу! Думаю, все задаются этим вопросом. В конечном итоге: чего компьютеры принесут нам больше: вреда или пользы? Зла или... Я не знаю ответа на этот вопрос. Не знаю, что сказать. То же самое можно спросить о чём угодно! Например, йога: от неё больше пользы или вреда?

Любое новшество даёт нам инструменты, новые способы творить или, конечно, приносить вред. Любую деятельность можно направить на созидание и разрушение. Невозможно предугадать, но нельзя с уверенностью сказать, что некую технологию никто не использует во вред. За исключением телефона, на мой взгляд.

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

Что любопытно, устройств, которые не дают возможности ими напрямую убивать, не так уж много. А нож. Вот вам вопрос: человек изобрёл нож и обсе соплеменникам. Вот заточенный кусок металла, затем придал ему форму. А если он каменный, то вот острый камень. Им можно что-то нарезать, овощи чистить или срезать плоды с веток и всякое такое.

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

А так, не знаю, есть ещё проблема большого брата. К ножам она не имеет отношения, но становится актуально, если говорить о компьютерах. Да, но что страшнее: большой брат или отрезанная голова? К слову: большой брат, потому и стал возможен, он взял нож. Но и понеслось. Тут всё не так просто.

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

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

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

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

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

Люди задаются вопросами вроде: "А будет ли машина счастлива, выполняя то-то и то-то? Поймёт ли она, что делает?" И прочие фантазии. Ещё бы спросили: "Будет ли компьютер вычёсывать у себя в шее, пока делает расчёты?" Нет. Чтобы это делать, ему сначала надо волосами обзавестись.

Так что нужно осторожно рассуждать о том, что может человек. Если добавить к достижению какие-то, которые вам нравятся, какую-то эстетику... Я не про вас, вы такого не говорили, но многие говорят нечто подобное. Стоит завести речь о результатах, как к ним тут же примешивается какая-то дополнительная человеческая вещь.

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

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

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

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

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

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

В этом вопросе дальше всех продвинулся Дуглас Ли. А сколько у меня времени? У меня ещё заготовленные слайды. Сейчас 9:15. Спасибо, это очень интересно, но сколько? Сколько у меня ещё времени? Пора показывать слайды. Пора показывать, поскольку у нас нет времени. На этом закроем тему.

Что может закончить? И про эвристику на это нужно хотя бы несколько минут. Поэтому я и спросил: "Несколько минут есть?" Хорошо, так вот. Он работал над машиной, которая представляла собой ту же картотеку, но искала решение на основе сравнения разных возможностей, пыталась выбрать наилучший вариант.

В целом, похоже на то, как компьютер играет в шахматы. Инструкции были не пошаговые, а что-то вроде: "Сосредоточьтесь на фигурах ближе к центру доски, остальные пока не трогайте". Что-то вроде того, такого плана рекомендаций. Сначала Лена применил этот подход к игре про "Морской Флот". Она популярна в Калифорнии, там довольно интересные правила. Увлекательная игра. Вам выделяется определённый бюджет на корабли, броню, пушки и так далее.

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

К тому же, это просто игра. Игроки выясняют, кто лучше по правилам, а это огромный объём данных: сюда входит стоимость корабля, мощность снарядов, очки и так далее. Хорошая игра. Так вот, Лена применил свою программу в этой игре. Программе ему дал эвристические команды.

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

Получается, навык успешной игры у машины зависел от её, скажем так, обучения наиболее эффективным из обнаруженных приёмов. Они применялись чаще. Неплохое уже хочу поведение. Лена выиграл.

А как именно? Оказалось, что он построил один огромный военный корабль. И обвесил, вроде бы какая-то глупая стратегия, но именно она оказалась самой эффективной. Никто, кроме компьютера, до этого не додумался. Через год Лина снова соревновался и опять победил. 100.000 кредитов он потратил на 100.000 мелких кораблей, правила изменили, чтобы никто не воспользовался его фокусом.

100.000 корабликов, и на каждом была одна пушечка. Снести кораблик ничего не стоило, но их ведь 100.000. Они дешёвые, и все не собьёшь. Эта армия мошкары позволила ему снова победить. Расчёт был верным: больше его к игре не допускали.

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

Вот одна из ошибок: машина придумала эври, это как правило. Если полезно, то получает баллы. Если нет — оно их теряет. И это, чёрт возьми, кстати, раздобыть компьютер тогда было сложно. У него был доступ к полусотне машин у Юли, по-моему, экспериментировать приходилось по ночам. Точнее, компьютеры работали всю ночь, а он утром приходил за результатами.

Он так делал расчёт и много чего ещё. И вот он приходит утром, а машина придумала такой подход. Кстати, когда в систему вносились новые задачи, на них отмечалось авторство: "Лит добавил", или "сама машина". Так вот, компьютер придумал правила: задачи, внесённые Литом, игнорировать. Это помогло сэкономить время и другие ресурсы.

Машина решала собственные задачи быстрее, игнорируя запросы человека. Этот баг пришлось исправлять. В другой раз значение эвристики под номером 693 зашкаливает и показывает 999 из... Чёртова полезная евристика! Всю ночь машина использовала решение под номером 693, раз за разом.

Что ж, видимо, это новое решение подходило, чтобы справиться с любой проблемой. Чудо! Да уж! Мы решили посмотреть, что же там такое. Скажу: "Получает бабе в копилку". Терри стики, которые чаще оказываются полезными, получают больше баллов.

И вот какое было решение: при начислении баллов они всегда добавляются. Эвристики 693, естественно именно оно и набиралось. Я тогда сказал, что бы из примеров признаки интеллекта... Если воззвать, уну машину что, же, это — незаметно придумать какой-нибудь способ, скажем, повторять раз за разом одно и то же бесполезное действие и прочее. Чем ближе мы подбираемся к умным машинам, тем больше видим неизбежных побочных эффектов интеллекта.

Спасибо! Давай!

More Articles

View All
Safari Live - Day 27 | National Geographic
The whole thing, the grass, everything, so it’s going to change rapidly once we get that rain, particularly with temperatures like this. This is great temperatures for the growth of vegetation, but they need water for that to happen. At the moment, there …
Diana Hu on Augmented Reality and Building a Startup in a New Market
All right, Diana! Whoo! Welcome to the podcast. Thank you for having me here. Correct, so maybe we should start from now and then go backward in time. So, you’re working on AR at Niantic after your company, Escher Reality, has been acquired. How did you s…
Spider vs Penis (Priapism) - Smarter Every Day 98
Alright, so this video may not be appropriate for kids, and it is, uh… It’s disturbing on several different levels. Especially if you’re a man… So, you know, on Smarter Every Day, I try to keep everything very intelligent and respectful, but this video is…
THE NEW $1200 STIMULUS CHECK | ALL DETAILS REVEALED
What’s up guys, it’s Graham here. So wow, it’s been a while since we talked about what’s going on with the stimulus check and stimulus package. Even though this is something I have not covered since May 29th, which is basically like a decade in YouTube ti…
Interpreting behavior of _ from graph of _'=Ä | AP Calculus AB | Khan Academy
Let g of x be equal to the definite integral from 0 to x of f of t dt. What is an appropriate calculus-based justification for the fact that g is concave up on the open interval from 5 to 10? So, concave up! Before I even think about what it means to be …
Crucial Tactics Of Heavy MANIPULATION You NEED TO KNOW | STOICISM
Did you know that every day in every encounter there’s a hidden battlefield? It’s the unseen struggle of manipulation versus authenticity, where our thoughts and hearts are the prizes to be won. It’s not just in the movies or dramatic books; it’s in our o…