Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курс лекций информатика

.pdf
Скачиваний:
80
Добавлен:
22.02.2015
Размер:
3 Мб
Скачать
☆

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

Принципы построения квантового компьютера. В 1982 Ричард Фейнман написал революционную статью, в которой поставил вопрос о том, какие возможности при вычислениях нам дадут устройства, построенные на квантовых элементах.

Основной строительной единицей квантового компьютера является кубит (qubit, Quantum Bit) — квантовый бит (термин предложен американским физиком Беном Шумахером). Подобно классическому биту информации, кубит теоретически может быть реализован на любой двухуровневой системе, например атоме, который может находиться в двух энергетических состояниях — основном и возбужденном, которые будут соответствовать нулю и единице классического бита. Природа предлагает великое множество таких систем, но главное препятствие на пути построения квантового компьютера — вероятностная природа законов квантовой механики. Если классический бит имеет лишь два состояния — 0 и 1, число состояний кубита значительно больше и описывается волновой функцией, которая в одну единицу может иметь большое число значений. Благодаря вероятностной природе волн объем информации, записанной такими q-битами, во много раз превышает тот, который несут обычные биты.

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

132

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

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

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

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

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

133

Биокомпьютеры. Одним из перспективных нетрадиционных направлений в развитии вычислительной техники считаются так называемые молекулярные компьютерные системы — компьютеры на базе ДНК и других биологических объектов, или биокомпьютеры. В основу этих изысканий положено свойство некоторых органических молекул обратимо переходить из одного устойчивого состояния в другое (могут рассматриваться как 0 и 1 в логических операциях).

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

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

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

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

134

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

В 1943 году У. Маккалоу и У. Питтс сформулировали основные положения теории деятельности головного мозга и разработали математическую модель нейрона. В представлении Маккалоу-Питгса мозг представляет собой ансамбль нейронов, имеющих одинаковую структуру. Каждый нейрон реализует некоторую функцию, называемую пороговой, над входными значениями. Если значение функции превышает определенную величину - порог (что характеризует суммарную значимость полученной нейроном информации), нейрон возбуждается и формирует выходной сигнал для передачи его другим нейронам. Пройдя путь от рецепторов (слуховых, зрительных и других) через нейронные структуры мозга до исполнительных органов, входная информация таким образом преобразуется в набор управляющих воздействий, адекватных ситуации.

Принципы, изложенные в работах Маккалоу-Питтса, были в 1958 году воплощены Ф. Розенблаттом в оригинальном устройстве - персептроне "Марк-I", способном достаточно точно распознавать печатные буквы и обучаться на примерах. Персептрон заинтересовал военных (в распознавании нуждаются не только печатные тексты, но и ракеты противника), и следующее десятилетие ознаменовалось активными разработками в области нейронных сетей и их технических воплощений. Однако довольно быстро разработчики стали замечать, что применяемая нейросетевая парадигма (включающая в себя вид входных данных, пороговой функции, структуры сети и алгоритмов обучения) несет в себе ряд существенных ограничений и не позволяет добиваться приемлемого качества при решении многих практических задач. В 1969 году вышла книга М.Минского, доказавшего, что ограничения персептрона принципиальны и непреодолимы - и нейронные сети были забыты почти на двадцать лет. И только в последнее время, благодаря революционным

135

работам Хопфилда и Хехт-Нильсена, теория нейронных сетей обрела вторую жизнь.

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

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

Вискусственной нейронной сети множество искусственных нейронов, как правило, поделено на подмножества, которые называют слоями или плоскостями. Искусственные нейроны могут быть связаны как

снейронами своего слоя, так и с нейронами других слоев. Проще говоря, это многомерная матрица, или многомерный массив.

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

Внастоящее время уже существует около 40 различных моделей искусственных нейронных сетей, используемых как в исследовательских работах, так и на практике. Современная элементная база позволяет

136

реализовать аппаратуру с быстродействием до 10 млрд. связей, просматриваемых в секунду.

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

Процесс обучения сети новому классу задач включает следующие стадии:

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

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

137

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

входные векторы по очереди предъявляются нейронной сети, а полученное выходное значение сравнивается с эталоном. Далее прослеживается путь от выходов сети до ее входного слоя, и все нейронные межсоединения, способствовавшие принятию правильного решения, поощряются - их веса увеличиваются. Те же пути, которые привели к ошибкам в компонентах выходного вектора, наказываются уменьшением веса (как правило, в зависимости от величины ошибки);

процесс повторяется до тех пор, пока суммарная ошибка в реакции сети на всех предъявленных примерах не станет меньше наперед заданной величины, либо пока сеть не придет в стационарное состояние. Рассмотренный алгоритм обучения носит название "обратного прохождения" (back-propagation) и относится к числу классических алгоритмов нейроматематики. Известны и гораздо более мощные и быстрые алгоритмы обучения;

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

138

По желанию пользователя, настройку сети можно совершенствовать

ив процессе практической эксплуатации.

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

Из всего многообразия нейропакетов и нейроплат, представленных на мировом рынке, для использования в России наиболее интересны продукты семейства BrainMaker, распространяемые американской фирмой California Scientific Software. Отдельно поставляются специализированные базы данных для настройки сети на конкретные области (в основном, банковские, биржевые, кредитные).

Важным преимуществом пакета BrainMaker является использование его совместно со специализированным аппаратным акселератором. Это нейроплата на базе сигнальных процессоров TITMS 320C30, обеспечивающая многократное повышение скорости решения нейросетевых задач по сравнению с ПК на основе PENTIUM.

4.10.Контрольные вопросы

1.Что входит в состав персонального компьютера?

2.Для чего предназначен корпус системного блока и какие встречаются его разновидности?

3.Какие функции выполняет системная плата и что на ней расположено?

4.Понятие и виды системной магистрали (шины). Разрядность шины.

5.Какие существуют стандарты на системную шину ПК в чем их особенности?

6.Какие параметры характеризуют процессор? Приведите основные характеристики современных процессоров.

7.Укажите основные технические характеристики ЗУ.

139

8.Какие выделяют уровни памяти ЭВМ? Назовите состав и назначение памяти каждого уровня.

9.Какие виды оперативной памяти выделяют на ПЭВМ?

10.Укажите особенности используемых стандартов памяти ПК.

11.Приведите назначение, классификацию и особенности устройств ввода информации.

12.Приведите назначение и состав устройств вывода информации. 13.Что такое текстовый и графический режимы работы дисплея? 14.Какие существуют технологии переноса изображения на бумажный

носитель?

15.Какое назначение имеют и как классифицируются ВЗУ?

16.Приведите основные характеристики внешних запоминающих устройств.

17.Охарактеризуйте используемые технологии записи данных на ВЗУ. 18.Что такое «машины не фон Неймановской» архитектуры и каковы

принципы их работы?

19.Что такое «нейрокомпьютер»?

140

Глава 5. Структуры данных и их хранение

5.1.Уровни представления данных

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

 

Уровни представления данных

 

 

 

 

 

 

 

Объекты

 

Структура

 

 

Хранение

 

 

записи

 

 

записи

 

 

 

 

 

 

 

 

 

 

 

 

Атрибуты

 

Типы

 

 

Структуры

 

 

данных

 

 

хранения

 

 

 

 

 

 

Рис. 28

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

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

Агрегированные данные - это совокупность элементов данных, которые имеют общее имя и на которые можно ссылаться как на единое целое. Например, агрегированное данное ИМЯ может состоять из следующих элементов данных: ФАМИЛИЯ, собственно ИМЯ, ОТЧЕСТВО. Другое название - группа элементов.

141