Глава 2 архитектура и основные составные части систем ии


Содержание

7.2. Архитектура эвм

С середины 60-х годов существенно изменился подход к созданию вычислительных машин. Вместо независимой разработки аппаратуры и некоторых средств математического обеспечения стала проектироваться система, состоящая из совокупности аппаратных (hardware) и программных (software) средств. При этом на первый план выдвинулась концепция их взаимодействия. Так возникло принципиально новое понятие — архитектура ЭВМ.

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

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

Рис. 1.2. Основные компоненты архитектуры ЭВМ

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

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

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

Прежде всего, компьютер должен иметь следующие устройства:

Арифметическо-логическое устройство, выполняющие арифметические и логические операции;

Устройство управления, которое организует процесс выполнения программ;

Запоминающее устройство, илипамять для хранения программ и данных;

Внешние устройства для ввода-вывода информации.

В основе работы компьютера лежат следующие принципы:

Принцип двоичного кодирования. Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.

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

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

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

Машины, построенные на этих принципах, называются Фон-Неймановскими.

Виды архитектуры ЭВМ (открытая, закрытая, Гарвардская).

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

Архитектуры закрытого типа

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

Укрупненная схема такой компьютерной архитектуры приведена на рис. 1. Оперативная память хранит команды и данные исполняемых программ. Канал допускает подключение определенного числа внешних устройств. Устройство управления обеспечивает выполнение команд программы и управляет всеми узлами системы.

Рис. 1. Архитектура компьютера закрытого типа

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

Вычислительные системы с открытой архитектурой

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

Рис. 2. Архитектура компьютера открытого типа

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

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

Рис. 3. Архитектура компьютера с общей и локальной шиной

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


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

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

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

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

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

Часто требуется выбрать три составляющие — два операнда и инструкцию(в алгоритмах цифровой обработки сигналов это наиболее встречаемая задача в БПФ и КИХ, БИХ фильтрах). Для этого существует кэш-память. В ней может храниться инструкция — обе шины остаются свободными, и появляется возможность передать два операнда одновременно. Использование кэш-памяти вместе с разделёнными шинами получило название «Super Harvard Architecture» («SHARC») — расширенная Гарвардская архитектура.

Примером могут послужить процессоры «Analog Devices»: ADSP-21xx — модифицированная Гарвардская Архитектура, ADSP-21xxx(SHARC) — расширенная Гарвардская Архитектура.

Глава 2: архитектура и основные составные части систем ии

Файл: Лекция 7. Архитектура и основные составные части систем ИИ.doc

Категория: Лекции

Добавлена: 29.10.2020

Просмотров: 58

Скачиваний: 0

СОДЕРЖАНИЕ

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

Под структурным подходом мы подразумеваем здесь попытки построения ИИ путем моделирования структуры человеческого мозга. Одной из первых таких попыток был перцептрон Френка Розенблатта. Основной моделируемой структурной единицей в перцептронах (как и в большинстве других вариантов моделирования мозга) является нейрон.

Позднее возникли и другие модели, которые в простонародье обычно известны под термином «нейронные сети» (НС). Эти модели различаются по строению отдельных нейронов, по топологии связей между ними и по алгоритмам обучения. Среди наиболее известных сейчас вариантов НС можно назвать НС с обратным распространением ошибки, сети Хопфилда, стохастические нейронные сети.

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

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

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

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

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

Курс лекций по предмету «Основы проектирования систем с искусственным интеллектом»

Данный курс лекций является результатом моей лекторской работы в Днепродзержинском Государственном Техническом Университете. Курс ориентирован прежде всего на программистов, но я надеюсь, будет полезен всем интересующимся искусственным интеллектом. При составлении, автор ориентировался на уровень студентов 2-5 курсов технических специальностей. Очень надеюсь, что мне удалось соблюсти в лекциях такой уровень детализации описания алгоритмов, при котором, с одной стороны они остаются практически полезными (т.е. на основании лекций можно программировать практически работающие программы), а с другой стороны избежать излишней детализации, при которой курс становится необъятным и неоправданно раздутым.

Оптимизация архитектуры искусственного интеллекта: гонка началась

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

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

«Отрасль вычислительных технологий претерпевает большие изменения — интерес предприятий к ИИ дает толчок инновациям, которые помогут осваивать и разворачивать ИИ в любых масштабах», — говорит Кит Стриер, эксперт по ИИ, консультант в EY. Инвесторы вкладывают огромные деньги в стартапы, которые оптимизируют ИИ, а крупные производители начинают предлагать не только микросхемы и хранилища, но и сетевые и облачные сервисы, необходимые для развертывания»

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

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

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

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

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


Развитие микросхем

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

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

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

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

Илон Маск рекомендует:  Установка на системах windows

Энергонезависимая память для обработки рабочих нагрузок ИИ

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

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

Суть в том, что NVMe over Fabrics (NVMeF) — так называются эти интерфейсы — помогут сократить расходы при конвертации между сетевыми протоколами и контролировать характерные особенности каждого типа SSD. Это позволит директорам по информационным технологиям обосновать стоимость приложений ИИ, которые используют большие наборы данных.

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

«Несмотря на то, что распространение архитектуры NVMe over Fabrics в промышленных масштабах может занять еще год или полтора, основные компоненты у нас уже есть, а первопроходцы уже сообщают о многообещающих результатах», — говорит Варанаси.

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

Сокращение перемещения данных

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

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

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

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

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

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

Составные вычисления

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

Чад Мили, вице-президент по аналитическим продуктам и решениям в Teradata, говорит, что рынок движется в сторону оборудования под управлением ПО, что позволит организациям грамотно распределять обработку по графическим процессорам и ЦП в зависимости от текущей задачи.

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

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

Такие ИТ-поставщики, как Dell Technologies, Hewlett Packard Enterprise и Liquid, постепенно отходят от традиционных архитектур, которые назначают рабочие нагрузки на уровне вычислений. Вместо этого они стремятся назначать рабочие нагрузки ИИ целой системе, состоящей из центральных процессоров, графических процессоров, устройств памяти и хранения. Для такого перехода необходимо осваивать новые сетевые компоненты, которые повышают скорость и уменьшают задержку при соединении различных составляющих системы.

Например, во многих облачных центрах обработки данных для подключения вычислительных компонентов и хранилищ используется Ethernet, где задержка составляет около 15 микросекунд. Высокоскоростная коммутируемая компьютерная сеть InfiniBand, которая используется во многих конвергентных инфраструктурах, может уменьшить задержку до 1,5 микросекунды. Компания Liquid создала комплект инструментов для соединения разных узлов с помощью PCI Express (PCIE), что сокращает задержку до 150 наносекунд.

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

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

«В целом, выполнять рабочие нагрузки графического процессора и отслеживать их — это не так просто, — говорит Маррек. — Пока нет универсального решения, которое позволит выполнять мониторинг всех систем».

Хранилище и графический процессор

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

«Мы воспринимаем хранилище, вычисления и память как отдельные компоненты решения, что сложилось исторически, и поэтому пытаемся увеличивать объемы обработки», — говорит Алекс Сент-Джон, технический директор и основатель Nyriad Ltd., компании-поставщика ПО для хранения, которая появилась в результате исследований для самого большого в мире радиотелескопа — телескопа с антенной решеткой площадью в квадратный километр (SKA).


Чем больше объемы данных, тем сложнее их перемещать куда-то для обработки.

Телескопу SKA требовались большие объемы электропитания для обработки 160 ТБ данных радиосигналов в реальном времени, что стало главным препятствием на пути исследователей. В результате они решили отказаться от хранилищ RAID, которые чаще всего используются в центрах обработки данных, и развернуть параллельную кластерную файловую систему, например BeeGFS, которая упрощает подготовку данных для рабочих нагрузок ИИ.

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

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

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

Глава 2. Архитектура и структура вычислительных машин и систем

Министерство образования и молодежной политики Чувашской Республики

Бюджетное образовательное учреждение Чувашской Республики

среднего профессионального образования

Чебоксарский химико-механический техникум

Архитектура аппаратных средств ЭВМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

и контрольные задания к контрольной работе

для студентов заочного отделения

Специальность: 230111 «Компьютерные сети»
«УТВЕРЖДАЮ» Заместитель директора по учебной работе _______________ А.И. Чучалина «____»______________ 2012 г.
Рассмотрено на заседании ПЦК общепрофессиональных и специальных дисциплин АТПиП и ТОСВТ и КС дисциплин
Протокол №__ от __________ Председатель ПЦК ___________О.Н. Иванова
Автор-составитель: Вернигора Е.В. — преподаватель Чебоксарского химико-механического техникума

© БОУ ЧР СПО Чебоксарский химико-механический техникум, 2012

Содержание

Пояснительная записка. 4

Программа курса. 5

Методические указания по выполнению контрольной работы.. 6

Контрольные задания. 16

Пояснительная записка

Учебный план по дисциплине «Архитектура аппаратных средств ЭВМ» предусматривает изучение данной дисциплины в течение 1-2 семестров. В процессе обучения выполняется одна контрольная работа, выполненная самостоятельно, а также предусмотрен экзамен в период экзаменационной сессии. Основную часть работы студент должен выполнять в течение семестров самостоятельно.

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

Текст контрольной работы оформляется в распечатанном виде (шрифт 12пт) на бумаге формата А4 (210´297 мм) в папке-скоросшивателе, либо в рукописном виде на тонкой тетради. Выполненные работы сдаются на проверку в секретариат заочного отделения для регистрации и проверки в срок не позднее 2-х недель до начала экзамена по предмету. К сдаче зачета или экзамена студент допускается лишь при наличии зачтенной контрольной работы.

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

Задание состоит из двух частей: теоретической и практической.

В первой части (теоретической) выполняется индивидуальное задание, результат которого представляется:

а) на флеш-носителе для перезаписи;


б) в распечатанном виде на принтере (формат А4).

Во второй части (практической) необходимо письменно решить примеры в дополнительных машинных кодах. Текст решения написать на отдельном тетрадном листе или напечатать на листе (формат А4).

Программа курса

Глава 1. Вычислительные приборы и устройства.

1.1 Вычислительные устройства и приборы, история вопроса («Время — события- люди»).

1.2 Классы вычислительных машин

1.3 Информация, кодирование, обработка в ЭВМ

1.4 Логические основы ЭВМ, элементы и узлы. Алгоритмы и программы

Глава 2. Архитектура и структура вычислительных машин и систем

2.1 Базовые представление об архитектуре ЭВМ

2.2 Процессор, структура и функционирование

2.3 Технология повышения производительности процессоров

2.4 Организация оперативной памяти.

2.6 Внешние устройства

Глава 3. Вычислительные системы.

3.1 Основные определения. Классы архитектур вычислительных систем

3.2 Примеры некоторых архитектур вычислительных систем

3.3 Обобщенные представления об архитектуре вычислительных машин, систем сетей

3.4 Перспективные типы процессоров ЭВМ

3.5 Системы памяти

3.6 Коммуникационные среды

3.7 Коммутаторы для многопроцессорных вычислительных систем.

3.8 Кластерные и массивно-параллельные системы различных производителей

Дата добавления: 2020-11-02 ; просмотров: 488 | Нарушение авторских прав

Курс лекций по предмету «Основы проектирования систем с искусственным интеллектом»

Данный курс лекций является результатом моей лекторской работы в Днепродзержинском Государственном Техническом Университете. Курс ориентирован прежде всего на программистов, но я надеюсь, будет полезен всем интересующимся искусственным интеллектом. При составлении, автор ориентировался на уровень студентов 2-5 курсов технических специальностей. Очень надеюсь, что мне удалось соблюсти в лекциях такой уровень детализации описания алгоритмов, при котором, с одной стороны они остаются практически полезными (т.е. на основании лекций можно программировать практически работающие программы), а с другой стороны избежать излишней детализации, при которой курс становится необъятным и неоправданно раздутым.

Лекция 1-2: Базовые понятия ии

Название Лекция 1-2: Базовые понятия ии
страница 4/18
Дата конвертации 28.08.2012
Размер 1.29 Mb.
Тип Лекция
1. /LECT_P1.DOC Лекция 1-2: Базовые понятия ии

Лекция 3: Архитектура и основные составные части систем ИИ

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

Лекционные занятия — 2 ч.


Различные подходы к построению систем ИИ

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

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

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

Конечно можно сказать, что выразительности алгебры высказываний не хватит для полноценной реализации ИИ, но стоит вспомнить, что основой всех существующих ЭВМ является бит — ячейка памяти, которая может принимать значения только 0 и 1. Таким образом было бы логично предположить, что все, что возможно реализовать на ЭВМ, можно было бы реализовать и в виде логики предикатов. Хотя здесь ничего не говорится о том, за какое время.

Добиться большей выразительности логическому подходу позволяет такое сравнительно новое направление, как нечеткая логика. Основным ее отличием является то, что правдивость высказывания может принимать в ней кроме да/нет (1/0) еще и промежуточные значения — не знаю (0.

5), пациент скорее жив, чем мертв (0.75), пациент скорее мертв, чем жив (0.25). Данный подход больше похож на мышление человека, поскольку он на вопросы редко отвечает только да или нет. Хотя правда на экзамене будут приниматься только ответы из разряда классической булевой алгебры.

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

Под структурным подходом мы подразумеваем здесь попытки построения ИИ путем моделирования структуры человеческого мозга. Одной из первых таких попыток был перцептрон Френка Розенблатта. Основной моделируемой структурной единицей в перцептронах (как и в большинстве других вариантов моделирования мозга) является нейрон.

Позднее возникли и другие модели, которые в простонародье обычно известны под термином «нейронные сети» (НС). Эти модели различаются по строению отдельных нейронов, по топологии связей между ними и по алгоритмам обучения. Среди наиболее известных сейчас вариантов НС можно назвать НС с обратным распространением ошибки, сети Хопфилда, стохастические нейронные сети.

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

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

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

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

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

Еще один широко используемый подход к построению систем ИИ — имитационный. Данный подход является классическим для кибернетики с одним из ее базовых понятий — «черным ящиком» (ЧЯ). ЧЯ — устройство, программный модуль или набор данных, информация о внутренней структуре и содержании которых отсутствуют полностью, но известны спецификации входных и выходных данных. Объект, поведение которого имитируется, как раз и представляет собой такой «черный ящик». Нам не важно, что у него и у модели внутри и как он функционирует, главное, чтобы наша модель в аналогичных ситуациях вела себя точно так же.

Таким образом здесь моделируется другое свойство человека — способность копировать то, что делают другие, не вдаваясь в подробности, зачем это нужно. Зачастую эта способность экономит ему массу времени, особенно в начале его жизни.

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

С ЧЯ связана одна очень интересная идея. Кто бы хотел жить вечно? Я думаю, что почти все ответят на этот вопрос «я».

Представим себе, что за нами наблюдает какое-то устройство, которое следит за тем, что в каких ситуациях мы делаем, говорим. Наблюдение идет за величинами, которые поступают к нам на вход (зрение, слух, вкус, тактильные, вестибулярные и т. д.) и за величинами, которые выходят от нас (речь, движение и др.). Таким образом человек выступает здесь как типичный ЧЯ.

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

Мы можем пойти дальше и скопировать эту модель и получить брата близнеца с точно такими же «мыслями».

Можно сказать, что «это конечно все интересно, но при чем тут я? Ведь эта модель только для других будет являться мной, но внутри ее будет пустота. Копируются только внешние атрибуты, но я после смерти уже не буду думать, мое сознание погаснет (для верующих людей слово «погаснет» необходимо заменить на «покинет этот мир») «. Что ж это так. Но попробуем пойти дальше.

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

Если бы мы смогли смоделировать работу именно этих немногих «сознательных» нервных центров (работа которых правда основана на деятельности всего остального мозга) в качестве одного ЧЯ, и работу «супервизора» в качестве другого ЧЯ, то можно было бы с уверенностью говорить, что «да, данная модель думает, причем так же, как и я». Здесь я ничего не хочу говорить о том, как получить данные о работе этих нервных центров, поскольку на мой взгляд сегодня нет ничего такого, что позволило бы следить за мозгом человека годами и при этом не мешало бы его работе и жизни.

Лекции по системам искуственного интеллекта

Лекция 3: Архитектура и основные составные части систем ИИ

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

Лекционные занятия — 2 ч.
^

Различные подходы к построению систем ИИ

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

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


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

Конечно можно сказать, что выразительности алгебры высказываний не хватит для полноценной реализации ИИ, но стоит вспомнить, что основой всех существующих ЭВМ является бит — ячейка памяти, которая может принимать значения только 0 и 1. Таким образом было бы логично предположить, что все, что возможно реализовать на ЭВМ, можно было бы реализовать и в виде логики предикатов. Хотя здесь ничего не говорится о том, за какое время.

Добиться большей выразительности логическому подходу позволяет такое сравнительно новое направление, как нечеткая логика. Основным ее отличием является то, что правдивость высказывания может принимать в ней кроме да/нет (1/0) еще и промежуточные значения — не знаю (0.5), пациент скорее жив, чем мертв (0.75), пациент скорее мертв, чем жив (0.25). Данный подход больше похож на мышление человека, поскольку он на вопросы редко отвечает только да или нет. Хотя правда на экзамене будут приниматься только ответы из разряда классической булевой алгебры.

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

Под структурным подходом мы подразумеваем здесь попытки построения ИИ путем моделирования структуры человеческого мозга. Одной из первых таких попыток был перцептрон Френка Розенблатта. Основной моделируемой структурной единицей в перцептронах (как и в большинстве других вариантов моделирования мозга) является нейрон.

Позднее возникли и другие модели, которые в простонародье обычно известны под термином «нейронные сети» (НС). Эти модели различаются по строению отдельных нейронов, по топологии связей между ними и по алгоритмам обучения. Среди наиболее известных сейчас вариантов НС можно назвать НС с обратным распространением ошибки, сети Хопфилда, стохастические нейронные сети.

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

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

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

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

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

Еще один широко используемый подход к построению систем ИИ — имитационный. Данный подход является классическим для кибернетики с одним из ее базовых понятий — «черным ящиком» (ЧЯ). ЧЯ — устройство, программный модуль или набор данных, информация о внутренней структуре и содержании которых отсутствуют полностью, но известны спецификации входных и выходных данных. Объект, поведение которого имитируется, как раз и представляет собой такой «черный ящик». Нам не важно, что у него и у модели внутри и как он функционирует, главное, чтобы наша модель в аналогичных ситуациях вела себя точно так же.

Таким образом здесь моделируется другое свойство человека — способность копировать то, что делают другие, не вдаваясь в подробности, зачем это нужно. Зачастую эта способность экономит ему массу времени, особенно в начале его жизни.

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

С ЧЯ связана одна очень интересная идея. Кто бы хотел жить вечно? Я думаю, что почти все ответят на этот вопрос «я».

Представим себе, что за нами наблюдает какое-то устройство, которое следит за тем, что в каких ситуациях мы делаем, говорим. Наблюдение идет за величинами, которые поступают к нам на вход (зрение, слух, вкус, тактильные, вестибулярные и т. д.) и за величинами, которые выходят от нас (речь, движение и др.). Таким образом человек выступает здесь как типичный ЧЯ.

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

Мы можем пойти дальше и скопировать эту модель и получить брата близнеца с точно такими же «мыслями».

Можно сказать, что «это конечно все интересно, но при чем тут я? Ведь эта модель только для других будет являться мной, но внутри ее будет пустота. Копируются только внешние атрибуты, но я после смерти уже не буду думать, мое сознание погаснет (для верующих людей слово «погаснет» необходимо заменить на «покинет этот мир») «. Что ж это так. Но попробуем пойти дальше.

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

Если бы мы смогли смоделировать работу именно этих немногих «сознательных» нервных центров (работа которых правда основана на деятельности всего остального мозга) в качестве одного ЧЯ, и работу «супервизора» в качестве другого ЧЯ, то можно было бы с уверенностью говорить, что «да, данная модель думает, причем так же, как и я». Здесь я ничего не хочу говорить о том, как получить данные о работе этих нервных центров, поскольку на мой взгляд сегодня нет ничего такого, что позволило бы следить за мозгом человека годами и при этом не мешало бы его работе и жизни.

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

Архитектура

Пространства имён

Действия на странице

Системная архитектура (Architecture) — имеет множество определений:

  1. Из ISO 42010 (2011): Архитектура (системы) – фундаментальная организация системы, реализованная в ее компонентах, их взаимосвязях друг с другом и с окружающей средой, и руководящие правила проектирования и развития системы;
  2. Из книги Garlan et al. (1996): Архитектура системы это набор структур, необходимых для рассуждений о системе, каковые структуры состоят из элементов, отношений и свойств этих элементов и отношений;
  3. Набор из более чем 150 других определений архитектуры, которые предлагались профессионалами системной и программной инженерии;
  4. Ralf Johnson в статье Who Needs Architect? (2003): “Архитектура — это обо всём важном. Что бы это ни было” (Architecture is about the important stuff. Whatever that is). Если представить архитектуру как набор инженерных решений, принимаемых для определения структуры системы, то “важные решения” — это при изменении которых приходится в существенной мере изменять множество других решений, в существенной мере перепроектировать систему.

Системная архитектура — эта альфа, пожалуй, важнейшая среди подальф определения системы.

Содержание

Архитектурные описания

Архитектура — это основные описания (представления, views) “прозрачного ящика”, которые показывают, из каких основных частей (компонент, модулей, размещений и т.д.) состоит система, и как эти описания “прозрачного ящика” обеспечивают функцию “чёрного ящика”.


Минимальная архитектура состоит из трёх определений (и, соответственно, трёх тематических описаний — наборов рабочих продуктов/моделей):

  • Операционное (практическое) описание (Operational View) — система с точки зрения пользователя или «оператора». Сюда включаются артефакты, относящиеся к этапам практического применения системы, сценариям и потокам работ:
    • описание операций в графическом или числовом виде,
    • описание сценариев и вариантов использования (use cases),
    • диаграммы потоков задач (task flow diagrams),
    • схемы организационной структуры (organization charts),
    • диаграммы информационных потоков (information flow diagrams).
  • Логическое описание (Logical View) — система с точки зрения руководителя или заказчика. Сюда включаются артефакты, определяющие границу между системой и ее окружением, функциональные интерфейсы с внешними системами, основные функции и виды поведения системы, потоки данных, внутренние и внешние наборы данных, внутренние и внешние пользователи и внутренние функциональные интерфейсы:
    • принципиальные схемы, а иногда просто функциональная декомпозиция (data flow chart),
    • диаграммы IDEF0,
    • схемы функциональных потоков (FFBD).
  • Физическое описание (Physical View) — система с точки зрения специалистов по проектированию. Сюда включаются артефакты, которые определяют физическую границу системы, компоненты, их взаимодействие и интерфейсы между ними, внутренние базы данных и структуры данных , информационно-технологическую инфраструктуру системы, стандарты, применяемые при ее разработке:
    • детализированные физические блок-схемы (physical block diagram),
    • топологии баз данных,
    • документы по контролю сопряжений (interface control document, ICD),
    • стандарты.

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

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

Архитектурные инженерные решения

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

Практики архитектурного проектирования

  1. Общие подходы
    • иерархическое проектирование систем и декомпозиционные подходы;
    • модульное проектирование;
    • проектирование на основе матрицы проектной структуры (DSM, Design Structure Matrix) — метод разбиения системы на модули;
    • проектирование на основе многокритериального принятия решений (см. СППР);
    • морфологический анализ;
    • объектно-ориентированное проектирование;
    • проектирование на основе компонентов.
  2. Формальные подходы к системному проектированию
    • аксиоматическое проектирование;
    • формальные методы проектирования.
  3. Оптимизация
    • многодисциплинарная оптимизация;
    • методы смешанного целочисленного нелинейного программирования;
    • различные методы глобальной оптимизации;
    • нелинейная многоцелевая оптимизация;
    • многоцелевая эволюционная оптимизация, включающая генетические алгоритмы.
  4. Подходы на основе методов искусственного интеллекта
    • специальные экспертные системы и системы на основе баз знаний;
    • проектирование на основе грамматических описаний систем, включая подходы к проектированию составных систем;
    • методы проектирования на основе многоагентных подходов;
    • методы проектирования на основе задач выполнимости (constraint satisfaction problems).
  5. другое.
    • ТРИЗ как метод совмещения логической и физической архитектур;
    • огромное число методов, практикующихся в рамках одного-двух университетских или промышленных исследовательских центров/лабораторий (реже – центров разработки);
    • архитектурные расчёты, в которых принципиальная схема “живая” и по ней можно вести мультифизические расчёты. Например акаузальный язык мультифизического моделирования Modelica;
    • product lines (например, подход для software product line practice, версия 5);
    • Системная инженерия на основе поиска;
    • http://www.cfin.ru/management/controlling/sys_project.shtml

Стадии разработки архитектуры

Чаще всего разработка архитектуры проходит в такой последовательности:


  1. предложение принципиальной схемы, или функциональной декомпозиции (“логической” схемы);
  2. проведения необходимых мультифизических расчётов;
  3. попытка определить то, как компоненты будут реализованы теми или иными модулями — которые можно купить, или которые придётся разработать;
  4. если предполагаемые принципиальной схемой модули трудно реализовать (их нет на рынке, их трудно спроектировать и изготовить и т.д.), то принципиальная схема меняется и переходят к п.2.
  5. повторяют пп.2-4 до тех пор, пока логическая и физическая архитектуры не окажутся согласованы между собой.

Анализ альтернатив

Субъективность архитектуры — необходимость выбора одного из альтернативных вариантов архитектуры.

  • Если попросить для уже готовой системы разных инженеров сделать архитектурные описания, то они будут разными — как по предложенным структурам системы, так и по той границе, которую проводят разные инженеры между “важным” и “неважным”, исходя из своего опыта.
  • Если предложить разным системным архитекторам спроектировать какую-то систему, то разные системные архитекторы также предложат разные архитектуры — но в данном случае они их “придумают”, а не “выявят”.

Системный архитектор или команда системных архитекторов должны предложить сразу несколько разных архитектурных решений (вариантов компонентной структуры/модулей для реализации компонент/разного размещения в пространстве). Лучшие из этих архитектурных решений выбираются при помощи процедуры, известной как trade-off studies [1] . По этой процедуре готовятся таблицы, в которых баллами оцениваются свойства альтернативных вариантов, а затем подсчитывается сумма с учётом каких-то коэффициентов. В реальной жизни решения обычно принимаются содержательным обсуждением, а затем таблицы для trade-off studies оформляются задним числом для отчётности и демонстрации наличия вариантов, учтённых в работе — это как бы “объективация” субъективно принимаемых решений. Если рассматривалась только одна архитектура, то это считается не слишком хорошей работой системного архитектора.

Границы архитектуры

Относительность архитектуры — необходимость разделения архитектурной и неархитектурной частей.

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

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

Границу между архитектурным проектированием (architecting) и непосредственно проектированием системы (designing) можно провести исходя из целей (применения) архитектуры и проекта:

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

Состояния альфы

OMG Essence определяет следующие состояния для альфы «Архитектуры» и контрольные вопросы для проверки каждого состояния:

Состояние State Описание Контрольные вопросы
1 Архитектурные сценарии определены Architectural Scenarios Identified Architectural scenarios are identified to understand and pinpoint the requirements on the architecture ❑ The goals of the architecture have been identified and described with clear evaluation criteria.

❑ Any constraints that apply to the architecture have been identified and described.

❑ A set of scenarios which demonstrate that the architecture meets its goals has been identified and described.

2 Варианты решения определены Candidate Solution Identified There are many possible architectures that could be selected to support the development of the software system. The various options will need to be explored and assessed against the architectural goals and constraints. Trade-offs will have to be made between the different architectural characteristics to produce an architecture that is fit for purpose. In addition, some of the architectural requirements may have to be negotiated to keep development costs under control ❑One or more candidate architectures have been investigated and a suitable one has been identified.

❑Decisions have been made regarding the implementation platform and the major technologies to employ.

3 Решение структурировано Solution Structured The selected architecture is elaborated and structured by architectural designs and blueprints that can be used as input to subsequent implementation steps. The application of these designs and blueprints lays the foundation for the software system and sets the scene for a well-structured solution that will be capable of supporting the demands made on it by the architecturally significant requirements. ❑Architectural designs and blueprints for the software system are available.

❑A structure for the software system has been established that will support its development and maintenance.


❑Buy or build decisions have been made and any third-party products to be used are positioned within the architecture.

4 Обоснована Established The architecture is established by building and demonstrating a software system which creates confidence that the most appropriate solution has been chosen. The best way to do this is implement a ‘skinny’ (aka. skeleton) system and execute those architectural scenarios considered the most difficult or risky; successful execution provides evidence that the selected architecture is a suitable choice. ❑ Key features and unknown characteristics of the architecture have been identified for exploration.

❑ Just enough of the architecture has been implemented to address these areas of concern.

❑ An executable skinny system has been built.

❑ The most difficult or risky architectural scenarios have been demonstrated.

❑ Demonstration results have been gathered to justify selection of the architecture.

5 Прошла валидацию Validated The architecture is validated by architectural tests being executed and evaluated; the corresponding test results have been captured, analyzed and approved. Architectural tests need to be run against for every release of the software system, not just the initial architectural prototypes ❑ The software system, starting with the initial ‘skinny’ system and continuing as the system evolves, has been proven to meet the architectural requirements.

Рабочие продукты

Подходы к конструированию описаний

Correspondence rule — это правила соответствия элементов в разных моделях, они определяют конкретные соответствия (например, правила соответствия компонент и модулей в инженерной группе описаний. Эти правила определяют набор конкретных соответствий компонент и модулей в данном проекте). Всё, что говорится про архитектуру и архитектурные описания, верно для двух подходов к конструированию групп описаний из отдельных моделей (диаграмм, наборов формул и т.д.):

  • Синтетический подход — когда отдельные модели (например, диаграммы) являются именно отдельными моделями, но к ним добавляется список соответствующих друг другу элементов (”насос-1 на принципиальной схеме реализуется модулем “наклонный жёлоб” на чертеже”).
  • Прожекторный (проекторный) подход — когда вся необходимая информация разных моделей содержится в общей базе данных (иногда говорят “интеллектуальной информационной модели”, “цифровом макете”, “цифровой модели” и т.д.), а отдельные модели получаются отфильтровыванием нужной информации из общего хранилища — примерно так, как из белого цвета в проекторах и прожекторах получают нужные цвета, используя цветные фильтры-плёнки.

Интеллектуальные технологии и системы. Применение интеллектуальных технологий в экономических системах

1 Основы интеллектуальных технологий и систем 5

1.1 Понятие искусственного интеллекта и интеллектуальных технологий 5

1.2 Развитие систем искусственного интеллекта 8

1.3 Архитектура и основные составные части систем ИИ 13

1.3.1 Подходы к построению ИИ 13

1.3.2 Вспомогательные системы нижнего уровня и их место в системах ИИ 17

2 Классификация интеллектуальных систем и их применение в экономических системах 20

2.1 Классификация интеллектуальных систем 20

2.2 Применение интеллектуальных технологий в экономических системах 30

Список использованных источников 40

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

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

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

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

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

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

— рассмотреть основы интеллектуальных технологий и систем, включающие в себя их понятия, развитие систем искусственного интеллекта;

— изучить архитектуру и основные составные части систем ИИ;

— рассмотреть классификацию интеллектуальных систем;

— изучить применение интеллектуальных технологий в экономических системах.

Объектом исследования курсовой работы является искусственный интеллект.

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

Информационной базой для написания курсовой работы послужили норматиновно-правовые акты и другие официальные документы, работы таких отечественных и зарубежных авторов как Белова В.О., Бобровского С.Б., Зенкина А.А., Козлова А.Н., Моисеенко Е.В., Лаврушиной Е.Г., Тельнова Ю.Ф., Хромина А.А. и других.

Основные методы используемые при написании работы: метод анализа и синтеза литературы, классификации и обобщения.

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

Во введении обоснована актуальность выбранной темы, выделены объект и предмет изучения, обозначена информационная база и перечислены использованные методы исследования.

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

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

В заключении приведены основные выводы по проделанной работе.

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

1 Основы интеллектуальных технологий и систем

1.1 Понятие искусственного интеллекта и интеллектуальных технологий

Термин интеллект происходит от латинского intellectus — что означает ум, рассудок, разум, мыслительные способности человека. Соответственно искусственный интеллект — ИИ (AI) обычно толкуется как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий [7].

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

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

На сегодняшний день не существует определения, которое однозначно описывало бы ИИ. Среди многих точек зрения доминируют следующие три [14, c. 11] :

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

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

3) Исследования, в процессе которых появляется множество прикладных систем, способных решать задачи, для которых ранее создаваемые системы были не пригодны.

Илон Маск рекомендует:  strtotime - Преобразует текстовое представление даты на английском языке в метку времени Unix
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL