Вычислительная техника (период с 1940 года по настоящее время)

• Каким образом можно создать эффективный компьютер?
Для успешного создания искусственного интеллекта требуется, во-первых, интеллект и, во-вторых, артефакт. Наиболее предпочтительным артефактом в этой области всегда был компьютер. Современный цифровой электронный компьютер был изобретен независимо и почти одновременно учеными трех стран, участвующих во Второй мировой войне. Первым операционным компьютером было электромеханическое устройство Heath Robinson12, созданное в 1940 году группой Алана Тьюринга для единственной цели — расшифровки сообщений, передаваемых немецкими войсками. В 1943 году та же группа разработала мощный компьютер общего назначения, получивший название Colossus, в конструкции которого применялись электронные лампы13. Первым операционным программируемым компьютером был компьютер Z-3, изобретенный Конрадом Цузе в Германии в 1941 году. Цузе изобрел также числа с плавающей точкой и создал первый язык программирования высокого уровня, Plankalkiil. Первый электронный компьютер, ABC, был собран Джоном Атанасовым и его студентом Клиффордом Берри в период с 1940 по 1942 год в университете штата Айова. Исследования Атанасова почти не получили поддержки или признания; как оказалось, наибольшее влияние на развитие современных компьютеров оказал компьютер ENIAC, разработанный в составе секретного военного проекта в Пенсильванском университете группой специалистов, в состав которой входили Джон Мочли и Джон Экерт.
За прошедшее с тех пор полстолетие появилось несколько поколений компьютерного аппаратного обеспечения, причем каждое из них характеризовалось увеличением скорости и производительности, а также снижением цены. Производительность компьютеров, созданных на основе кремниевых микросхем, удваивается примерно через каждые 18 месяцев, и такая скорость роста наблюдается уже в течение двух десятилетий. После достижения пределов этого роста потребуется молекулярная инженерия или какая-то другая, новая технология.
Безусловно, вычислительные устройства существовали и до появления электронного компьютера. Одно из первых автоматизированных устройств, появившееся еще в XVII столетии, рассматривалось на с. 41. Первым программируемым устройством был ткацкий станок, изобретенный в 1805 году Жозефом Марией Жаккардом (1752— 1834), в котором использовались перфокарты для хранения инструкций по плетению узоров ткани. В середине XIX столетия Чарльз Бэббидж (1792-1871) разработал две машины, но ни одну из них не успел закончить. Его "разностная машина", которая показана на обложке данной книги, предназначалась для вычисления математических таблиц, используемых в инженерных и научных проектах. В дальнейшем эта машина была построена и ее работа продемонстрирована в 1991 году в лондонском Музее науки [1481]. Другой замысел Бэббиджа, проект "аналитической машины", был гораздо более амбициозным: в этой машине предусмотрено использование адресуемой памяти, хранимых программ и условных переходов, и она была первым артефактом, способным выполнять универсальные вычисления. Коллега Бэббиджа Ада Лавлейс, дочь поэта Лорда Байрона, была, возможно, первым в мире программистом. (В ее честь назван язык программирования Ada.) Она писала программы для незаконченной аналитической машины и даже размышляла над тем, что эта машина сможет играть в шахматы или сочинять музыку.
Искусственный интеллект во многом обязан также тем направлениям компьютерных наук, которые касаются программного обеспечения, поскольку именно в рамках этих направлений создаются операционные системы, языки программирования и инструментальные средства, необходимые для написания современных программ (и статей о них). Но эта область научной деятельности является также одной из тех, где искусственный интеллект в полной мере возмещает свои долг: работы в области искусственного интеллекта стали источником многих идей, которые затем были воплощены в основных направлениях развития компьютерных наук, включая разделение времени, интерактивные интерпретаторы, персональные компьютеры с оконными интерфейсами и поддержкой позиционирующих устройств, применение среды ускоренной обработки, создание типов данных в виде связных списков, автоматическое управление памятью и ключевые концепции символического, функционального, динамического и объектно-ориентированного программирования.







Материалы

Яндекс.Метрика