3. Алгоритмы
3
В этой лекции мы познакомимся с одним из
фундаментальных понятий современной науки
вообще, и в особенности - дискретной
математики - понятием алгоритма.
Алгоритм — этот термин стал одним из ключевых слов
современной науки. Обсуждается построение тех или иных
алгоритмов, построенные алгоритмы стремятся
усовершенствовать. Обсуждают вопросы о сложности и
трудоемкости алгоритмов. Доказывают, что для решения
такой-то задачи алгоритм существует, для такой-то он
обязательно должен быть сложным, а иногда — что его не
может быть вообще...
4. Понятие алгоритма
4
Под алгоритмом в математике принято понимать точное
предписание, определяющее процесс переработки исходных
данных в искомый результат.
При этом требуется:
1) чтобы исходные данные носили массовый характер;
2) чтобы процесс переработки исходных данных состоял из
отдельных дискретных шагов и в целом был определенным,
детерминированным;
3) чтобы было четко указано, при наступлении каких условий
процесс надлежит остановить и что в этом случае следует
считать его результатом.
Интуитивного понимания алгоритма недостаточно, нужно четкое
определение, выделение главных черт.
Для многих сложных задач даже этого недостаточно, требуется
математически строгая и универсальная модель алгоритма.
5. Математические модели алгоритмов
5
Независимо друг от друга и почти одновременно (в 1936 году)
американские математики А. Чѐрч, С. К. Клини, Э. Л. Пост и
английский математик А. М. Тьюринг пришли к выводу, что
нечеткое, расплывчатое представление об алгоритме можно
уточнить, стандартизировать. Вскоре выяснилось, что все данные
ими уточнения, включая машины Тьюринга, в некотором точном
смысле эквивалентны между собой.
Мы познакомимся сейчас с машинами Тьюринга, которые в
силу исключительной простоты принципа их действия
особенно хорошо подходят для обсуждения.
6. Машина Тьюринга
6
Машина Тьюринга - это универсальная и простейшая модель
алгоритма. С ее помощью исследуют алгоритмы любой сложности.
Ф иксируем некоторый алфавит А, состоящий из букв а1, ..., аn.
Непустые слова в этом алфавите мы будем мыслить
записанными на конечных лентах, разделенных на клетки: в
каждой клетке – по одной букве. Про пустую клетку будем
говорить, что в ней записан «пустой знак», который мы будем
обозначать через а0. Записью на ленте пустого слова
(обозначаемого ) будем считать ленту, состоящую из одной
пустой клетки.
М аш ина Тьюринга – это воображаемое устройство, способное
воспринимать ленты с записанными в их клетках знаками (в
том числе и пустыми) и находиться в одном из конечного
числа состояний, среди которых особо выделены два:
начальное и заключительное.
7. Принципы работы машины Тьюринга
7
В каждый момент маш ина «видит» записанный в клетке знак. В
зависимости от своего состояния и знака она выполняет шаг, состоящ ий в
том, что она записывает в рассматриваемую клетку ленты некоторый
новый знак (быть может, старый или пустой), переходит в новое
состояние (быть может, совпадающ ее со старым или заключительное) и
либо остается на месте, либо сдвигается на одну клетку вправо или
влево. Если при этом лента выходит из поля зрения маш ины, то к
соответствующ ему концу подклеивается одна пустая клетка. Находясь в
заключительном состоянии, маш ина никакого ш ага не соверш ает.
Все действия машины Тьюринга быть сведены в таблицу: столбцы
соответствуют читаемым знакам; строки – состояниям машины. В
клетках таблицы записывается шаг, совершаемый машиной (эта
информация включает, как мы уже говорили, три элемента: очередной
знак, очередное состояние, движение ленты). Поведение машины
вполне определяется указанной таблицей — ее программой. Поэтому
мы вправе сказать, что машина, собственно, и есть таблица (программа).
8. Задачка на дом
8
Раритет с Митинской барахолки.
Студент принес с барахолки раритетную маш ину Тьюринга, с
записанной в ней программой.
0 1 2 3 4 5 6 7 8 9 a0
X 0Xп 1Xп 2Xп 3Xп 4Xп 5Xп 6Xп 7Xп 8Xп 9Xп a0Yл
Y 0Yл 2Yл 4Yл 6Yл 8Yл 0Zл 2Zл 4Zл 6Zл 8Zл a0Fп
Z 1Yл 3Yл 5Yл 7Yл 9Yл 1Zл 3Zл 5Zл 7Zл 9Zл 1Fп
М аш ина работает в алфавите 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a0
(пустой символ) и может находиться в четырех состояниях: X,
Y, Z, F (заключительное состояние).
(5Yл – записать в текущую клетку 5, перейти в состояние Y, и
передвинуться на одну клетку налево).
Помогите студенту разобраться, что умеет делать его маш ина.
Опиш ите подробно, как обрабатывает маш ина четырехзначное
число, записанное на ленте из четырех клеток (выберите для
примера любое число, больш ее 5000).
9. Алгоритмы теории графов.
9
Для экономиста графы - удобное средство наглядного изображения
практических ситуаций: связей элементов, влияния факторов и пр.
С точки зрения теории графы представляют собой обобщение
комбинаторных объектов - теперь подсчитываются не действия
с элементами, а с отношениями элементов.
Формально, граф задается множеством объектов и парных
отношений между ними.
10. Многие практические задачи в
экономике могут быть решены с
помощью графов. Логические связи
рассматриваемых объектов и
отношения выражаются на языке
стрелок, соединяющих вершины графа.
10
Комбинаторные задачи теории графов
Отношения, заданные стрелками
графа, можно выразить в матрице
так: если из вершины 1 в вершину
2 ведет стрелка, то на пересечении
1-й строки и 2-го столбца ставится
единица…
11. Задачка на дом
Как тебя зовут?
Жили четыре друга. Звали их Альберт, Карл,
Дитрих и Фридрих. Фамилии друзей те же, что
и имена, только такие, что ни у кого из них имя
и фамилия не были одинаковыми. Кроме того,
фамилия Дитриха не была Альберт.
Определите фамилию каждого мальчика, если
известно, что имя мальчика, у которого фамилия
Фридрих, есть фамилия того мальчика, имя
которого фамилия Карла.
11
12. Задачка на дом
• Весенняя задачка.
• Четверо юношей: Андрей, Борис, Кирилл и
Дмитрий — влюблены в четырех девушек: Лену,
Машу, Настю и Олю. Но, увы, это любовь без
взаимности. При этом в каждого юношу влюблена
только одна девушка, и в каждую девушку
влюблен только один юноша.
• Ходят слухи, что …
(см. продолжение на следующем слайде)
12
13. Задачка на дом
• Весенняя задачка. (продолжение)
Ходят слухи, что:
• Андрей любит девушку, влюбленную в юношу,
который любит Лену;
• в Машу влюблен юноша, которого любит девушка,
любимая Борисом.
• Кирилл влюблен в девушку, которая любит Диму.
• Настя не любит Бориса:
• юноша, которого любит Оля, не любит Настю.
Кто в кого влюблен?
13
14. Теория графов в социометрии
14
Графы состоят из вершин (точек, отображающих элементы) и
соединяющих эти вершины дуг (отображающих отношения).
Родоначальник математической социологии Морено использовал
графы для изучения отношений между членами общества.
Рассмотрим граф на где верш ины изображают членов
общ ества, а из х в у идет дуга, когда лицо х имеет влияние на у.
Лицо у является влияет на пять
лиц; однако эти пять лиц не
влиятельны. Лицо z более
могущественно: оно само влияет
лиш ь на трех лиц, но эти трое
весьма влиятельны. П роблема
состоит в том, чтобы проследить
отдаленны е связи, учесть
опосредованное влияние.
15. Задача о лидере
15
Задача, которую мы здесь ставим, заключается в определении
лидера, т. е. того лица, которое следует считать победителем в
турнире, или наиболее влиятельным членом организации,
обладающим реальным политическим весом и силой.
Пусть дано некоторое множество лиц Х, мы будем его
рассматривать как множество вершин некоторого графа.
Наличие направленной дуги между х и y выражает
превосходство (доминирование) х над у.
Поставим задачу измерения силы каждого лица. Когда это
понятие будет точно определено, лидером мы объявим то лицо ,
чья сила — наибольш ая.
16. Шахматный чемпионат.
16
В шахматах давно разработаны различные системы определения
силы игроков. Поэтому мы выбрали шахматы как пример.
Рассмотрим ш ахматный турнир с
пятью участниками x1, x2, x3, x4, x5.
Выигрыш xi у xj, изображаем двумя
дугами из xi в xj. Если xi и xj сыграли
вничью,
то рисуем одну дугу из xi в xj и одну
дугу из xi в xj. При каждой верш ине
строим петлю, что указывает, что
любой игрок равен себе по силе.
Видно, что чемпионат проводится по «круговой системе», то есть
каждый игрок играет со всеми остальными.
17. Матрица смежности
17
Этому графу соответствует матрица смежности, каждый элемент
которой ijp показывает количество путей, ведущ их из верш ины i
в верш ину j.
11021
1
2
0
1
1020
2110
0112
2201
P
Элементы P удовлетворяют
условию jiij pp 2 .
18. Определение непосредственной силы игрока
18
11021
1
2
0
1
1020
2110
0112
2201
P
Обозначим через )1(ijp общий элемент матрицы P , т. е.
количество дуг, идущих из ix , в jx , и рассмотрим сумму по
строке таких элементов )1(ip
)1()1()1()1()1()1( 54321 iiiiii pppppp
Число )1(ip назовем силой первого порядка игрока ix
Сила порядка 1 образуется
сложением элементов матрицы P
по строкам, т. е.
612201)1(1p
400112)1(2p
622110)1(3p
411020)1(4p
511021)1(5p
19. Алгебраический смысл вектора силы
19
11021
1
2
0
1
1020
2110
0112
2201
P
Сила порядка 1 образуется
сложением элементов матрицы P
по строкам, т. е.
612201)1(1p
400112)1(2p
622110)1(3p
411020)1(4p
511021)1(5p
М атематически, мы просто умножаем матрицу P на вектор,
)1,1,1,1,1(0f , состоящий полностью из единиц – 0Pf .
С точки зрения этой силы )1(ip имеем двух победителей: 1x и
3x , каждый из которых превосходит наибольшее число игроков.
20. Сила второго порядка.
20
Сила первого порядка показывает фактически только количество
побед каждого игрока. Чтобы сделать оценку силы более точной,
нужно принять во внимание то, у каких именно игроков он выиграл,
ясно, что ценность победы у сильного игрока гораздо больше. .
11021
1
2
0
1
1020
2110
0112
2201
P
Силу порядка 2 каждого игрока можно
найти путем сложения очков тех игроков,
с которыми он сыграл вничью, и
удвоенных количеств очков игроков, у
которых он выиграл; в данном примере
31514262061)2(1p
2200614162)2(2p
28524261410)2(3p
1751410420)2(4p
23514104261)2(5p
Алгебраически
0
2
1 fPPf , где
)5,4,6,4,6(1f
Алгебраически
0
2
12 fPPff , где
)5,4,6,4,6(1f
На этот раз игрок 1x занимает один первое место, и это обусловлено тем,
что он победил более сильных игроков, чем те, которых победил 3x .
21. Сила третьего порядка.
21
Сделаем еще одну итерацию
11021
1
2
0
1
1020
2110
0112
2201
P
Алгебраически
0
2
1 fPPf , где
)5,4,6,4,6(1f
1442311722820311)3(1p
11200281221312)3(2p
1302321722812210)3(3p
8423117102220)3(4p
1152311710222311)3(5p
0
3
23 fPPff , где
)23,17,28,22,31(2f
Распределение мест здесь то же, что и в предыдущ ем случае: x1, x3, x5,
x2, x4, видимо, оно стабилизировалось. И действительно, можно
убедиться, что при дальнейш ем продолжении итерации порядок мест
остается неизменным.
22. Сила k-го порядка
22
Обозначим через )(kpij общ ий элемент матрицы
k
P , т. е.
количество путей длины k, идущ их из ix , в jx , и рассмотрим
сумму по строке таких элементов )(kpi
)()()()()()( 54321 kpkpkpkpkpkp iiiiii
Число )(kpi назовем силой порядка k игрока ix
М ы видим, что длина вектора все время возрастает. Это
побуждает нас перейти к нормированным векторам и
определить силу игрока xi как предел при k соотнош ения
)()()(
)(
)(
521 kpkpkp
kp
k i
i
М ожно показать, что вследствие теоремы Ф робениуса-
Перрона этот предел всегда сущ ествует.
23. Задачка на дом
23
В футбольном чемпионате все команды успели
сыграть по одному разу друг с другом: команда
1-го курса выиграла у второго и третьего, но
проиграла четвертому, второй курс нанес
поражение третьему и четвертому, а третий курс
выиграл у четвертого. Поскольку началась
сессия, чемпионат пришлось прервать и
выяснять все отношения на бумаге. Помогите
расставить команды на пьедестале почета.
Чемпионат экономфака.
24. Задачка на дом
24
Используя терминологию и аппарат линейной
алгебры, попробуйте объяснить, что именно
отыскивает алгоритм решения задачи о лидере.
Приведите математическое обоснование своих
утверждений.
Алгебра лидерства.