Искусственный интеллект - [9]
Но вы не на моем курсе, так что я не могу просто дать вам компьютер. Но рекомендую разобрать старый. Наверняка у вас такой где-то лежит; также старый ненужный компьютер можно найти в комиссионках, они недорогие. Либо спросите на работе: обычно у системных администраторов найдется что-то подходящее, нечто, что они используют для украшения или просто не отдали на переработку. Для этой задачи лучше всего подходит настольный компьютер.
Разберем его на части. Вам понадобится маленькая отвертка, если вы собираетесь разбирать ноутбук. Внутренности настольного компьютера, скорее всего, выглядят как на рис. 2.2.
Посмотрите на детали, как они соединены. Проследите за проводами (порты USB, аудио-, видеопорты и т. д.) и посмотрите, куда они подключены. Прикоснитесь к прямоугольным деталям, похоже, намертво скрепленным с платой. Найдите процессорные микросхемы – на них наверняка написано Intel – это ключевой элемент всей затеи. Найдите разъем, соединяющий всю эту конструкцию с монитором. Скорее всего, к нему подключен чрезвычайно прочный, гибкий и пластичный шлейф проводов. Он передает информацию об изображении на монитор, который затем отображает картинку, закодированную в сигнале.
Вы печатали на клавиатуре, чтобы написать программу на Python. Эта информация передалась в нутро компьютера посредством клавиатуры, потом была интерпретирована системой. Затем компьютер выдал инструкцию к следующей части механизма – монитору, чтобы тот вывел на экран «Hello, world!». Благодаря простым инструкциям этот цикл повторяется снова и снова.
Разбирать компьютер с детьми – весело. Когда мой сын учился в начальной школе, я однажды разобрала вместе с ним ноутбук. Я собиралась отдать пару ноутбуков на переработку и, прежде чем избавиться от них, хотела разбить жесткие диски молотком. (Я обнаружила, что в каком-то смысле такое уничтожение жестких дисков приносит большее удовлетворение, чем просто стирание данных.) Тогда я спросила сына, не хочет ли он помочь мне и вытащить жесткий диск. «Ты шутишь? Я хочу разобрать всю эту штуку на части», – ответил он, и следующие два часа мы провели на кухне, разбирая два компьютера.
В рамках моего курса в университете мы сначала играем с жесткими дисками и уже потом переходим к обсуждению программного обеспечения (ПО) и «Hello, world!» в том числе. ПО – это все, что взаимодействует с аппаратным обеспечением. С его помощью вы добиваетесь от компьютера выполнения написанных вами на клавиатуре инструкций. Это то, что обеспечивает работу программы «Hello, world!». К слову, текст, который вы набираете, также превращается в инструкции, которые компьютер исполняет. Железо – это физическая часть компьютера, софт – все остальное. Таким образом, компьютерное программирование и написание ПО чаще всего означают одни и те же вещи.
Не буду вас обманывать: программирование – это математика. И если кто-то пытается убедить вас в обратном, что, мол, без математики можно научиться программировать, то, скорее всего, вам пытаются что-то продать.
Хорошая новость заключается в том, что для начального уровня программирования понадобится математика уровня 4‒5 класса школы. Вам нужно разбираться в таких операциях, как сложение, вычитание, умножение, деление, и понимать, что такое проценты и остаток. Кроме того, понадобятся базовые знания геометрии, а именно представления о площади, периметре, радиусе и окружности. Также стоит вспомнить о графиках и о координатах х, y, z. Наконец, вам понадобится базовое понимание функций – тех, что мы используем, чтобы превратить 2 в 22.
Если у вас математическая фобия, то, вероятно, на этом самом месте вы хотите закрыть книгу. Это нормально. Многие говорят, что каждый должен уметь писать программы, но я так не считаю. Программирование окажется неприятным опытом, если математика – не ваша сильная сторона. Однако если вы уверены, что способны пересчитать чек в ресторане, или справляетесь с ежедневными задачами вроде измерения ковра, который планируете положить в гостиной, то определенно вы справитесь.
А вот средний уровень программирования требует знаний линейной алгебры, геометрии и математического анализа. Хотя большинство людей не чувствуют нехватки знаний, оставаясь на базовом уровне. Программирование может быть как искусством, так и ремеслом. Как ремесло оно помогает учиться и зарабатывать на жизнь. Как искусство программирование требует как ремесленного подхода, так и знания в области высшей математики. В рамках этой книги мы будем считать, что вас интересует именно подход ремесленника.
Обычно способ взаимодействия аппаратного обеспечения и софта описывается техническим языком. Вместо этого воспользуемся метафорой. Разобраться в слоях компьютера – все равно что разобраться в слоях клаб-сэндвича с индейкой (рис. 2.3).
Клаб-сэндвич с индейкой – понятная вещь. Он состоит из множества частей, однако вместе они создают восхитительный вкус. Компьютер работает в определенной логике, подобно тому как ингредиенты сэндвича находятся в определенном порядке.
Слой хлеба – основа сэндвича, в случае компьютера – это железо. Оно «не знает» ничего, разве что то, как справиться с двоичными данными – нулями и единицами. Под
Созданный более 4000 лет назад Фестский диск до сих пор скрывает множество тайн. Этот уникальный археологический артефакт погибшей минойской цивилизации, обнаруженный на острове Крит в начале XX века, является одной из величайших загадок в истории человечества. За годы, прошедшие со дня его находки, многие исследователи пытались расшифровать нанесенные на нем пиктограммы, однако до настоящего времени ни одна из сотен интерпретаций не получила всеобщего признания.Алан Батлер предлагает собственную научно обоснованную версию дешифровки содержимого Фестского диска.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Описываются дедуктивные, индуктивные и правдоподобные модели, учитывающие особенности человеческих рассуждений. Рассматриваются методы рассуждений, опирающиеся на знания и на особенности человеческого языка. Показано, как подобные рассуждения могут применяться для принятия решений в интеллектуальных системах.Для широкого круга читателей.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.