Читайте также:
|
|
Интерфейс (англ. interface — сопряжение, поверхность раздела, перегородка) — совокупность возможностей, способов и методов взаимодействия двух систем (любых, а не обязательно являющиеся вычислительными или информационными),устройств или программ для обмена информацией между ними, определённая их характеристиками, характеристиками соединения, сигналов обмена и т. п.
Назначение интерфейса можно определить следующим образом.
Интерфейс - это множество операций, которые используются для определения услуг класса или компонента.
Интерфейс служит для именования такого множества операций, а также для определения их сигнатур и результирующих действий. Главное внимание при этом уделяется не структуре данной услуги, а именно ее результирующему действию. Интерфейс не предлагает реализацию своих операций, в список которых можно также включать сигналы, которые будут обрабатываться классом.
Интерфейс используется для определения услуги, которую один элемент поставляет, а другие могут затребовать. Он предоставляет имя множеству операций, которые имеют осуществляют некоторое интересное, с логической тонки зрения, поведение системы или ее части.
Интерфейс служит для определения услуги, которую предлагает класс или компонент и которою он реализует. Таким образом, интерфейс охватывает логические и физические границы системы. Логическую реализацию интерфейса может осуществлять как один класс, так и несколько различных классов (которые, скорее всего, будут частью подсистемы какого-то компонента). При этом один или несколько компонентов могут входить в физический пакет, соответствующий интерфейсу.
Если интерфейс реализуется (в программном коде) с помощью класса, то этот класс должен объявить или унаследовать все операции интерфейса. Кроме этого, у него также могут иметься дополнительные операции (см. realization). Если же класс реализует не один, а несколько интерфейсов, то и в этом случае он должен иметь все операции, представленные в этих интерфейсах. Одна и та же операция может появляться в различных интерфейсах. Если их сигнатуры совпадают, то они либо представляют собой одну и ту же операцию, либо создают конфликтную ситуацию, и тогда модель считается плохо согласованной. (При реализации могут применяться дополнительные правила для сопоставляемых сигнатур. Например, в языке C++ игнорируются имена параметров и возвращаемых значений.) В интерфейсе нет никаких указаний относительно атрибутов или ассоциаций класса, так как они являются частью его реализации.
Интерфейс - это обобщаемый элемент. Интерфейс-прямой потомок наследует все операции своего прямого предка и может добавлять к ним новые. Реализацию можно рассматривать как наследование поведения; класс наследует операции другого классификатора, но не его структуру. Класс может реализовывать другой класс. Класс, служащий для спецификации, ведет себя при этом как интерфейс, так как только его операции затрагивают отношение.
Интерфейс может принимать участие в ассоциациях. Однако у него не может быть ассоциации, которая допускала бы навигацию от интерфейса. Интерфейс может участвовать в ассоциации только в том случае, если ассоциация допускает навигацию только, но направлению к интерфейсу.
В вычислительной системе взаимодействие может осуществляться на пользовательском, программном и аппаратном уровнях. Соответственно, согласно этому, интерфейсы могут существовать как:
Способ взаимодействия физических устройств
Сюда перенаправляется запрос «Интерфейс (аппаратный)». На эту тему нужна отдельная статья.
Физический (аппаратный) интерфейс — способ взаимодействия физических устройств. Чаще всего речь идёт о компьютерных портах.
Сетевой интерфейс
Сетевой шлюз — устройство, соединяющее локальную сеть с более крупной, например, Интернетом.
Шина (компьютер). Для виртуальных (программных) устройств существуют следующие интерфейсы (Программный интерфейс): Интерфейс функции
Интерфейс программирования приложений (API) — набор стандартных библиотечных методов, которые программист может использовать для доступа к функциональности другой программы.
Удалённый вызов процедур
COM-интерфейс
Интерфейс объектно-ориентированного программирования
Способ взаимодействия человек-машина
Основная статья: Человеко-машинный интерфейс
Совокупность средств, при помощи которых пользователь взаимодействует с различными программами и устройствами (Интерфейс пользователя):
Интерфейс командной строки: инструкции компьютеру даются путём ввода с клавиатуры текстовых строк (команд).
Графический интерфейс пользователя: программные функции представляются графическими элементами экрана.
Диалоговый интерфейс: например, Поиск
Жестовый интерфейс: сенсорный экран, руль, джойстик и т. д.
Естественно-языковой интерфейс, применяемый в интеллектуальных системах, пользователь «разговаривает» с программой на родном ему языке.
Нейрокомпьютерный интерфейс: отвечает за обмен между нейронами и электронным устройством при помощи специальных имплантированных электродов.
В этом списке приводятся названия и краткие описания интерфейсов компьютеров. К интерфейсам относятся: порты, шины,сетевые интерфейсы.
ISA (Industry Standard Architecture — Архитектура промышленного стандарта), другое название AT-Bus.
). В разъемы шины EISA можно вставлять как платы для шины ISA, так и для EISA.
VLB (VESA Local Bus — Локальная шина стандарта VESA). Этот интерфейс является 32-х разрядным расширением шины ISA.
PCI (Peripheral Component Interconnect — Соединение внешних компонентов). Этот интерфейс не совместим ни с одним из предшествующих.
PCMCIA (Personal Computer Memory Card International Association — Стандарт международной ассоциации производителей плат памяти для персональных компьютеров).
USB (Universal Serial Bus — Универсальная последовательная шина).
AGP (Accelerated Graphics Port — Ускоренный графический порт).
IEEE 1394 (Institute of Electrical and Electronic Engineers 1394 — Стандарт института инженеров по электротехнике и электронике № 1394) имеет другое название FireWire (Огненный провод).
SCSI (Small Computer System Interface — Интерфейс малых компьютерных систем). UAS (USB Attached SCSI) — используется для высокоскоростного обмена с USB-устройствами хранения, таких как жесткие диски, твердотельные диски и флэш-накопители.
IDE (ATA) (Integrated Drive Electronics — Встроенная электроника накопителя; AT Attachment — Подключение к AT).
SATA (Serial ATA) — последовательная шина ATA. В версии 2 имеет скорость до 300МБ/с (скорость передачи кодированных данных 3 Гбод)
SAS (Serial Attached SCSI) — последовательная версия SCSI (частично совместима с SATA)
Device Bay (Установочный узел). Спецификация этого интерфейса описывает механические, электрические и программные требования к подсоединяемым компонентам.
RS-232C — интерфейс обмена данными по последовательному коммуникационному порту СОМ (COMmunication — Связь).
IEEE 1284, LPT (англ. Line Print Terminal; также параллельный порт, порт принтера) — международный стандартпараллельного интерфейса для подключения периферийных устройств персонального компьютера.
Вопрос.
1 Подготовка к уроку. Педагогическое воздействие: планирование, организация, регулирование.
Формула эффективности урока состоит из двух частей: тщательности подготовки и мастерства проведения. Плохо спланированный, недостаточно продуманный, наспех спроектированный и не согласованный с возможностями учащихся урок качественным быть не может. Подготовка урока — это разработка комплекса мер, выбор такой организации учебно-воспитательного, которая в данных конкретных условиях обеспечивает наивысший конечный результат.
В подготовке учителя к уроку выделяются три этапа: диагностики, прогнозирования, проектирования (планирования). При этом предполагается, что учитель хорошо знает фактический материал, свободно ориентируется в своем учебном предмете. В основе — алгоритм подготовки урока, последовательное выполнение шагов которого гарантирует учет всех важных факторов и обстоятельств, от которых зависит эффективность будущего занятия.
Реализация алгоритма начинается с диагностирования конкретных условий. Диагностика — это «прояснение» всех обстоятельств проведения урока: возможностей учащихся, мотивов их деятельности и поведения, запросов и наклонностей, интересов и способностей, требуемого уровня обученности, характера учебного материала, его особенностей и практической значимости, структуры урока, а также внимательный анализ всех затрат времени в учебном процессе на повторение (актуализацию) опорных знаний, усвоение новой информации, закрепление и систематизацию, контроль и коррекцию знаний, умений. Завершается этап получением диагностической карты урока, на которой наглядно видно действие факторов, определяющих эффективность занятия. Качество ожидается в том случае, когда факторы находятся в зоне оптимальных условий.
Прогнозирование направлено на оценку различных вариантов проведения будущего урока и выбор из них оптимального по принятому критерию. Современная технология прогнозирования позволяет выводить количественный показатель эффективности урока следующим способом. Объем знаний (умений), формирование которых составляет цель урока, принимается за 100%. Влияние препятствующих факторов, естественно, снижает этот идеальный показатель. Величина потерь (определяется по специальной методике) вычитается из идеального результата и определяет реальный показатель эффективности урока по задуманной педагогом схеме. Если показатель удовлетворяет учителя, он приступает к заключительному этапу подготовки урока — планированию, а если нет, то педагог вынужден искать более совершенную схему организации, манипулируя теми факторами, влияние которых он может менять.
2.Игры. Игровые деревья. Метод «минимакса» и выбор очередного хода. Альфа-бета-процедура и примеры альфа-бета-отсечения.
Алгоритм минимакса
В 1945 году Оскар Моргенштерн и Джон фон Нейман предложили метод минимакса, нашедший широкое применение в теории игр. Предположим, что противник использует оценочную функцию (ОФ), совпадающую с нашей ОФ. Выбор хода с нашей стороны определяется максимальным значением ОФ для текущей позиции. Противник стремится сделать ход, который минимизирует ОФ. Поэтому этот метод и получил название минимакса. На приведен пример анализа дерева ходов с помощью метода минимакса (выбранный путь решения отмечен жирной линией).
Развивая метод минимакса, назначим вероятности для выполняемых действий в задаче о миссионерах и людоедах:
P([2: 0]R) = 0; 8; P([1: 1]R) = 0; 5;
P([0: 2]R) = 0; 9;
P([1: 0]R) = 0; 3; P([0: 1]R) = 0; 3:
Интуитивно понятно, что посылать одного людоеда или одного миссионера менее эффективно, чем двух человек, особенно на начальных этапах. На каждом уровне мы будем выбирать состояние по критерию Pi. Даже такой простой подход позволит нам избежать части тупиковых состояний в процессе поиска и сократить время по сравнению с полным перебором. Кстати, этот подход достаточно распространен в экспертных продукционных системах.
Альфа-бета-процедура
Теоретически, это эквивалентная минимаксу процедура, с помощью которой всегда получается такой же результат, но заметно быстрее, так как целые части дерева исключаются без проведения анализа. В основе этой процедуры лежит идея Дж. Маккарти об использовании двух переменных, обозначенных и β (1961 год).
Основная идея метода состоит в сравнении наилучших оценок, полученных для полностью изученных ветвей, с наилучшими предполагаемыми оценками для оставшихся. Можно показать, что при определенных условиях некоторые вычисления являются лишними. Рассмотрим идею отсечения на примере. Предположим, позиция А полностью проанализирована и найдено значение ее оценки . Допустим, что один ход из позиции Y приводит к позиции Z, оценка которой по методу минимакса равна z. Предположим, что z . После анализа узла Z, когда справедливо соотношение y z s, ветви дерева, выходящие из узла Y, могут быть отброшены (альфа-отсечение).
Если мы захотим опуститься до узла Z, лежащего на уровне произвольной глубины, принадлежащей той же стороне, что и уровень S, то необходимо учитывать минимальное значение оценки β, получаемой на ходах противника.
Отсечение типа β можно выполнить всякий раз, когда оценка позиции, возникающая после хода противника, превышает значение β. Алгоритм поиска строится так, что оценки своих ходов и ходов противника сравниваются при анализе дерева с величинами и β соответственно. В начале вычислений этим величинам присваиваются значения +∞ и -∞, а затем, по мере продвижения к корню дерева, находится оценка начальной позиции и наилучший ход для одного из противников.
Правила вычисления и β в процессе поиска рекомендуются следующие:
Правила прекращения поиска:
На показаны -β отсечения для конкретного примера. Таким образом, -β-алгоритм дает тот же результат, что и метод минимакса, но выполняется быстрее.
Использование алгоритмов эвристического поиска для поиска на графе И, ИЛИ выигрышной стратегии в более сложных задачах и играх (шашки, шахматы) не реален. По некоторым оценкам игровое дерево игры в шашки содержит 1040 вершин, в шахматах 10120 вершин. Если при игре в шашки для одной вершины требуется 1/3 наносекунды, то всего игрового времени потребуется 1021 веков. В таких случаях вводятся искусственные условия остановки, основанные на таких факторах, как наибольшая допустимая глубина вершин в дереве поиска или ограничения на время и объем памяти.
Многие из рассмотренных выше идей были использованы А. Ньюэллом, Дж. Шоу и Г. Саймоном в их программе GPS. Процесс работы GPS в общем воспроизводит методы решения задач, применяемые человеком: выдвигаются подцели, приближающие к решению; применяется эвристический метод (один, другой и т. д.), пока не будет получено решение. Попытки прекращаются, если получить решение не удается.
Программа STRIPS (STanford Research Institut Problem Solver) вырабатывает соответствующий порядок действий робота в зависимости от поставленной цели. Программа способна обучаться на опыте решения предыдущих задач. Большая часть игровых программ также обучается в процессе работы. Например, знаменитая шашечная программа Самюэля, выигравшая в 1974 году у чемпиона мира, "заучивала наизусть" выигранные партии и обобщала их для извлечения пользы из прошлого опыта. Программа HACHER Зуссмана, управляющая поведением робота, обучалась также и на ошибках.
Дата добавления: 2015-10-24; просмотров: 797 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Типы и виды классификаций учебных заданий. Трансформация предметной задачи в учебную. | | | Язык SQL. Предпосылки возникновения SQL. Формирование запросов на SQL. Подзапросы. Группировка данных. |