Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Приклад: Гільбертові системи для двопропозиційних логікСодержание книги
Поиск на нашем сайте У гільбертовій системі[en] передумови та висновки правил виведення є просто формулами якоїсь мови, зазвичай із застосуванням метазмінних. Задля графічної компактності та для підкреслення різниці між аксіомами та правилами виведення цей розділ використовує послідовний запис (⊢) замість вертикального представлення правил. Формальну мову класичної пропозиційної логіки може бути виражено з використанням лише заперечення (), імплікації (→) та пропозиційних символів. Загальновідома аксіоматизація, що включає схему з трьох аксіом та одне правило виведення (modus ponens): (CA1) ⊢ A → (B → A)(CA2) ⊢ (A → (B → C)) → ((A → B) → (A → C)) (CA3) ⊢ (A → B) → (B → A) (MP) A, A → B ⊢ B Може здаватися зайвим мати два поняття виведення у цьому випадку, ⊢ та →. У класичній пропозиційній логіці вони дійсно збігаються; теорема дедукції[en] свідчить, що A ⊢ B тоді й лише тоді, коли ⊢ A → B. Проте навіть у цьому випадку існує варта уваги відмінність: перший запис описує дедукцію, що є діяльністю з переходу від виразів до виразів, тоді як A → B є просто формулою, зробленою із застосуванням логічного сполучника, в даному випадку імплікації. Без правила виведення (як modus ponens у даному випадку) немає дедукції або виведення. Цей момент ілюструється в діалозі Льюїса Керрола «Що Черепаха сказала Ахіллові»[en].[3] Для деяких некласичних логік теорема дедукції не виконується. Наприклад, тризначну логіку Ł3 Лукашевича може бути аксіоматизовано таким чином:[4] (CA1) ⊢ A → (B → A)(LA2) ⊢ (A → B) → ((B → C) → (A → C)) (CA3) ⊢ (A → B) → (B → A) (LA4) ⊢ ((A → A) → A) → A (MP) A, A → B ⊢ B Ця послідовність відрізняється від класичної логіки зміною аксіоми 2 та додаванням аксіоми 4. Класична теорема дедукції для цієї логіки не виконується, проте виконується видозмінена форма, а саме A ⊢ B тоді й лише тоді, коли ⊢ A → (A → B).[5] Прийнятність та вивідність Детальніші відомості з цієї теми Ви можете знайти в статті Правило прийнятності [en]. Правило виведення може бути зайвим у наборі правил в тому сенсі, що воно є прийнятним або вивідним. Вивідне правило — це таке правило, чиї висновки може бути виведено з його передумов за допомогою інших правил. Прийнятним є таке правило, чиї висновки виконуються, коли виконуються його передумови. Усі вивідні правила є прийнятними. Щоби оцінити різницю, розгляньмо наступний набір правил для визначення натуральних чисел (судження[en]
Перше правило стверджує, що 0 є натуральним числом, а друге стверджує, що s(n) є натуральним числом, якщо ним є n. У цій системі доведення наступне правило, що демонструє, що другий наступник (англ. successor) натурального числа також є натуральним числом, є вивідним:
Його виведенням є композиція двох застосувань правила наступника, наведеного вище. Наступне правило для ствердження існування попередника будь-якого ненульового числа є лише прийнятним:
Це є дійсним фактом натуральних чисел, оскільки його може бути доведено індукцією. (Щоби довести, що це правило є прийнятним, розгляньте виведення передумови, і зробіть індуктивний перехід за ним, отримавши виведення
У цій новій системі правило другого наступника залишається вивідним. Однак правило знаходження попередника більше не є прийнятним, оскільки немає немає способу вивести Прийнятні правила можна розглядати як теореми системи доведення. Наприклад, у численні секвенцій, в якому виконується усунення перетинів[en], правило перетину є прийнятним. Проблема вибору Проблема вибору має тільки два можливих виходи, так чи ні (або 1 чи 0) для будь-якого входу. У теорії обчислень і теорії складності обчислень, проблема вибору або задача про приймання рішень це запитання в деякій формальній системі з відповіддю так або ні, залежно від значення деяких вхідних параметрів. Наприклад, «дані два числа x і y, чи ділиться x на y без залишку?» — проблема вибору. Відповідь може бути або 'так' або 'ні', і залежить від значень x і y. Метод розв'язання проблеми вибору даний у формі алгоритму називається алгоритмом вибору, алгоритмом приймання рішень або розв’язувальною процедурою для цієї проблеми. Розв'язувальна процедура для проблеми вибору «дані два числа x і y, чи x ділиться на y без залишку?" має надати покроковий набір дій для визначення чи ділиться x на y без залишку для даних x і y. Одним з таких алгоритмів є ділення в стовпчик. Якщо залишок нуль, тоді відповідь 'так' інакше 'ні'. Проблема вибору, яка може бути розв'язана за допомогою алгоритму, такого як в цьому прикладі, зветься розв'язною. Теорія складності обчислень розрізняє розв'язні проблеми вибору за складністю їхнього розв'язання. «Складний», у цьому значені, описаний в термінах обчислювальних ресурсів потрібних найефективнішому алгоритму для певної проблеми. Теорія обчислень, тим часом, розрізняє нерозв'язні проблеми вибору за степенем Тюрінга, який є мірою неров'язності властивої будь-якому розв'язку. Дослідження в теорії обчислень зазвичай сфокусовані на проблемах вибору, від цього не втрачається загальність, бо кожна функціональна проблема може бути перетворена у проблему вибору.
Алгори́тм пошуку́ в глибину́ (англ. Depth-first search, DFS) — алгоритм для обходу графа, робота якого починається з кореня дерева (або іншої обраної вершини в графі) і здійснюється обхід на максимально можливу глибину до переходу на наступну вершину. Порядок обходу вершин наведений на рис.17.5. Нехай Крок 1. Почати з довільної вершини v. Виконати DFS (v):=1. Включити вершину v у стек. Крок 2. Розглянути вершину у верхівці стеку - нехай це вершина х. Якщо всі ребра, інцидентні вершині х, позначено, то перейти до кроку 4, інакше - до кроку 3. Крок 3. Нехай { x, y } - непозначене ребро. Якщо DFS (у) уже визначено, то позначаємо ребро { x, y } і визначаємо DFS (у) як черговий DFS -номер, включаємо цю вершину в стек і переходимо до кроку 2. Крок 4. Виключити вершину х зі стеку. Якщо стек порожній, то зупинитись, інакше - перейти до кроку 2. Обчислювальною складністю алгоритму (або просто складністю) назвемо кількість кроків виконуваних алгоритмом в гіршому випадку. Вона є функцією від розмірності задачі, представленої вхідними даними. Наприклад, для графа, що задається списками інцидентності, розмірність задачі представляється як пара По́шук у ширину́ — алгоритм пошуку на графі.[1] Якщо задано граф G = (V, E) та початкову вершину s, алгоритм пошуку в ширину систематично обходить всі досяжні із s вершини. На першому кроці вершина s позначається, як пройдена, а в список додаються всі вершини, досяжні з s без відвідування проміжних вершин. На кожному наступному кроці всі поточні вершини списку відмічаються, як пройдені, а новий список формується із вершин, котрі є ще не пройденими сусідами поточних вершин списку. Для реалізації списку вершин найчастіше використовується черга. Виконання алгоритму продовжується до досягнення шуканої вершини або до того часу, коли на певному кроці в список не включається жодна вершина. Другий випадок означає, що всі вершини, доступні з початкової, уже відмічені, як пройдені, а шлях до цільової вершини не знайдений. Алгоритм має назву пошуку в ширину, оскільки «фронт» пошуку (між пройденими та непройденими вершинами) одноманітно розширюється вздовж всієї своєї ширини. Тобто, алгоритм проходить всі вершини на відстані k перед тим як пройти вершини на відстані k +1.[1] Пошук у ширину
Порядок обходу вершин.
Наведемо кроки алгоритму
Двонапра́влений по́шук — ускладнений алгоритм пошуку ушир або пошуку углиб, в основі якого лежить така ідея, що можна одночасно проводити два пошуки (в прямому напрямку, від початкового стану, та у зворотному напрямку, від цілі), зупиняючись після того, як два процеса пошуку зустрінуться на середині (Рис. 1). Файл:Bidirectional search.PNG Рис. 1. Схема двонаправленого пошуку. Тут він має успішно завершитися після того, як одна з гілок, що йде з початкового вузла, зустрінеться з гілкою з цільового вузла
|
||
|
Последнее изменение этой страницы: 2016-06-24; просмотров: 403; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.01 с.) |