Главная » Просмотр файлов » Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++

Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (1158635), страница 82

Файл №1158635 Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++) 82 страницаГради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (1158635) страница 822019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 82)

Методпоказал хорошие результаты в представлении описательных знаний; он болееэффективен с точки зрения памяти и времени по сравнению с другимиподходами [б].Информационная доска вполне подходит на роль среды разработки(см. главу 9). Попробуем теперь зафиксировать архитектуру этого метода ввиде системы классов и механизмов их взаимодействия.Архитектура метафоры информационной доскиЭнглемор и Морган для пояснения модели информационной доскииспользовали следующую аналогию с группой людей, собирающейфрагменты головоломки в нужную фигуру:Вообразим себе комнату с большой доской, рядом с которой находитсягруппа людей, держащих в руках фрагменты изображения.

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

При этом не существенно,что один из участников может иметь больше фрагментов, чем другой. Всеизображение будет полностью собрано без всякого обмена информациеймежду членами группы. Каждый участник активизируется самостоятельно изнает, когда ему нужно включиться в процесс. Никакого порядка подхода кдоске заранее не устанавливается. Совместное поведение регулируется толькоинформацией на доске. Наблюдение за процессом демонстрирует егопоследовательность (по одному фрагменту за подход) и произвольность (когдавозникает возможность, фрагмент устанавливается). Это существенноотличается от строгой систематичности, например, от прохождения с левоговерхнего угла и перебора каждого фрагмента[7].Из рис. 11-1 видно, что основу метода составляют три элемента:информаци-онная доска, совокупность источников знаний и управляющийэтими источниками контроллер [8].

Отметим, что следующее определениепрямо соответствует принципам объектного подхода. Согласно Ни:"Информационная доска нужна для того чтобы хранить данные о ходе исостоянии решаемой задачи, используемые и формируемые источникамизнаний. Доска содержит объекты из пространства решений. Эти объектыиерархически группируются по уровням анализа и вместе со своимиатрибутами образуют словарь пространства решений" [9].Энглемор и Морган уточняют: "необходимые для решения задачизнания о предметной области разделены на несколько независимыхисточников.

Каждый источник знаний старается предложить информацию,полезную для решения за дачи. Текущая информация из каждого источникапомещается на доске и модифи-Рис. 11-1. Информационная доскацируется в соответствии с содержанием знаний. Формойпредставления источников знаний являются процедуры, наборы правил илилогические заключения" [10].Источники знаний зависят от предметной области. В системахраспознавания речи нас могут интересовать агенты, поставляющие знания офонемах, словах и предложениях. В системах распознавания образов имимогут быть сведения об элементарных структурах изображения, таких, какстыки линий, участки одинаковой плотности, и, на более высоком уровнеабстракции, объекты, относящиеся к конкретной сцене (дома, дороги, поля,автомобили и люди).В общем случае источники знаний соответствуют иерархическойструктуре объектов, размещаемых на информационной доске. Более того,каждый источник использует объекты одного уровня иерархии в качествевходных данных, а в качестве выхода генерирует или изменяет объекты надругом уровне.

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

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

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

Изнескольких источников, делающих такой жест, контроллер вызывает того, ктоему представляется наиболее перспективным.Анализ источников знанийВернемся теперь к поставленной задаче и рассмотрим источникизнаний, полезные для ее решения. При построении большинства приложений,основанных на знаниях, лучше всего сесть рядом с экспертом в предметнойобласти и фиксировать те эвристики, которые он использует. В нашем случаепридется попытаться расшифровать некоторое количество криптограмм иотметить особенности процесса поиска решений.Действуя таким образом мы выявили тринадцать источников знаний,относящихся к нашей проблеме:• ПрефиксыНаиболее часто используемые началаслов (например, re, anti, un).• СуффиксыНаиболее часто используемыеокончания слов (ly, ing, es, ed).• СогласныеБуквы, не являющиеся гласными.• Непосредственно известныеПодстановки, известные нам априори,подстановкидо решения задачи.• Двойные буквыНаиболее часто сдваиваемыебуквы(tt,ll,ss).• Частота буквВероятность появления букв в тексте.• Правильные строкиДопустимые и недопустимые сочетаниябукв (например, qu и zg).• Сравнение с шаблономСлова, соответствующие шаблону.• Структура фразГрамматика, включая знания обименных и глагольных оборотах.• Короткие словаОдно-, двух-, трех- ичетырехбуквенные слова.• РешениеНайдено ли решение или мы зашли втупик.• ГласныеБуквы, не являющиеся согласными.• Структура словаРасположение гласных и типичнаяструктура существительных, глаголов,прилагательных, наречий, предлогов,союзов и т.

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

Это классическийпример повторного использования "в большом": мы повторно применяемиспытанный архитектурный шаблон как основу проекта. Методинформационной доски предполагает следующие объекты верхнего уровня:информационная доска, несколько источников знаний и контроллер. Остаетсятолько определить классы и объекты предметной области, которыеспециализируют эти общие абстракции.Объекты информационной доски. Объекты на доске образуютиерархию, отражающую иерархичность различных уровней абстракцииисточников знаний. Таким образом, у нас есть три следующих класса:•SentenceПолная криптограммаОтдельное слово в криптограмме•WordОтдельная буква в слове•CipherLetterИсточники знаний должны пользоваться общей информацией осделанных в процессе решения предположениях, поэтому в число объектовинформационной доски включается следующий класс:•AssumptionПредположение, сделанное источником знанийНаконец, источники знания делают предположения о связи междубуквами реального и шифровального алфавитов, так что мы вводимследующий класс:•AlphabetАлфавит исходного текста, алфавиткриптограммы исоответствие между нимиЕсть ли между этими пятью классами что-либо общее? Ответоднозначно утвердительный: все они соответствуют объектаминформационной доски и этим существенно отличаются от других объектов,например, источников знаний и контроллера.

Поэтому вводится следующийсуперкласс для всех ранее перечисленных объектов:class BlackboardObject ...С точки зрения внешнего поведения определим для этого класса двеоперации:•registerДобавить объект на доскуУдалить объект с доски•resignПочему мы определили эти две операции над объектами классаBlackboardObject, а не над самой доской? Это похоже на ситуацию, когдаобъект должен сам нарисовать себя в некотором окне. "Лакмусовый" тест втаких случаях, это вопрос: "Имеет ли сам объект достаточно знаний и умений,чтобы выполнять такие операции?".

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

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее