Информатика лекция 4 Алгебра логики (алгебра

Скачать презентацию Информатика  лекция 4  Алгебра логики (алгебра Скачать презентацию Информатика лекция 4 Алгебра логики (алгебра

informatika_2_(lekcii_4,_5).ppt

  • Размер: 1,002.0 Кб
  • Автор:
  • Количество слайдов: 29

Описание презентации Информатика лекция 4 Алгебра логики (алгебра по слайдам

Информатика  лекция 4 Информатика лекция

Алгебра логики (алгебра высказываний) — раздел математической логики, в котором изучаются логические операции надАлгебра логики (алгебра высказываний) — раздел математической логики, в котором изучаются логические операции над высказываниями. Чаще всего предполагается (т. н. бинарная или двоичная логика, в отличие от, например, троичной логики), что высказывания могут быть только истинными или ложными. Своим существованием наука «алгебра логики» обязана английскому математику Джорджу Булю, который исследовал логику высказываний (1854 г. ). Первый в России курс по алгебре логики был прочитан П. С. Порецким в Казанском государственном университете. Логическое высказывание — упрощение термина «Суждение» из формальной логики, используется в математической логике. Высказыванием является повествовательное предложение, которое формализует некоторое выражение мысли. Это утверждение, которому всегда можно поставить в соответствие одно из двух логических значений: ложь (0, ложно, false) или истина (1, истинно, true). Логическое высказывание принято обозначать заглавными латинскими буквами. Высказывательной формой называется логическое высказывание, в котором один из объектов заменён переменной. При подстановке вместо переменной какого-либо значения высказывательная форма превращается в высказывание. Пример: A(x) = «В городе x идет дождь. » A — высказывательная форма, x — объект. Высказывание обычно имеет только одно логическое значение. Так, например, «Париж — столица Франции» — высказывание, а «На улице идет дождь» — не высказывание. Аналогично, « 5>3» — высказывание, а « 2+3» — не высказывание. Как правило, высказывания обозначают маленькими латинскими буквами.

Алгебра логики Базовыми элементами, которыми оперирует алгебра логики, являются высказывания. Высказывания строятся над множествомАлгебра логики Базовыми элементами, которыми оперирует алгебра логики, являются высказывания. Высказывания строятся над множеством , где B — непустое множество, над элементами которого определены три операции: — отрицание (унарная операция), — конъюнкция (бинарная), — дизъюнкция (бинарная), а также константы — логический ноль 0 и логическая единица 1. Дизъ нкт — пропозициональная формула, являющаяся дизъюнкцией одного юю или более литералов. Конъюнкт — пропозициональная формула, являющаяся конъюнкцией одного или более литералов. 1, 0, ,

Аксиомы алгебры логики Аксиомы: 1) Дизъюнкция двух переменных равна 1, если хотя  быАксиомы алгебры логики Аксиомы: 1) Дизъюнкция двух переменных равна 1, если хотя бы одна переменная равна 1 0+0=0 0+1=1 1+0=1 1+1=1 2 ) Конъюнкция двух переменных равна 0, если хотя бы одна переменная равна 0 0 ∙ 0=0 0 ∙ 1=0 1 ∙ 0=0 1 ∙ 1=1 3) Инверсия 10,

Законы алгебры логики 1. Законы однопарных элементов Универсального множества X +1=1 X ∙ 1Законы алгебры логики 1. Законы однопарных элементов Универсального множества X +1=1 X ∙ 1 = X нулевого множества X + 0 = X X ∙ 0 = 0 2. Законы отрицания. Моргана де , , ьностидополнител 0, 1 , отрицания двойного 2121 xxxx xx

Законы алгебры логики Комбинационные законы склеивания , абсорбции , вныедистрибути, ные, ассоциатив , ,Законы алгебры логики Комбинационные законы склеивания , абсорбции , вныедистрибути, ные, ассоциатив , , ныекоммутатив , , тавтологии, 12121 12111121 3121321 312321 1221 xxxxx xxxxxxx xxxxxx

Понятие алгоритма Алгор тм, от имени учёного аль-Хорезми (перс. ию یمزراوخ  [ al-Khwārazmī])Понятие алгоритма Алгор тм, от имени учёного аль-Хорезми (перс. ию یمزراوخ [ al-Khwārazmī]) — точный набор инструкций, описывающих порядок действий исполнителя достижения результата решения задачи за конечное время. В старой трактовке вместо слова «порядок» использовалось слово «последовательность» , но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок» . Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система. Ранее часто писали «алгорифм» , сейчас такое написание используется редко, но, тем не менее, имеет место (например, Нормальный алгорифм Маркова). Часто в качестве исполнителя выступает некоторый механизм (компьютер, токарный станок, швейная машина), но понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек.

Понятие алгоритма Единого «истинного» определения понятия «алгоритм» нет.  «Алгоритм — это конечный наборПонятие алгоритма Единого «истинного» определения понятия «алгоритм» нет. «Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность» . (Д. Э. Кнут) «Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи» . (А. Колмогоров) «Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату» . (А. Марков) «Алгоритм — точное предписание о выполнении в определённом порядке некоторой системы операций, ведущих к решению всех задач данного типа» . (Философский словарь / Под ред. М. М. Розенталя) «Алгоритм — строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд» . (Николай Дмитриевич Угринович, учебник «Информатика и информ. технологии» )

Формальные свойства алгоритмов Различные определения алгоритма в явной или неявной форме содержат следующий рядФормальные свойства алгоритмов Различные определения алгоритма в явной или неявной форме содержат следующий ряд общих требований: Дискретность — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно. Детерминированность (определённость). В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных» , вероятностный алгоритм становится подвидом обычного. Понятность — алгоритм для исполнителя должен включать только те команды, которые ему (исполнителю) доступны, которые входят в его систему команд. Завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. [источник не указан 271 день] С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0. Массовость (универсальность). Алгоритм должен быть применим к разным наборам исходных данных. Результативность — завершение алгоритма определёнными результатами. Алгоритм содержит ошибки, если приводит к получению неправильных результатов либо не даёт результатов вовсе. Алгоритм не содержит ошибок, если он даёт правильные результаты для любых допустимых исходных данных.

История возникновения алгоритма Современное формальное определение алгоритма было дано в 30— 50 -х годыИстория возникновения алгоритма Современное формальное определение алгоритма было дано в 30— 50 -х годы XX века в работах Тьюринга, Поста, Чёрча (тезис Чёрча — Тьюринга), Н. Винера, А. А. Маркова. Само слово «алгоритм» происходит от имени учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми (алгоритм — аль-Хорезми). Около 825 года он написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал книги не сохранился. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как «цифра» и «шифр» ). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название Algoritmi de numero Indorum ( «Алгоритмы о счёте индийском» ). По-арабски же книга именовалась Китаб аль-джебр валь-мукабала ( «Книга о сложении и вычитании» ). Из оригинального названия книги происходит слово Алгебра (алгебра — аль-джебр — сложение). В средние века: Алгоритм — это искусство счёта с помощью цифр, но поначалу слово «цифра» относилось только к нулю. 1360 г. французский философ Николай Орем (Nicolaus Oresme, 1323/25 -1382) написал математический трактат Algorismus proportionum ( «Вычисление пропорций» ), в котором впервые использовал степени с дробными показателями и фактически вплотную подошёл к идее логарифмов. В 1684 году Готфрид Лейбниц в сочинении Nova Methodvs pro maximis et minimis, itemque tangentibus… впервые использовал слово «алгоритм» ( Algorithmo) в ещё более широком смысле: как систематический способ решения проблем дифференциального исчисления. К началу XX в. для математиков слово «алгоритм» уже означало любой арифметический или алгебраический процесс, выполняемый по строго определённым правилам

Виды алгоритмов Прикладные алгоритмы , предназначенные для решения определённых прикладных задач. int factorial(int n)Виды алгоритмов Прикладные алгоритмы , предназначенные для решения определённых прикладных задач. int factorial(int n) { int result = 1; for ( int i = 2; i <= n; i++ ) { result *= i; } return result; } Рекурсивные алгоритмы Рек рсия — процесс повторения чего-либо самоподобным способом. Например, ую вложенные отражения, производимые двумя точно параллельными другу зеркалами, являются одной из форм бесконечной рекурсии. Данный термин имеет более специальные значения в различных областях знаний — от лингвистики до логики. В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная или косвенная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии. Преимущество рекурсивного определения объекта заключается в том, что такое конечное определение теоретически способно описывать бесконечно большое число объектов. С помощью рекурсивной программы же возможно описать бесконечное вычисление, причём без явных повторений частей программы. int factorial(int n) { if ( n <= 1 ) { return 1; } return n * factorial(n — 1); }

Формы описания алгоритмов Алгоритм может быть записан словами и изображён схематически. Обычно сначала (наФормы описания алгоритмов Алгоритм может быть записан словами и изображён схематически. Обычно сначала (на уровне идеи) алгоритм описывается словами, но по мере приближения к реализации он обретает всё более формальные очертания и формулировку на языке, понятном исполнителю (например, машинный код). Например, для описания алгоритма применяются блок-схемы. Другим вариантом описания, не зависимым от языка программирования, является псевдокод. Блок-схемы: ГОСТ 19. 701 -90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. Для программной документации (устарели, заменяются ГОСТ 19. 701 -90): • ГОСТ 19. 002 -80. Схемы алгоритмов и программ. Правила выполнения. • ГОСТ 19. 003 -80. Схемы алгоритмов и программ. Обозначения условные графические.

Блок-схемы Блок-схемы

Формы описания алгоритмов Алан Тьюринг высказал предположение (известное как Тезис Чёрча — Тьюринга), чтоФормы описания алгоритмов Алан Тьюринг высказал предположение (известное как Тезис Чёрча — Тьюринга), что любой алгоритм в интуитивном смысле этого слова может быть представлен эквивалентной машиной Тьюринга. Уточнение представления о вычислимости на основе понятия машины Тьюринга (и других эквивалентных ей понятий) открыло возможности для строгого доказательства алгоритмической неразрешимости различных массовых проблем (то есть проблем о нахождении единого метода решения некоторого класса задач, условия которых могут варьироваться в известных пределах). Простейшим примером алгоритмически неразрешимой массовой проблемы является так называемая проблема применимости алгоритма (называемая также проблемой остановки). Она состоит в следующем: требуется найти общий метод, который позволял бы для произвольной машины Тьюринга (заданной посредством своей программы) и произвольного начального состояния ленты этой машины определить, завершится ли работа машины за конечное число шагов, или же будет продолжаться неограниченно долго. В настоящее время теория алгоритмов развивается, главным образом, по трем направлениям. Классическая теория алгоритмов изучает проблемы формулировки задач в терминах формальных языков, вводит понятие задачи разрешения, проводит классификацию задач по классам сложности (P, NP и др. ). Теория асимптотического анализа алгоритмов рассматривает методы получения асимптотических оценок ресурсоемкости или времени выполнения алгоритмов, в частности, для рекурсивных алгоритмов. Асимптотический анализ позволяет оценить рост потребности алгоритма в ресурсах (например, времени выполнения) с увеличением объема входных данных. Теория практического анализа вычислительных алгоритмов решает задачи получения явных функции трудоёмкости, интервального анализа функций, поиска практических критериев качества алгоритмов, разработки методики выбора рациональных алгоритмов.

Маш на Ть ринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина). Была предложена июююМаш на Ть ринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина). Была предложена иююю Аланом Тьюрингом в 1936 году для формализации понятия алгоритма. Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать все другие исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен. В состав машины Тьюринга входит бесконечная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент), разделённая на ячейки, и управляющее устройство, способное находиться в одном из множества состояний. Число возможных состояний управляющего устройства конечно и точно задано. Управляющее устройство может перемещаться влево и вправо по ленте, читать и записывать в ячейки ленты символы некоторого конечного алфавита. Выделяется особый пустой символ, заполняющий все клетки ленты, кроме тех из них (конечного числа), на которых записаны входные данные. Управляющее устройство работает согласно правилам перехода, которые представляют алгоритм, реализуемый данной машиной Тьюринга. Каждое правило перехода предписывает машине, в зависимости от текущего состояния и наблюдаемого в текущей клетке символа, записать в эту клетку новый символ, перейти в новое состояние и переместиться на одну клетку влево или вправо. Некоторые состояния машины Тьюринга могут быть помечены как терминальные, и переход в любое из них означает конец работы, остановку алгоритма. Машина Тьюринга называется детерминированной, если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ — состояние» , для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной. Формы описания алгоритмов

Норм льный алгор тм М ркова (НАМ) — один из стандартных способов формального определенияНорм льный алгор тм М ркова (НАМ) — один из стандартных способов формального определения аюиюаю понятия алгоритма, так же как и машина Тьюринга. Понятие нормального алгоритма введено А. А. Марковым в конце 1940 -х годов. Традиционно, когда говорят об алгоритмах Маркова, используют слово «алгорифм». Нормальный алгоритм описывает метод переписывания строк, похожий по способу задания на формальные грамматики. НАМ является Тьюринг-полным языком, что делает его по выразительной силе эквивалентным машине Тьюринга и следовательно современным языкам программирования. На основе НАМ был создан функциональный язык программирования Рефал. Использование алгоритма Маркова для преобразований над строками: Правила: 1. «А» → «апельсин» 2. «кг» → «килограмм» 3. «М» → «магазинчике» 4. «Т» → «том» 5. «магазинчике» → • «ларьке» (заключительная формула) 6. «в том ларьке» → «на том рынке» Исходная строка: «Я купил кг Аов в Т М. » При выполнении алгоритма строка претерпевает следующие изменения: 1. «Я купил кг апельсинов в Т М. » 2. «Я купил килограмм апельсинов в Т М. » 3. «Я купил килограмм апельсинов в Т магазинчике. » 4. «Я купил килограмм апельсинов в том магазинчике. » 5. «Я купил килограмм апельсинов в том ларьке. » На этом выполнение алгоритма завершится (так как будет достигнута формула № 5, которую мы сделали заключительной). Формы описания алгоритма

Анализ трудоёмкости алгоритмов Целью анализа трудоёмкости алгоритмов является нахождение оптимального алгоритма для решения даннойАнализ трудоёмкости алгоритмов Целью анализа трудоёмкости алгоритмов является нахождение оптимального алгоритма для решения данной задачи. В качестве критерия оптимальности алгоритма выбирается трудоемкость алгоритма, понимаемая как количество элементарных операций, которые необходимо выполнить для решения задачи с помощью данного алгоритма. Функцией трудоемкости называется отношение, связывающие входные данные алгоритма с количеством элементарных операций. Трудоёмкость алгоритмов по-разному зависит от входных данных. Для некоторых алгоритмов трудоемкость зависит только от объема данных, для других алгоритмов — от значений данных, в некоторых случаях порядок поступления данных может влиять на трудоемкость. Трудоёмкость многих алгоритмов может в той или иной мере зависеть от всех перечисленных выше факторов. Одним из упрощенных видов анализа, используемых на практике, является асимптотический анализ алгоритмов. Целью асимптотического анализа является сравнение затрат времени и других ресурсов различными алгоритмами, предназначенными для решения одной и той же задачи, при больших объемах входных данных. Используемая в асимптотическом анализе оценка функции трудоёмкости, называемая сложностью алгоритма , позволяет определить, как быстро растет трудоёмкость алгоритма с увеличением объема данных. Классы сложности алгоритма: В рамках классической теории осуществляется классификация задач по классам сложности (P-сложные, NP-сложные, экспоненциально сложные и др. ). К классу P относятся задачи, которые могут быть решены за время, полиномиально зависящее от объёма исходных данных, с помощью детерминированной вычислительной машины (например, машины Тьюринга), а к классу NP — задачи, которые могут быть решены за полиномиально выраженное время с помощью недетерминированной вычислительной машины, то есть машины, следующее состояние которой не всегда однозначно определяется предыдущими.

Информатика  лекция 5 Информатика лекция

Виды алгоритмов 1. Комбинаторные алгоритмы Комбинат рика (Комбинаторный анализ) — раздел математики, изучающий дискретныеВиды алгоритмов 1. Комбинаторные алгоритмы Комбинат рика (Комбинаторный анализ) — раздел математики, изучающий дискретные объекты, ою множества (сочетания, перестановки, размещения и перечисления элементов) и отношения на них (например, частичного порядка). Комбинаторика связана со многими другими областями математики — алгеброй, геометрией, теорией вероятностей, и имеет широкий спектр применения в различных областях знаний (например в генетике, информатике, статистической физике). Термин «комбинаторика» был введён в математический обиход Лейбницем, который в 1666 году опубликовал свой труд «Рассуждения о комбинаторном искусстве» . Иногда под комбинаторикой понимают более обширный раздел дискретной математики, включающий, в частности, теорию графов. Для формулировки и решения комбинаторных задач используют различные модели комбинаторных конфигураций. Примерами комбинаторных конфигураций являются: Размещением из n элементов по k называется упорядоченный набор из k различных элементов некоторого n-элементного множества. Перестановкой из n элементов (например чисел 1, 2, …, n) называется всякий упорядоченный набор из этих элементов. Перестановка также является размещением из n элементов по n. Сочетанием из n по k называется набор k элементов, выбранных из данных n элементов. Наборы, отличающиеся только порядком следования элементов (но не составом), считаются одинаковыми, этим сочетания отличаются от размещений. Композицией числа n называется всякое представление n в виде упорядоченной суммы целых положительных чисел. Разбиением числа n называется всякое представление n в виде неупорядоченной суммы целых положительных чисел.

Виды алгоритмов 1. 1 Общие комбинаторные алгоритмы Генераторы псевдослучайных чисел: Алгоритм Робинсона — ШенстедаВиды алгоритмов 1. 1 Общие комбинаторные алгоритмы Генераторы псевдослучайных чисел: Алгоритм Робинсона — Шенстеда — генерация перестановок из пар таблиц Юнга 1. 2 Алгоритмы на графах Те рия гр фов оо ао — раздел дискретной математики, изучающий свойства графов. В общем смысле граф представляется как множество вершин (узлов), соединённых рёбрами. В строгом определении графом называется такая пара множеств G=(V, E), где V есть подмножество любого счётного множества, а E — подмножество V×V. Теория графов находит применение, например, в геоинформационных системах (ГИС). Существующие или вновь проектируемые дома, сооружения, кварталы и т. п. рассматриваются как вершины, а соединяющие их дороги, инженерные сети, линии электропередачи и т. п. — как рёбра. Применение различных вычислений, производимых на таком графе, позволяет, например, найти кратчайший объездной путь или ближайший продуктовый магазин, спланировать оптимальный маршрут.

Виды алгоритмов 1. 3 Алгоритмы поиска 1. 4 Алгоритмы на строках 1. 5 АлгоритмыВиды алгоритмов 1. 3 Алгоритмы поиска 1. 4 Алгоритмы на строках 1. 5 Алгоритмы сортировки Например, «Сортировка пузырьком» Вход: массив A, состоящий из элементов A[1], A[2], . . . , A[n-1], A[n] t : = истина цикл пока t: t : = ложь цикл для j = 1, 2, . . . , n − 1: если A[j] > A[j+1], то: обменять местами элементы A[j] и A[j+1] t : = истина 1. 6 Алгоритмы слияния

Виды алгоритмов 2 Алгоритмы сжатия данных 2. 1 Алгоритмы сжатия без потерь Семейство алгоритмовВиды алгоритмов 2 Алгоритмы сжатия данных 2. 1 Алгоритмы сжатия без потерь Семейство алгоритмов словарного сжатия Лемпеля — Зива Deflate — это алгоритм сжатия без потерь, который использует комбинацию алгоритма LZ 77 и алгоритма Хаффмана. Изначально он был описан Филом Кацом для 2 -й версии своей утилиты для создания архивов PKZIP, который впоследствии был определён в RFC 1951 ( http: //tools. ietf. org/html/rfc 1951 ). 2. 2 Алгоритмы сжатия с потерями 3 Вычислительная геометрия 3. 1 Построение выпуклой оболочки набора точек 3. 2 Триангуляция 3. 3 Диаграмма Вороного 3. 4 Локализация точки (англ. ) 3. 5 Пересечения 3. 6 Вращающиеся калиперы (англ. ) 4 Компьютерная графика 5 Компьютерное зрение

Виды алгоритмов 6 Криптографические алгоритмы Шифрование с симметричным (скрытым) ключом:  • ГОСТ 28147Виды алгоритмов 6 Криптографические алгоритмы Шифрование с симметричным (скрытым) ключом: • ГОСТ 28147 -89 • AES ( англ. Advanced Encryption Standard) — победитель соревнования NIST, также известен как Rijndael • Blowfish • DES ( англ. Data Encryption Standard) — иногда, алгоритм DEA ( англ. Data Encryption Algorithm), победитель соревнования NBS, заменён на AES для большинства применений • RC 2 • IDEA ( англ. International Data Encryption Algorithm) • RC 4 Асимметричное шифрование (с публичным ключом) RSA 7 Цифровая обработка сигналов Цифров я обраб тка сигн лов (ЦОС, аюоюаю DSP — англ. digital signal processing) — преобразование сигналов, представленных в цифровой форме. Линейная фильтрация — селекция сигнала в частотной области; синтез фильтров, согласованных с сигналами; частотное разделение каналов; цифровые преобразователи Гильберта и дифференциаторы; корректоры характеристик каналов Спектральный анализ — обработка речевых, звуковых, сейсмических, гидроакустических сигналов; распознавание образов Частотно-временной анализ — компрессия изображений, гидро- и радиолокация, разнообразные задачи обнаружения сигнала Адаптивная фильтрация — обработка речи, изображений, распознавание образов, подавление шумов, адаптивные антенные решетки Нелинейная обработка — вычисление корреляций, медианная фильтрация; синтез амплитудных, фазовых, частотных детекторов, обработка речи, векторное кодирование Многоскоростная обработка — интерполяция (увеличение) и децимация (уменьшение) частоты дискретизации в многоскоростных системах телекоммуникации, аудиосистемах Свертка — традиционные типы Секционная свертка

Виды алгоритмов 8 Разработка программного обеспечения 9 Генетические алгоритмы Генет ческий алгор тм (англ.Виды алгоритмов 8 Разработка программного обеспечения 9 Генетические алгоритмы Генет ческий алгор тм (англ. genetic algorithm) — это эвристический алгоритм поиска, июию используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания» , который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе. 10 Медицинские алгоритмы 11 Нейронные сети • Метод обратного распространения ошибки • Самоорганизующееся отображение (Карты Кохонена, SOM) • Метод коррекции ошибки • Метод коррекции с обратной передачей сигнала ошибки

Виды алгоритмов 12 Вычислительная алгебра Алгоритмы вычисления дискретного преобразования Фурье • Быстрое преобразование ФурьеВиды алгоритмов 12 Вычислительная алгебра Алгоритмы вычисления дискретного преобразования Фурье • Быстрое преобразование Фурье (БПФ, FFT) — это быстрый алгоритм вычисления дискретного преобразования Фурье (ДПФ). Решение систем линейных уравнений • Метод Гаусса (Гауссово исключение) — стандартный метод решения систем линейных уравнений • Структурированное гауссово исключение — применяется, когда матрица системы является разреженной • Метод Жордана — Гаусса — модификация метода Гаусса для матричного представления • Разложение Холецкого — метод, эффективный для ленточных и разреженных матриц • Метод Пранис — Праневича — решение систем линейных уравнений с параллельными вычислениями по компонентам 13 Теоретико-числовые алгоритмы

Виды алгоритмов 14 Численные алгоритмы Алгоритм де Кастельжо — вычисление кривых Безье Методы интерполяции:Виды алгоритмов 14 Численные алгоритмы Алгоритм де Кастельжо — вычисление кривых Безье Методы интерполяции: Линейное сглаживание по трём точкам Линейное сглаживание по пяти точкам Нелинейное сглаживание по семи точкам Интерполяция сплайнами Приближенное вычисление решений Метод фальшпозиции (англ. ) (False position method, regula falsi method) — аппроксимирует корни функции Метод Ньютона (метод касательных) — нахождение нулей функций с помощью производной Метод секущих (метод хорд) — аппроксимирует корни функции Метод градиентов (градиентный спуск) — аппроксимирует решение системы уравнений Метод сопряжённого градиента Алгоритм Гаусса — Ньютона — алгоритм для решения нелинейных уравнений методом наименьших квадратов Алгоритм Левенберга — Марквардта — алгоритм для решения нелинейных уравнений методом наименьших квадратов

Виды алгоритмов Решение диффернциальных уравнениий Метод Эйлера  Рассмотрим дифференциальное уравнение первого порядка Виды алгоритмов Решение диффернциальных уравнениий Метод Эйлера Рассмотрим дифференциальное уравнение первого порядка y / = f ( x , y ) (1) с начальным условием x = x 0 , y ( x 0 )= y 0 (2) Требуется найти решение уравнения (1) на отрезке [а, b ]. Разобьем отрезок [ a , b ] на n равных частей и получим последовательность х 0 , х 1 , х 2 , …, х n , где x i = x 0 + ih ( i =0, 1, …, n ), а h =( b — a )/ n -шаг интегрирования. В методе Эйлера приближенные значения у(х i ) y i вычисляются последовательно по формулам у i + hf ( x i , y i ) ( i =0, 1, 2…). Методы Рунге-Кутта третьего и четвертого порядков можно вывести совершенно аналогично тому как это делалось при выводе методов первого и второго порядков Мы не будем воспроизводить выкладки а ограничимся тем что приведем формулы описывающие метод четвертого порядка один из самых употребляемых методов интегрирования дифференциальных уравнений Этот классический метод Рунге-Кутта описывается системой следующих пяти соотношений y m+1 =y m +h/6(R 1 +2 R 2 +2 R 3 +R 4 ) 1 14 где R 1 =f(x m y m ) 1 15 R 2 =f(x m +h/2 y m +h. R 1 /2) 1 16 R 3 =f(x m +h/2 y m +h. R 2 /2) 1 17 R 4 =f(x m +h/2 y m +h. R 3 /2).

Виды алгоритмов 15 Алгоритмы оптимизации • Линейное программирование • Симплекс-метод •  «Венгерский метод»Виды алгоритмов 15 Алгоритмы оптимизации • Линейное программирование • Симплекс-метод • «Венгерский метод» — решение задач целочисленного линейного программирования • Метод Мака решения задачи о назначениях • Алгоритм имитации отжига • Метод роя частиц • Муравьиные алгоритмы • Метод ветвей и границ • Дифференциальная эволюция • Эволюционная стратегия • Метод Нелдера — Мида (downhill simplex method) — алгоритм нелинейной оптимизации • Всхождение со случайным перезапуском (англ. ) • Стохастическое туннелирование (англ. ) • Алгоритм суммирования подмножеств (англ. ) • Метод перебора • Метод Фибоначчи поиска экстремума — метод выбора точек для нахождения экстремума функции одной переменной • Градиентный спуск • Алгоритм Левенберга — Маркардта — комбинация метода Ньютона и наискорейшего спуска 16 Грамматический разбор 17 Квантовые алгоритмы 18 Теория вычислений и автоматов