- •2 Файлы и файловая система
- •2.1 Файлы
- •2.2 Типы файлов
- •2.2.1 Обычные файлы
- •4.1Як поняття «керованість» і «спостережність» пов'язані з поняттям «відкритості» і «закритості» моделей систем?
- •4.2Проектування бд
- •4.3Формулювання задачі багатокритеріальної оптимізації
- •4.4 Структура та функції дос
- •1.Структура та функції Windows’98.
- •2. Бінарні відношення. Способи Їх задання та властивості, необхідні для аналізу задач прийняття рішень.
- •5.3 Реляційні бд.
- •5.4 Як на прикладі проілюструвати суть логіки спрощення Ешбі?
- •6.2 Продукционная система - способ представления знаний в виде: 1)неупорядоченной совокупности продукционных правил; 2) рабочей памяти; 3) механизма логического вывода.
- •6.3 Множини ефективних, слабо та строго ефективних рішень, їх властивості.
- •4.Асемблер. Двійкова та 16-річна мови асемблера.
- •7.1 Компіляція та парадигми мов програмування
- •7.2 Умови оптимальності Гермейєра та Подиновського
- •7.3 Операції реляційної бд. Ключі
- •7.4 Які особливості idef - методології? Її зв'язок з case - засобами та методології sadt.
- •8.1 Інформація, інформаційний процес, інформаційний потік, інформаційна модель. У чому суть методики моделювання?
- •8.2 Бд «Студент-Викладач-Оцінки» в «Access».
- •8.4 Дерева. Їх застосування в компіляції.
- •9.1Загальне поняття мови. Мова та відношення. Приклади мов.
- •9.2 Правила вибору ефективних альтернатив.
- •4. Модели данных
- •4.1. Классификация моделей данных
- •38. Бази знань та їх застосування.
- •40. Лексеми, їх розбір та породження.
- •41.Регулярні вирази та їх породження.
- •42. Метод бажаної точки.
- •43. Ключові слова. Дескриптори. Тезауруси
- •44. У чому полягають особливості різних шкал оцінки якості?
- •45.Ефект і ефективність. Якими чинниками характеризується ефективність системи?
- •46. Мови запитів до бд. Реляційна мова.
- •49.Сортування. Топологічне сортування.
- •51. Інформаційні моделі проектних областей та бд
- •1. Введение
- •1.2 Почему owl?
- •1.3 Три диалекта owl
- •1.4 Структура документа
- •2. Сводка языка
- •Властивості та класифікація процесу.
- •Підходи до керування реальною пам’яттю.
- •Неперервний розподіл оперативної пам’яті.
- •Розподіл з перекриттям.
- •Статичний розподіл пам’яті.
- •Динамічний розподіл пам’яті.
- •Розділи пам’яті з фіксованими розмірами.
- •Тема 3. Классификация ос
- •Типы ос по алгоритмам управления ресурсами:
- •Типы ос по аппаратной платформе:
- •10.2. Этапы трансляции. Общая схема работы транслятора
1.4 Структура документа
Этот документ сначала описывает понятия OWL Lite, вслед за чем идет описание понятий, которые добавлены в OWL DL и OWL Full (OWL DL и OWL Full содержат одинаковые понятия, но OWL Full более либерален в том, как эти понятия могут комбинироваться).
2. Сводка языка
Эта секция обеспечивает быстрые ссылки для всех терминов языков OWL Lite, OWL DL и OWL Full.
В этом документе термины OWL выделены курсивом. Префиксы rdf: или rdfs: используются, когда термины уже присутствуют в RDF или RDF Schema. В противном случае термины относятся к OWL. Таким образом, термин rdfs:subPropertyOf указывает, что subPropertyOf уже присутствует в словаре rdfs (технически: rdfs namespace). А термин Class или более точно обозначенный как owl:Class - термин, принадлежащий OWL.
Технологія прийняття рішень методом аналізу ієрархій
Метод аналізу ієрархій(МАІ) базується на ієрархічному представленні елементів, що визначають суть проблеми. Проблема розбивається на більш прості складові з наступним оцінюванням особою, що приймає рішення (ОПР), відносного ступеня взаємодії елементів одержуваної ієрархічної структури. У методі використовуються тверді оцінки в шкалі відносин. МАІ будується на принципі ідентичності й декомпозиції і включає процедури синтезу множинних тверджень, одержання пріоритетності критеріїв і знаходження альтернативних рішень. Принцип ідентичності й декомпозиції передбачає структурування проблем у вигляді ієрархії або мережі як першого етапу МАІ. Побудова ієрархії починається з окреслення проблеми дослідження. Далі будується власне ієрархія, що включає мету (призначення), яка відповідає корінню ієрархії, проміжні рівні (аспекти мети, мети-критерії, критерії) і альтернативи, які формують найбільш низький ієрархічний рівень (листя).
Цей метод був розроблений американським математиком Томасом Л.Сааті (Thomas L.Saaty) і базується на його відомих результатах в галузі«неструктурованого прийняття рішень» (Non-structured Decision Making). Попри те, що метод Сааті на ранніх етапах застосування (початок дев’яностих років) розглядався виключно як допоміжний інструмент для прийняття рішень, згодом його почали використовувати при розв’язанні задач «візуалізації майбутнього», що робить його досить цікавим для технологічного передбачення.
На відміну від інших методів, які використовуються у цій сфері знань, ідея методу Сааті полягає в обов’язковій умові «фокусування»або «сходження» до чогось єдиного стосовно висновків експертів і дій численних виконавців складного процесу, що передбачається. Тобто в цьому разі метод ґрунтується на «причинній» перспективі процесів, які закладаються в основу розробки сценаріїв майбутнього.
Застосування методу базується на використанні так званих ієрархічних мереж при побудові моделі, яка призначена для розрахунку ймовірностей виникнення кожного можливого сценарію в майбутньому. Причому на першому етапі група фахівців, яка керує виконанням досліджень, мусить принаймні вербально (у словесній формі) визначити, чим є реально можливі сценарії майбутнього. Ймовірність виникнення або міра невизначеності кожного можливого сценарію визначається застосуванням алгоритмів цього методу та моделі ієрархічних мереж.
Метод аналізу ієрархій базується на принципі ідентичності і декомпозиції, включає процедури синтезу множинних тверджень, отримання пріорітетності критеріїв та знаходження альтернативних рішень.
Існує ряд модифікацій методу аналізу ієрархії:
- з однаковим числом і функціональним складом альтернатив під критерієм;
- з різним числом і функціональним складом альтернатив під критерієм.
Крім того, у методі аналізу ієрархії є 3 методи порівняння(рейтингування):
1) Попарне порівняння
2) Порівняння альтернатив щодо стандартів
3) Порівняння альтернатив копіюванням.
В роботі Т. Сааті й С. Кернс наведено велику кількість прикладів з різних сфер застосування МАІ, які наочно показують практичну цінність запропонованого авторами підходу до розв’язання задач планування, розподілу ресурсів і аналізу проблеми “вартість — ефективність”.
Існує об'єктивна необхідність теоретичного обґрунтування і розробки економіко-математичної моделі оптимізації галузевої структури машинобудування. При аналізі мультиплікативних ефектів Кейнс дотримувався інституціонального принципу, відповідно з яким елементи економіки класифікуються за секторами (домашні господарства; не фінансові установи; держава; фінансові установи; некомерційні організації, що обслуговують населення і ін.). Поряд з інституціональним існує галузевий принцип класифікації елементів економічної системи, що використовував у моделі міжгалузевого балансу В.В. Леонтьєв.
Галузевий принцип класифікації зв'язаний з істотними відмінностями між різними видами виробництва товарів і послуг. Галузі відрізняються одна від одної структурою валового випуску: для частини з них характерна висока частка доданої вартості, у той час як у валовій продукції інших галузей переважають поточні матеріальні витрати. Значні розходження між галузями існують також у динаміці та темпах розвитку, питомій вазі використаної імпортної продукції, питомій вазі податків у валовому випуску і т.д.
Унаслідок зазначених об'єктивних розходжень між галузями можна припустити, що однакові зміни складових попиту викликають неоднакові зміни ВВП. Отже, за інших рівних умов мультиплікативні ефекти, що виникають у галузях економіки, істотно розрізняються.
При розробці оптимізаційної моделі структури машинобудування використовується галузевий принцип класифікації. З погляду розподілу інвестиційних ресурсів між галузями необхідно враховувати мультиплікативні ефекти. Тому аналітично взаємозв'язок може бути виражений у виді відносин типу “витрата-випуск”:
С + G + I = Y = С + S + Т – Тr (1)
У лівій частині тотожності (1) показані компоненти попиту: C – споживання, G – державні витрати, I – інвестиції, а в правій – напрямки використання доходу Y: C – споживання, S – заощадження, Т – податки, Тr – обсяг трансферів.
Нехай дано:
N галузей економіки; і – індекс галузі – виробника продукції, і = 1, ..., N; j – індекс галузі – споживача продукції, j = 1, ..., N; Xi – валова продукція i-й галузі; X = (Xi) – вектор валової продукції; Xj – валові витрати j-й галузі; Yi – обсяг кінцевої продукції i-й галузі; Xij – витрати продукції i-й галузі для виробництва продукції j-й галузі; Rj – валова додана вартість, створена в j-й галузі.
Тоді: A = (Аіj) – матриця коефіцієнтів прямих матеріальних витрат (технологічна матриця) – квадратна матриця порядку N, де
Аіj =Xij/Xj (2)
Аіj – коефіцієнт прямих матеріальних витрат продукції i-й галузі на виробництво одиниці продукції j-й галузі.
У рамках оптимізаційної моделі визначається цільова функція, коефіцієнтами якої є пріоритети галузей, а перемінними – обсяги ресурсів (наприклад, фінансових), які необхідно розподілити між галузями. Потім слід максимізувати дану цільову функцію при обмеженнях типу “витрата-випуск”, що враховують мультиплікативні ефекти в економіці.
При цьому двоїста задача включає мінімізацію цільової функції, коефіцієнтами якої є Yi (обсяги кінцевої продукції галузей). Отже, зміни в пріоритетах галузей і дозволяють досліджувати вплив на продукцію Yi .
Для рішення поставленої задачі застосовується розроблений Т. Сааті метод аналізу ієрархій (МАІ) у модифікованому виді.
Для визначення структури досліджуваного об'єкта заповнюється матриця парних порівнянь. Якщо позначити частку фактора Ai через wi, то елемент матриці
aij = wi/wj (3).
Таким чином, у пропонованому варіанті застосування методу парних порівнянь визначаються не величини відмінностей значень факторів, а їхнє відношення. При цьому очевидно: aij = 1/aji (4). Отже, матриця парних порівнянь у даному випадку є позитивно визначеної, назад симетричною матрицею, що має ранг, рівний 1.
Рішення задачі полягає в тому, що, роблячи попарне порівняння факторів A1, ..., An , ми заповнюємо матрицю парних порівнянь. Важливо зрозуміти, що якщо w1, w2, ..., wn невідомі заздалегідь, то попарні порівняння елементів виробляються з використанням суб'єктивних суджень, чисельно оцінюваних за шкалою, а потім зважується проблема перебування компонента w. У подібній постановці задачі рішення проблеми складається у відшуканні вектора (w1, w2, ..., wn). Існує кілька різних способів обчислення шуканого вектора. Кожний з методів дозволяє крім безпосереднього перебування вектора відповідати ще на деякі додаткові питання.
Таким чином, ця модифікація методу парних порівнянь містить внутрішні інструменти, що дозволяють визначити якість оброблюваних даних і ступінь довіри до них. Ця особливість даної методики вигідно відрізняється від більшості звичайно застосовуваних при дослідженні ринку методів.
Одержання оцінок коефіцієнтів матриці прямих витрат з використанням методу аналізу ієрархій складається з трьох етапів.
Етап 1 – потрібно оцінити:
а) – частку проміжної продукції i-й галузі, що розподіляється в j-й галузі;
б) – частку проміжної продукції i-й галузі, що розподіляється для власного споживання.
Загальна проміжна продукція оцінюється для N галузей за допомогою МАІ після відповіді на наступне питання: наскільки одна галузь важливіше іншої при розподілі валової продукції на власні нестатки?
Внутрішні потреби галузей ієрархічно розділяються на виробничі, фінансові і трудові ресурси. Кожна галузь одержує пріоритет щодо кожного критерію. Потім використовується композиція для одержання загальної міри “важливості” для галузей. Отримані оцінки позначимо за Ri, що утворять вектор-стовпець R = (Ri) (11) і = 1, ... N.
Етап 2 – побудова матриці парних порівнянь між галузями стосовно i-й галузі. Необхідно відповісти на наступний питання: наскільки сильна залежність однієї галузі в порівнянні з іншої для одержання валової продукції i-й галузі. У результаті одержимо матрицю парних порівнянь, з якої може бути отриманий власний вектор – стовпець ваг. Коли дана процедура проведена для кожної галузі, одержуємо матрицю W, стовпцями якої будуть власні вектори.
Етап 3 – одержання оцінок коефіцієнтів прямих витрат. Для цього кожен стовпець матриці W поелементно збільшується на вектор-стовпець R.
Галузь з високим пріоритетом може залежати від випуску продукції галузі з низьким пріоритетом. Вивчення пріоритетів необхідно для того, щоб керівник, який приймає рішення, визначити, які види діяльності є першочерговими. Облік мультиплікативних ефектів у даній моделі необхідний для забезпечення галузей з високим пріоритетом достатньою кількістю продукції, зробленої галузями з низьким пріоритетом. За недостатнього виробництва низько пріоритетними галузями це може негативно позначитися на галузях з високим пріоритетом.
Однією з головних функцій ОС є керування всіма пристроями введення-виведення комп'ютера. ОС повинна передавати пристроїв команди, перехоплювати переривання і обробляти помилки; вона також повинна забезпечувати інтерфейс між пристроями та іншою частиною системи. З метою розвитку інтерфейс повинен бути однаковим для всіх типів пристроїв (незалежність від пристроїв).
Фізична організація пристроїв введення-виведення
Пристрої введення-виведення діляться на два типи: блок-орієнтовані пристрої і байт-орієнтовані пристрої. Блок-орієнтовані пристрої зберігають інформацію в блоках фіксованого розміру, кожен з яких має свою власну адресу. Найпоширеніше блок-орієнтоване пристрій - диск. Байт-орієнтовані пристрої не адресуються і не дозволяють проводити операцію пошуку, вони генерують або споживають послідовність байтів. Прикладами є термінали, рядкові принтери, мережеві адаптери. Однак деякі зовнішні пристрої не відносяться ні до одного класу, наприклад, годинник, які, з одного боку, не адресуються, а з іншого боку, не породжують потоку байтів. Це пристрій лише видає сигнал переривання в деякі моменти часу.
Зовнішнє пристрій зазвичай складається з механічного та електронного компонента. Електронний компонент називається контролером пристрою або адаптером. Механічний компонент представляє власне пристрій. Деякі контролери можуть керувати кількома пристроями. Якщо інтерфейс між контролером і пристроєм стандартизований, то незалежні виробники можуть випускати сумісні як контролери, так і пристрої.
Операційна система зазвичай має справу не з пристроєм, а з контролером. Контролер, як правило, виконує прості функції, наприклад, перетворює потік біт в блоки, що складаються з байт, і здійснюють контроль і виправлення помилок. Кожен контролер має кілька регістрів, які використовуються для взаємодії з центральним процесором. У деяких комп'ютерах ці регістри є частиною фізичного адресного простору. У таких комп'ютерах немає спеціальних операцій введення-виведення. В інших комп'ютерах адреси регістрів введення-виведення, що називаються часто портами, утворюють власний адресний простір за рахунок введення спеціальних операцій введення-виведення (наприклад, команд IN і OUT в процесорах i86).
ОС виконує введення-виведення, записуючи команди в регістри контролера. Наприклад, контролер гнучкого диска IBM PC приймає 15 команд, таких як READ, WRITE, SEEK, FORMAT і т.д. Коли команда прийнята, процесор залишає контролер і займається іншою роботою. При завершенні команди контролер організовує переривання для того, щоб передати управління процесором операційній системі, яка має перевірити результати операції. Процесор отримує результати і статус пристрою, читаючи інформацію з регістрів контролера.
Організація програмного забезпечення вводу-виводу
Основна ідея організації програмного забезпечення введення-виведення полягає в розбитті його на кілька рівнів, причому нижні рівні забезпечують екранування особливостей апаратури від верхніх, а ті, у свою чергу, забезпечують зручний інтерфейс для користувачів.
Ключовим принципом є незалежність від пристроїв. Вид програми не повинен залежати від того, чи читає вона дані з гнучкого диска або з жорсткого диска.
Дуже близькою до ідеї незалежності від пристроїв є ідея одностайної іменування, тобто для іменування пристроїв повинні бути прийняті єдині правила.
Іншим важливим питанням для програмного забезпечення введення-виведення є обробка помилок. Взагалі кажучи, помилки слід обробляти як можна ближче до апаратури. Якщо контролер виявляє помилку читання, то він повинен спробувати її скорегувати. Якщо ж це йому не вдається, то виправленням помилок повинен зайнятися драйвер пристрою. Багато помилок можуть зникати при повторних спробах виконання операцій введення-виведення, наприклад, помилки, викликані наявністю порошинок на голівках читання або на диску. І тільки якщо нижній рівень не може впоратися з помилкою, він повідомляє про помилку верхнього рівня.
Ще одне ключове питання - це використання блокуючих (синхронних) і неблокуючим (асинхронних) передач. Більшість операцій фізичного введення-виведення виконується асинхронно - процесор починає передачу і переходить на іншу роботу, поки не настає переривання. Користувальницькі програми набагато легше писати, якщо операції введення-виведення блокують - після команди READ програма автоматично припиняється до тих пір, поки дані не потраплять в буфер програми. ОС виконує операції введення-виведення асинхронно, але подає їх для користувача програм в синхронній формі.
Остання проблема полягає в тому, що одні пристрої є розділяються, а інші - виділеними. Диски - це колективні пристрою, так як одночасний доступ кількох користувачів до диску не представляє собою проблему. Принтери - це виділені пристрої, тому що не можна змішувати рядки, що друкуються різними користувачами. Наявність виділених пристроїв створює для операційної системи деякі проблеми.
Для вирішення поставлених проблем доцільно розділити програмне забезпечення введення-виведення на чотири шари (рисунок 2.30):
Обробка переривань, Драйвери пристроїв, Незалежний від пристроїв шар операційної системи, Користувальницький шар програмного забезпечення.
Рис. 2.30. Багаторівнева організація підсистеми введення-виведення
Обробка переривань
Переривання повинні бути приховані якомога глибше в надрах операційної системи, щоб якомога менша частина ОС мала з ними справу. Найкращий спосіб полягає у вирішенні процесу, що ініціював операцію введення-виведення, блокувати себе до завершення операції і настання переривання. Процес може блокувати себе, використовуючи, наприклад, виклик DOWN для семафора, або виклик WAIT для змінної умови, або виклик RECEIVE для очікування повідомлення. При настанні переривання процедура обробки переривання виконує розблокування процесу, який ініціював операцію введення-виведення, використовуючи виклики UP, SIGNAL або посилаючи процесу повідомлення. У будь-якому випадку ефект від переривання буде полягати в тому, що раніше заблокований процес тепер продовжить своє виконання.
Драйвери пристроїв
Весь залежний від пристрою код поміщається в драйвер пристрою. Кожен драйвер управляє пристроями одного типу або, може бути, одного класу.
В операційній системі тільки драйвер пристрою знає про конкретні особливості якого-небудь пристрою. Наприклад, тільки драйвер диска має справу з доріжками, секторами, циліндрами, часом установлення головки та іншими чинниками, що забезпечують правильну роботу диска.
Драйвер пристрою приймає запит від пристроїв програмного шару і вирішує, як його виконати. Типовим запитом є читання n блоків даних. Якщо драйвер був вільний під час надходження запиту, то він починає виконувати запит негайно. Якщо ж він був зайнятий обслуговуванням іншого запиту, то знову надійшов запит приєднується до черги вже наявних запитів, і він буде виконаний, коли настане його черга.
Перший крок у реалізації запиту вводу-виводу, наприклад, для диска, полягає в перетворенні його з абстрактної форми в конкретну. Для дискового драйвера це означає перетворення номерів блоків у номери циліндрів, головок, секторів, перевірку, чи працює мотор, чи знаходиться голівка над потрібним циліндром. Коротше кажучи, він повинен вирішити, які операції контролера потрібно виконати і в якій послідовності.
Після передачі команди контролеру драйвер повинен вирішити, чи блокувати себе до закінчення заданої операції чи ні. Якщо операція займає значний час, як при друці деякого блоку даних, то драйвер блокується до тих пір, поки операція не завершиться, і обробник переривання не розблокує його. Якщо команда введення-виведення виконується швидко (наприклад, прокрутка екрана), то драйвер очікує її завершення без блокування.
Незалежний від пристроїв шар операційної системи
Більшість програмного забезпечення введення-виведення є незалежною від пристроїв. Точна межа між драйверами і незалежними від пристроїв програмами визначається системою, тому що деякі функції, які могли б бути реалізовані незалежним способом, в дійсності виконані у вигляді драйверів для підвищення ефективності або з інших причин.
Типовими функціями для незалежного від пристроїв шару є:
забезпечення загального інтерфейсу до драйверів пристроїв, іменування пристроїв, захист пристроїв, забезпечення незалежного розміру блоку, буферизація, розподіл пам'яті на блок-орієнтованих пристроях, розподіл і звільнення виділених пристроїв, повідомлення про помилки.
Зупинимося на деяких функціях даного переліку. Верхнім верствам програмного забезпечення не зручно працювати з блоками різної величини, тому даний шар забезпечує єдиний розмір блоку, наприклад, за рахунок об'єднання декількох різних блоків в єдиний логічний блок. У зв'язку з цим верхні рівні мають справу з абстрактними пристроями, які використовують єдиний розмір логічного блоку незалежно від розміру фізичного сектора.
При створенні файлу або заповненні його новими даними необхідно виділити йому нові блоки. Для цього ОС повинна вести список або бітову карту вільних блоків диска. На підставі інформації про наявність вільного місця на диску може бути розроблений алгоритм пошуку вільного блоку, незалежний від пристрою і реалізується програмним шаром, що знаходяться вище шару драйверів.
Користувацький шар програмного забезпечення
Хоча більша частина програмного забезпечення введення-виведення знаходиться всередині ОС, деяка його частина міститься в бібліотеках, що пов'язуються з одними програмами. Системні виклики, що включають виклики введення-виведення, зазвичай робляться бібліотечними процедурами. Якщо програма, написана на мові С, містить виклик
count = write (fd, buffer, nbytes),
то бібліотечна процедура write буде пов'язана з програмою. Набір подібних процедур є частиною системи введення-виведення. Зокрема, форматування введення або виведення виконується бібліотечними процедурами. Прикладом може служити функція printf мови С, яка сприймає рядок формату і, можливо, деякі змінні в якості вхідної інформації, потім будує рядок символів ASCII і робить виклик write для виведення цього рядка. Стандартна бібліотека введення-виведення містить велику кількість процедур, які виконують введення-виведення і працюють як частина призначеної для користувача програми.
Інший категорією програмного забезпечення вводу-виводу є підсистема спулінга (spooling). Спулінг - це спосіб роботи з виділеними пристроями в мультипрограмній системі. Розглянемо типовий пристрій, що вимагає спулінга - рядковий принтер. Хоча технічно легко дозволити кожному призначеному для користувача процесу відкрити спеціальний файл, пов'язаний з принтером, такий спосіб, небезпечний за того, що користувальницький процес може монополізувати принтер на довільне час. Натомість створюється спеціальний процес - монітор, який отримує виключні права на використання цього пристрою. Також створюється спеціальний каталог, званий каталогом спулінга. Для того, щоб надрукувати файл, призначений для користувача процес поміщає інформацію, що виводиться в цей файл і поміщає його в каталог спулінга. Процес-монітор по черзі роздруковує всі файли, що містяться в каталозі спулінга.
Недоміновані та домінуючі стратегії. Позначимо через вектор x без i – ї компоненти, тобто (сукупність стратегій усіх гравців за виключенням фіксованого i – го).
Визначення 1.1. Стратегія гравця i домінує його стратегію , якщо:
, ;
.
Таким чином, стратегія i – го гравця домінує його стратегію (позначатимемо це як ), якщо при виборі стратегії значення його цільової функції є не гіршим за значення цільової функції при виборі стратегії при довільних виборах своїх стратегій усіма іншими гравцями, при чому хоча б для одного набору стратегій інших гравців значення цільової функції для стратегії є кращим, ніж для стратегії . Іншими словами, вибираючи стратегію , гравець не погіршує свій виграш у порівнянні з вибором стратегії , причому хоча б в одному випадку значення цільової функції покращується.
Визначення
1.2.
Стратегія
гравця i
називається домінуючою
стратегією, якщо:
,
.
Множину домінуючих стратегій i-го
гравця позначатимемо через
.
Розглянемо приклад 1.1:
Таблиця 1.1.
3,2
5,1
2,1
3,1
3,1
4,2
2,1
3,1
2,1
3,1
2,1
2,1
–
стратегії
1-го гравця,
– другого.
У клітинах таблиці перше число є виграшем
першого гравця, друге – другого
(див. табл. 1.1).
У
фіксованій ситуації
виграш гравців знаходиться у клітині,
яка визначається стратегією
першого гравця й стратегією
– другого. Так, виграш у ситуації
рівний
– 4 одиниці має перший, 1 – другий (
,
).
Порівняємо стратегії
і
1-го гравця. Маємо:
(3=3),
(5>4),
(2=2),
(3=3).
Отже,
.
Аналогічно,
,
.
Звідси випливає, що стратегія
першого гравця є домінуючою:
.
Розглядаючи
стратегії другого гравця, маємо:
,
,
,
.
Але стратегії
і
"є непорівняними":
,
але
.
Отже,
.
Значення виграшів другого гравця на
стратегіях
і
при всіх виборах першого гравця одне і
теж (рівне 1). Такі стратегії називають
еквівалентними (
).
Визначення
1.3.
Стратегії
та
першого гравця називаються еквівалентними,
якщо:
.
Множину еквівалентних стратегій i
– го
гравця позначимо як
.
Визначення
1.4.
Стратегія
i-го
гравця називається недомінованою,
якщо не існує стратегії
,
яка б її домінувала:
.
Множину недомінованих стратегій i-го
гравця позначатимемо через
.
Повертаючись
до прикладу 1.1, маємо:
.
Зауважимо, що, очевидно,
(домінуючі стратегії є частинним випадком
недомінованих). Тому для прикладу 1.1:
.
Визначення
1.5.
Ситуація
називається рівновагою
у домінуючих стратегіях,
якщо
є домінуючою стратегією кожного гравця
(
).
Множина
називається множиною рівноваг у
домінуючих стратегіях.
Описові логіки (англ. Description logics, іноді ще їх називають дескрипційними логіками) - сімейство мов представлення знань, що дозволяють описувати поняттяпредметної області в недвозначному, формалізованому вигляді. Вони поєднують в собі, з одного боку, багаті виражальні можливості, а з іншого - хороші обчислювальні властивості, такі як розв'язність і відносно невисока обчислювальна складність основних логічних проблем, що робить можливим їх застосування на практиці. Таким чином, описові логіки представляють собою компроміс між виражальністю і розв'язність. Описову логіку можна розглядати як розв'язні фрагменти логіки предикатів, синтаксично ж вони близькі до модальних логік.
Свою сучасну назву ДЛ отримали в 1980-х. Колишні назви (в хронологічному порядку):термінологічні системи,логіки концептів. Спочатку описові логіки зародилися як розширення фреймових структур та семантичних мереж механізмами формальної логіки. В даний час описові логіки є важливими в концепції Семантичної павутини, де їх передбачається використовувати при побудові онтологій. Фрагменти OWL-DL та OWL-Lite мови веб-онтологій OWL також засновані на описовій логіці.
|
|
[ред.]Загальні відомості
Описові логіки оперують поняттями концепт і роль, відповідними в інших розділах математичної логіки поняттям «одномісний предикат» (або множина, клас) та «двомісний предикат» (або бінарне відношення). Інтуїтивно, концепти використовуються для опису класів деяких об'єктів, наприклад, «Люди», «Жінки», «Машини». Ролі використовуються для опису двомісних відносин між об'єктами, наприклад, на безлічі людей є двомісне відношення «X є_родич_для Y», а між людьми і машинами є двомісне відношення «X має_у_власності Y», де в якості X і Y можна підставляти довільні предмети. За допомогою мови Описової логіки можна формулювати твердження загального вигляду - про класи взагалі (будь-яка Жінка є Людина, будь-яка Машина є_у_власності не більше ніж у однієї Людини) та приватного виду - про конкретні об'єкти (Марія є жінка, Іван має_у_власності_машину1).
На жаргоні описової логики набір тверджень загального вигляду називається TBox, набір тверджень приватного виду - ABox, а разом вони складають так звану базу знань або онтологію . Численні онтології побудовані і будуються в самих різних предметних областях, таких як біоінформатика, генетика, медицина, хімія, біологія. Як тільки онтологія побудована, постає питання про те, як можна отримувати знання, які слідують з наявних в онтології знань, чи можна це робити програмно і які відповідні алгоритми. Всі ці питання вирішуються теоретично в науці «описова логіка», а практично вже реалізовано безліч програмних систем (reasoners), які і дозволяють автоматизовано виводити знання з онтологій та виконувати інші операції з онтологіями.
[ред.]Синтаксис
В математичній логіці будь-яка мова характеризується своїм синтаксисом, тобто правилами побудови виразів цієї мови, і семантикою, тобто способом приписування цим висловам деякого формального значення, наприклад, зазначенням, які вирази вважаються істинними та помилковими.
Щоб сформулювати синтаксис будь-якої описової логіки, необхідно задати непусті(і зазвичай кінцеві) множини символів - так званих атомарних концептів і атомарних ролей - з яких будуватимуться вирази мови даної логіки. Конкретна описова логіка характеризується набором конструкторів і індуктивного правила, за допомогою якогоскладові концепти даної логіки будуються з атомарних концептів і атомарних ролей, використовуючи ці конструктори.
Типовими конструкторами для побудови складових концептів є:
перетин (або кон'юнкція) концептів, позначається як
;об'єднання (або диз'юнкція) концептів, позначається як
;доповнення (або заперечення) концепту, позначається як
;Обмеження на значення ролі (або обмеження квантором загальності), позначається як
;Екзистенціальне обмеження (або обмеження квантором існування), позначається як
;Чисельні обмеження на значення ролі, наприклад:
,
,
та інші.
Як бачимо, в описовій логіці кон'юнкція і диз'юнкція позначаються інакше, щоб підкреслити відмінність від інших видів логік. Існують описові логіки, в яких є такожскладові ролі, що будуються з простих ролей за допомогою операцій: інверсії, перетину, об'єднання, доповнення, композиції ролей, транзитивного замикання та інших. [1]
[ред.]Синтаксис логікиALC
Описова
логіка
(от Attributive Language
with Complement)
була введена в 1991 році [2] і
є однією з базових описових логік, на
основі яких будуються багато інших
описових логік. Нехай задані непусті
кінцеві множини атомарних концептів і
атомарних ролей. Тоді наслідок є
індуктивним визначенням складових
концептів логіки
(для
стислості в цьому визначенні будемо
називати їх просто концептами):
Всякий атомарний концепт є концептом;
Вираження
і
є
концептами;Якщо
є
концепт, то його доповнення
є
концептом;Якщо і
є
концепти, то їх перетин
і об'єднання
є
концептами;Якщо є концепт, а
є
роль, то вираження
і
є
концептами.
Примітка. Строго кажучи, - це не одна логіка, а сімейство логік, де кожна логіка цього сімейства задається вибором конкретних множин атомарних концептів і ролей. Це аналогічно завданню сигнатури теорії першого порядку. Однак, цим розходженням зазвичай нехтують, що ми і будемо робити надалі.
[ред.]Семантика
Семантика описової логіки задається шляхом інтерпретації її атомарних концептів як множин об'єктів (індивідів), обираних з деякої фіксованої множини (домену), а атомарних ролей - як множин пар індивідів, тобто бінарних відносин на домені.
Формально, інтерпретація
складається
з непорожньої безлічі
(домену)
і інтерпритуючої функції, яка зіставляє
кожному атомарному концепту
деяка
підмножина
,
а кожній атомарної ролі
-
деяка підмножина
.
Якщо пара індивідів належить інтерпретації
деякої ролі
,
тобто
,
то говорять, що індивід
є
-послідовником індивіда
.
Далі інтерпретована функція поширюється на складові концепти і ролі. Оскільки останні в кожній описовій логіці різні, то як приклад розглянемо семантику для описаної вище логіки .
[ред.]Семантика логікиALC
Інтерпретуюча функція поширюється на складові концепти логіки за такими правилами:
інтерпретується як весь домен:
інтерпретується як пуста множина:
Доповнення концепту інтерпретується як доповнення множини:
Перетин концептів інтерпретується як перетин множин:
Об'єднання концептів інтерпретується як об'єднання множин:
Вираз інтерпретується як безліч тих індивідів, у яких усі -послідовники належать інтерпретації концепту . Формально:
Вираз інтерпретується як безліч тих індивідів, у яких є -послідовник, що належить інтерпретації концепту . Формально:
Приклад. Нехай
домен інтерпретації
складається
з усіх людей, атомарний концепт
інтерпретований
як безліч людей чоловічої статі, а
роль
як
відношення «є батько для». Тоді
концепт
буде
інтерпретований як безліч людей, у яких
всі діти чоловічої статі, а концепт
-
як безліч «батьків», тобто людей чоловічої
статі, які мають хоча б одну дитину.
[ред.]Зв'язок з модальної логікою
На
перший погляд синтаксис ДЛ є незвичним
для тих, хто знайомий з «традиційними»
логіками ( логікою
висловлювань, логікою
предикатів, модальною
логікою та
ін ). Проте вже в 1991 році [3] було
помічено, що описова логіка
є
не що інше, як записана в інших
позначеннях модальна
логіка
,
що має
незалежних
модальностей. А саме, якщо в
є
атомарні концепти
і
атомарні ролі
,
то відповідність між логіками здійснюється
наступним чином:
Атомарні концепти
переходять
в пропозиційні змінні
модальної
логіки;Перетин
,
об'єднання
і
доповнення
концептів
переходить в булеві зв'язки кон'юнкцію
,
диз'юнкцію
і
заперечення
;Вираз
переходить
в
,
а вираз
переходить
в
.
Наприклад,
концепт
переходить
в модальну формулу
.
При такому перетворенні будь-який
складовий концепт логіки
перетворюється
на правильно побудовану формулу модальної
логіки
,
причому будь-яка модальна формула є
перекладом деякого концепту (тим самим,
це один і той же мова, тільки записана
в двох різних системах позначень). Більш
того, дане перетворення узгоджується
з вищеописаною семантикою логіки
з
одного боку і семантикою
Кріпке модальної
логіки з іншого.
Цей прийом, який застосовується як до описаних двох логік, так і до різних їх розширень, дозволяє перенести в область описових логік численні відомі факти про модальні логіки, наприклад, про їх розв'язності, обчислювальні складності , розв'зувані процедури та інших важливих властивостях (скінченність моделей, деревовидність моделей і т.п.).
[ред.]Зв'язок з логікою предикатів
Багато
описових логік, включаючи
,
можна розглядати як фрагменти логіки
предикатів при
«природному» перекладі концептів в
предикатні формули. Якщо в
є
атомарні концепти
і
атомарні ролі
,
то для перекладу вводяться одномісні
предикатні символи
і
двомісні предикатні символи
,
а сам переклад задається індуктивно
наступним чином:
Атомарні концепти переходять у формули
;Перетин , об'єднання і доповнення концептів переходить в булеві зв'язки кон'юнкцію , диз'юнкцію і заперечення ;
Вираз
переходить
в
;Вираз
переходить
в
.
В
останніх двох пунктах змінна
-
нова(не зустрічалася раніше), а
є
переклад концепту
(який
вже побудований за припущенням індукції).
Легко
бачити, що даний переклад узгоджується
з описаною вище семантикою описової
логіки, тобто в будь-якій інтерпретації,
якщо атомарні концепти
і
атомарні ролі
інтерпретовані
так само, як відповідні їм предикати
і
,
то і будь-який складовий концепт
інтерпретується тією ж самою множиною,
що і відповідна йому при перекладі
предикатна формула від однієї змінної.
Слід також зазначити, що не всяка формула
логіки предикатів є перекладом якогось
концепту; наприклад, формула
не
є такою.
В даному перекладі можна обійтися всього двома змінними, [4] і таким чином описову логіку (а також багато її розширень) можна розглядати як фрагменти логіки предикатів з двома змінними, яка, як відомо, розв'язувана. [5] Цей переклад дозволяє переносити результати про можливості розв'язання, обчислювальні складності, розвязувані алгоритми і т.п. з області логіки предикатів в область описових логік.
Найбільш росповсюджені моделі це ---- ієрархічна, мережева і реляційна. Підмодель - це складова частина моделі.
Математи́чна модель— система математичних співвідношень, які описують досліджуваний процес або явище.
Математические
модели теории игр
На
практике часто приходится сталкиваться
с задачами, в которых необходимо принимать
решения в условиях неопределенности,
т. е. возникают ситуации, в которых
две стороны преследуют различные цели
и результаты действия каждой из сторон
зависят от мероприятий противника (или
партнера).
Ситуация, в которой
эффективность принимаемого одной
стороной решения зависит от действий
другой стороны, называется конфликтной.
Конфликт всегда связан с определенного
рода разногласиями (это не обязательно
антагонистическое противоречие).
Конфликтная ситуация называется
антагонистической,
если увеличение выигрыша одной из сторон
на некоторую величину приводит к
уменьшению выигрыша другой стороны на
такую же величину, и наоборот.
В
экономике конфликтные ситуации
встречаются очень часто и имеют
многообразный характер. Например,
взаимоотношения между поставщиком и
потребителем, покупателем и продавцом,
банком и клиентом. Каждый из них имеет
свои интересы и стремится принимать
оптимальные решения, помогающие
достигнуть поставленных целей в
наибольшей степени. При этом каждому
приходится считаться не только со своими
целями, но и с целями партнера и учитывать
решения, которые эти партнеры будут
принимать (они заранее могут быть
неизвестны). Чтобы в конфликтных ситуациях
принимать оптимальные решения, создана
математическая теория конфликтных
ситуаций, которая называется теорией
игр.
Возникновение этой теории относится к
1944 г., когда была издана монография Дж.
фон Неймана «Теория игр и экономическое
поведение»
Игра – это математическая
модель реальной конфликтной ситуации.
Стороны, участвующие в конфликте,
называются игроками. Исход конфликта
называется выигрышем. Правила игры –
это система условий, определяющая
варианты действий игроков; объем
информации каждого игрока о поведении
партнеров; выигрыш, к которому приводит
каждая совокупность действий.
Игра
называется парной,
если в ней участвуют два игрока, и
множественной,
если число игроков больше двух. Мы будем
рассматривать только парные игры. Игроки
обозначаются A
и B.
Игра называется антагонистической
(с
нулевой суммой),
если выигрыш одного из игроков равен
проигрышу другого.
Выбор и осуществление
одного из вариантов действий,
предусмотренных правилами, называется
ходом
игрока. Ходы могут быть личными и
случайными.
Личный
ход
– это сознательный выбор игроком одного
из вариантов действий (например, в
шахматах).
Случайный
ход
– это случайно выбранное действие
(например, бросание игральной кости).
Мы будем рассматривать только личные
ходы.
Стратегия
игрока
– это совокупность правил, определяющих
поведение игрока при каждом личном
ходе. Обычно в процессе игры на каждом
этапе игрок выбирает ход в зависимости
от конкретной ситуации. Возможно также,
что все решения приняты игроком заранее
(т. е. игрок выбрал определенную
стратегию).
Игра называется конечной,
если у каждого игрока имеется конечное
число стратегий, и бесконечной
– в противном случае.
Цель теории
игр – разработать методы для определения
оптимальной стратегии каждого игрока.
Стратегия игрока называется
оптимальной,
если она обеспечивает этому игроку при
многократном повторении игры максимально
возможный средний выигрыш (или минимально
возможный средний проигрыш независимо
от поведения противника).
Пример
1.
Каждый из игроков, A
или B
, может записать, независимо от другого,
цифры 1, 2 и 3. Если разность между цифрами,
записанными игроками, положительна, то
A
выигрывает количество очков, равное
разности между цифрами. Если разность
меньше 0, выигрывает B.
Если разность равна 0 – ничья.
У
игрока A
три стратегии (варианта действия): A1=
1 (записать 1), A2=
2, A3=
3, у игрока
тоже
три стратегии: B1,
B2,
B3.
|
B1= 1 |
B2= 2 |
B3= 3 |
A1 = 1 |
0 |
-1 |
-2 |
A2= 2 |
1 |
0 |
-1 |
A3= 3 |
2 |
1 |
0 |
Задача игрока A – максимизировать свой выигрыш. Задача игрока B – минимизировать свой проигрыш, т. е. минимизировать выигрыш A. Это парная игра с нулевой суммой.
Процес – це система дій, яка реалізує певну функцію в обчислювальній системі і оформлена так, що керуюча програма обчислювальної системи може перерозподіляти ресурси цієї системи з метою забезпечення багатопрограмного режиму роботи.
Ця система дій може відбуватися по різному. Програмі в деякий момент часу може бути наданий процесор для виконання або можуть бути надані результати роботи інших процесів або інших ресурсів. Одним словом ходом виконання програми (процесу) необхідно керувати. Функція системних програм в загальному випадку, а операційної системи зокрема – забезпечення ефективного керування процесами, як по відношенню до кожного процесу, так і до їх сукупності.
Стани процесів:
Рис. 1.
При виконанні програм на процесорі обчислювальної системи визначають наступні стани процесора:
Passive – процес завантаження в пам’ять, але його виконання ще неініційоване.
Ready – процес готовий до виконання (очікує ресурс центрального процесора).
Run – процес виконується на центральному процесорі.
Wait – процес очікує звільнення необхідного ресурсу.
В залежності від типу очікуваного ресурсу розрізняють системи:
з обмеженням по вводу/виводу (в таких системах найбільший час очікування витрачається процесом при зверненні до підсистем вводу/виводу);
з обмеженням по швидкодії (найбільший час витрачається на доступ до процесора).
Будь – який процес може знаходитись в одному з перерахованих станів один раз в певний момент часу.
Умови зміни станів процесу (з Рис.1.)
2 – активізація процесу програмою – диспетчером або ОС;
3 – диспетчеризація процес;
4 – виникнення переривань;
5 – запитом процесом певної системної функції в складі ОС (можливе створення певного процесу);
6 – запитом процесом певної системної функції (вводу/виводу);
7 – завершення виконання системної функції;
8 – зупинка виконання процесу;
1 – завершення виконання процесу.
В загальному випадку процес складається з:
коду процесу;
підсистеми керуванням процесу;
підсистеми даних.
Код процесу – це його ідентифікаційний номер для його ідентифікації в ОС.
Підсистема керування процесом – містить наступну інформацію:
символічний ідентифікатор процесу – це символічне ім’я процесу, яке присвоюється йому системою – планувальником і виконується для визначення стану процесу;
пріоритет процесу – встановлюється як системним планувальником так і користувачем, може бути змінений диспетчером процесів функціонування;
посилання на попередній процес в черзі процесу і на наступний;
ідентифікатор поточного стану процесу;
квант процесорного часу наданий даному процесу.
Стек процесу може бути розміщений як в підсистемі керування процесу, так і підсистемі даних. В будь–якому випадку адреса вершини стеку на його місткість відомі з метою збереження поточного стану процесу при перериванні його виконання.
Підсистема даних – містить вказівники на зовнішні змінні (семафори, прапорці, зовнішні буфери вводу/виводу), внутрішні змінні, опис спеціалізованих пристроїв, які можуть бути використані даним процесом.
