Первая настоящая программа, которую я попробовал написать, – «Ход конем». Она перемещала коня по шахматной доске так, что он только единожды попадал на каждую из 64 клеток. Это не так просто сделать. Сначала я написал программу, ходившую на два хода вперед, затем плюс еще один, и так снова и снова – пока не перепробовал все возможные ходы. И если программа не могла сходить единожды на каждую клетку на доске и заходила в тупик, она возвращалась назад и пробовала новые комбинации. Она могла возвращаться назад столько раз, сколько требовалось для правильного ее завершения. Тот компьютер мог совершать миллион операций в секунду, поэтому я решил, что для него это будет плевым делом и поставленную задачу он решит быстро.
Так вот, сижу я, довольный своей программой, и думаю, что это только первый шаг и вскоре я решу все самые сложные задачи в мире. И что вы думаете? Компьютер не выдает никакого результата. Лампочки на машине немного помигали, а потом застыли в одном положении. Ничего не происходило. Мой товарищ, инженер этой компании, еще немного подождал, а потом сказал: «Ну что, похоже, имеет место бесконечный цикл». И он показал мне, что значит бесконечный цикл – когда программа замыкается и делает одни и те же действия по кругу бесконечно. (Просто к слову – Бесконечный цикл стало названием улицы, на которой сегодня располагается штаб-квартира компании Apple.) Как бы то ни было, на следующей неделе я пришел туда снова и написал программу, которая выводила на принтер все ходы. Помню, как я вытягивал эти распечатки из принтера и внимательно их изучал. Тогда я кое-что понял. Программа и правда работала так, как и должна была работать. Я все сделал правильно. Только на поиск решения ей требовалось 1025 лет. Наша Вселенная существует меньше.
Тогда я понял, что миллион циклов в секунду не решает всех задач. Одна лишь скорость – это не всегда решение проблемы. Многие понятные задачи в программировании нуждаются в хитроумном, хорошо продуманном подходе. Особенный метод, используемый в компьютерной программе, в совокупности с правилами, этапами и процедурами, кстати, и называется алгоритмом.
Что представляла собой программа «Ход конем»?«Ход конем» – больше чем просто математическая задача, в которой надо было перемещать шахматную фигуру коня по доске. Это достаточно старая математическая задача, и люди столетиями пытались решить ее – безуспешно. Суть проблемы – переместить фигуру коня по доске 64 раза таким образом, чтобы она попадала на каждую клетку на доске только один раз.
Я нашел в Интернете два сайта для тех, кому это может быть интересно. По ссылке http://www.borderschess.org/KnightTour.htm находится программа Knight’s Tour Puzzle, которая работает в режиме онлайн. На другой странице, на том же сайте – http://www.borderschess.org/KTsimple.htm – есть полная инструкция, овладев которой, вы просто взорвете другим людям мозг! Удачи.
* * *
Я тогда и правда питал громадное уважение к учителям. Я считал, что они и инженеры были умнейшими людьми в мире. Они могли стоять перед нами и рассказывать обо всем простыми словами. Я понимал, что сам был очень способным, но учителя готовились к каждому уроку по учебникам и так уверенно нам потом все рассказывали, поэтому я считал, что они были наверняка гораздо умнее меня. В то время я думал, что все учителя в моей школе были настоящими мудрецами.
А вот сейчас все ученики и студенты читают одни и те же газеты и журналы. И ответы у них стандартные, как под копирку. И они никогда не критикуют стиль преподавания. Я это вижу. И отношение у меня к этому процессу гораздо более циничное.
Если читать то же, что читают остальные, и говорить то же, что говорят остальные, то вас, конечно же, сразу начнут считать умным. Я же стараюсь оставаться чуть более независимым и критичным. Я считаю, что образованность – это способность рисковать и давать вещам собственную оценку, а также способность подвергать утверждения сомнению, задавать правильные вопросы и добиваться истины – а не просто принимать все так, как вам это преподнесли.
До школы Хоумстед и обратно идти было достаточно далеко, и по дороге я размышлял. Мне нужно было преодолевать по несколько миль каждый день, и я принялся анализировать свои интеллектуальные способности. Я думал про то, что достиг выдающихся успехов в изучении математики и естественных наук, но с историей и английским дела обстояли значительно хуже. Как же так? Я подумал, что это были более субъективные предметы – ведь я не раз видел, как симпатичным девчонкам, умеющим льстить, стоило просто подойти к учителям, и им сразу же повышали оценки. И я подумал: «Ну вот, когда ты сдаешь предмет письменно, то твоя работа состоит просто из слов – это все очень субъективно, и единственного точного ответа не существует». Мне нравилось в математике именно то, что в результате ты всегда должен был найти единственное решение, которое могло оказаться правильным или нет. Понимаете, о чем я? Никакой серой зоны – ответ либо правильный, либо нет, и все. (Однажды я сдал работу, и мое решение преподаватель перечеркнул, но я знал, что оно верное. Выяснилось, что ошибка была в учебнике. Такое случается.) Теперь сравним это с сочинением или эссе, которые можно написать по-разному и которые могут содержать множество разных точек зрения. Как можно заранее знать, какому именно варианту отдадут предпочтение учителя? Как определить, кто действительно понял книгу или кто почерпнул из нее больше остальных?
И вот так, во время этих долгих прогулок, я решил для себя, что логика должна быть важнее всего остального. Я и так в это уже верил, но именно тогда окончательно утвердился в своей вере. Я осознал, что не относился к большинству или к какой-то одной социальной группе. Я понял, что думаю иначе, чем другие дети моего возраста. Я думал: «Отдельно взятое утверждение может быть или истинным, или ложным. Математика достаточно правдива, ведь два плюс два это четыре, и если кто-то докажет, что два плюс два – пять, – ну что ж, тогда нам всем останется только принять это». Для меня лично ближе всего к истине была логика. Именно эту этическую норму я унаследовал от своего отца. Логика была для меня всем. Я решил, что главным критерием оценки человеческой личности было стремление к истине. Расчеты, проводимые инженерами, показывали, что эти люди жили по правде.
* * *
Однажды в офисе компании Sylvania я наткнулся на брошюру под названием «Краткое руководство по компьютерам». Я очень интересовался компьютерами, но до этого я узнавал о них и их работе лишь в силу удачного стечения обстоятельств. Эта брошюра стала одной из самых счастливых случайностей в моей жизни.
(adsbygoogle = window.adsbygoogle || []).push({});