Во многих задачах в заданном графе нужно выделить некоторую часть, обладающую тем или иным свойством.
Определение 11.1. Граф G1=(V1,E1) называется подграфом графа G=(V,E), если $$V_{1} \subseteq V$$ и $$E_{1} \subseteq E$$.
Для неориентированных связных графов одним из интересных классов подграфов являются
деревья, сохраняющие
Определение 11.2. G=(V,E) называется его S=(V,T), являющийся деревом
Пусть задана функция c: E -> R, приписывающая каждому ребру $$e \in E$$ его стоимость (вес, длину) $$c(e) \in R$$ ( R - множество вещественных чисел).
Тогда стоимость c(S) дерева S определяется как сумма стоимостей всех его ребер, т.е. $$c(S) = \sum_{ e \in T} c(e)$$.
Таким образом, G.
Опишем процедуру построения
Алгоритм МинОстов
Вход: G=(V,E) и функция стоимости ребер c: E -> R.
Выход: S=(V,T).
Этап 1. Пусть E содержит m ребер. Упорядочим их по возрастанию стоимостей:
Этап 2. Последовательно для каждого i =1, ... , m определим
множество ребер Ti:
Положим T=Tm.
Выдать в качестве результата граф S=(V,T).
Докажем, что этот алгоритм корректен.
Теорема 11.1. Алгоритм МинОстов строит G=(V,E).
Доказательство Пусть результатом работы МинОстов на графе G=(V,E)
является граф S=(V,T). Отметим вначале, что S является деревом.
Действительно, отсутствие циклов следует из определения множеств Ti.
Предположим, что S не является связным. Тогда должны существовать
две вершины $$u, v \in V$$, которые не достижимы друг из друга в S.
Но граф G связен, поэтому в нем есть путь из u в v. Тогда на этом пути обязательно имеется такое ребро $$e_{i}=(a,b)\in (E \setminus T)$$, у которого один конец a соединен путем с u в графе S, а второй конец b - нет. Но тогда на шаге i ребро ei должно попасть в Ti, так как его добавление не образует цикла. Следовательно, граф S связен.
Покажем теперь, что дерево S имеет минимальную стоимость. Пусть T={d1, ...,dk, ..., dn-1} - упорядочение всех ребер T по стоимости.
Покажем индукцией по k=1, ... , (n-1), что существует d1, ...,dk.
Пусть S'=(V,T') - (k-1) наименьших по стоимости ребер совпадают с ребрами T, т.е. упорядочение всех его ребер имеет вид: T'={f1=d1, ..., fk-1= dk-1, fk, ..., fn-1} и $$f_{k} \ne d_{k}$$.
Пусть dk=(u,v). В T' имеется некоторый путь p из u в v,
который не содержит ребро dk. На этом пути обязательно есть некоторое ребро f=(u''),
не попавшее в T, иначе в T
образовался бы цикл. Из построения T следует, что c(dk) <= c(f).
Рассмотрим граф $$S''=(V, T'' \setminus \{ f\} )\cup \{ d_{k}\}$$.
Очевидно, что этот граф является u' и v' сохранилась, так как в S'' имеется путь: $$u' \leftrightarrow \dots \leftrightarrow u$$ $$\stackrel{d_k}{\leftrightarrow}$$ $$v \leftrightarrow \dots \leftrightarrow v'$$.
Поэтому S'' - S'' был цикл, то он обязательно
включал бы ребро dk. Но тогда часть этого цикла без ребра dk
образовывала бы путь p' между u в v, не совпадающий с путем p. Следовательно, в дереве T' было бы два разных пути
между u в v, что невозможно, так как тогда в T' был бы цикл.
Отсюда заключаем, что в S'' циклов нет и S'' - c(S'')= c(S') - c(f) + c(dk) <= c(S'). Так как S' - c(S'')=c(S') и S'' - тоже S
имеется k общих ребер: d1, ..., dk.
Тогда при k=n-1 получаем, что S -
Пример 11.1.
Рассмотрим нагруженный граф G, показанный на рис. 11.1.
(рис 11.1) Граф GПрименим к нему алгоритм МинОстов. На первом этапе упорядочим все ребра,
а на втором - рядом с каждым из них определим соответствующее множество Ti.
Ребра, попавшие в T, будем по ходу вычисления отмечать знаком '+', а не попавшие -
знаком '-'.
Таким образом, мы построили для G S=(V,T), где T=T8 ={ (a,g), (g,e), (g,c), (e,d), (a,b), (f,g)}. Он показан на рис. 11.2. Стоимость этого c(S)=25.
(рис 11.2) Минимальный остов S=(V,T) для графа GЗамечание. Так как дерево с n вершинами содержит
в точности (n-1) ребер, то работу алгоритма МинОстов можно прекращать после такого шага i, на котором в Ti окажется |V| - 1 ребер. В нашем примере |V| =7 и алгоритм мог остановиться после 8-го шага.
Задача поиска выхода из лабиринта известна с древних времен.
В терминах графов ее можно формализовать так: лабиринт - это неориентированный
граф, вершины которого представляют "перекрестки" лабиринта, а
ребра - дорожки между соседними перекрестками. Одна или несколько
вершин отмечены как выходы. Задача состоит в
В этом разделе мы рассмотрим метод обхода всех вершин графа, называемый поиском в глубину. Его идею кратко можно описать так:
находясь в некоторой вершине v, идем из нее в произвольную еще
не посещенную смежную вершину w, если такой вершины нет, то
возвращаемся в вершину, из которой мы пришли в v.
Алгоритм поиска в глубину
Вход: G=(V, E) - Lv содержит перечень всех смежных с v вершин.
Выход: NUM[v] - массив с номерами вершин в порядке их прохождения
и множество (древесных) ребер $$T \subseteq E$$, по которым осуществляется обход.
Алгоритм ПОГ
T = {}; NOMER = 1;NUM[v] = 0 и пометим v как "новую";ПОИСК(v).Основную роль в этом алгоритме играет следующая рекурсивная процедура.
Алгоритм ПОИСК(v):
1. пометить v как "старую";
2. NUM[v] = NOMER; NOMER = NOMER + 1;
3. ДЛЯ КАЖДОЙ w принадлежащей Lv ВЫПОЛНЯТЬ
4. ЕСЛИ вершина w "новая"
5. ТО
6. { добавить (v, w) к T;
7. ПОИСК(w);
8. }
Теорема 11.2. Алгоритм ПОГ обходит (нумерует) все вершины графа G=(V,E). Если G - S=(V,T) - это G,
если граф G не является связным, то S=(V,T) - это G,
т.е. объединение G.
Доказательство Первое утверждение следует из того, что по окончании алгоритма ПОГ все вершины графа старые, а это значит, что для каждой из них вызывалась процедура ПОИСК, которая в стр.2 присвоила номер.
Заметим теперь, что если ребро (v, w) попадает в T, то вызов процедуры ПОИСК(w) происходит после вызова ПОИСК(v) и поэтому NUM[v] < NUM[w].
Существование цикла в S означало бы, что для некоторого ребра из T
это свойство нарушено (почему?). Следовательно, в S циклов нет.
Пусть G1=(V1,E1) - связная компонента G и $$v_{1} \in V_{1}$$ - первая ее вершина,
для которой вызывается процедура ПОИСК. Тогда для каждой вершины $$w \in V_{1}$$ внутри вызова ПОИСК(v1) произойдет вызов ПОИСК(w).
Это утверждение доказывается индукцией по расстоянию ( v1 до w.
Если это расстояние равно 1, то $$w \in L_{v1}$$ и рассматривается в
вызове ПОИСК(v1) в стр.3.
Если w в
этот момент "старая", то, значит, ПОИСК(w) уже вызывался. Если же w
"новая", то в стр. 7 происходит вызов ПОИСК(w).
Предположим теперь, что ПОИСК(u) вызывается для всех вершин u, находящихся на расстоянии k >= 1 от v1, и пусть вершина $$w \in L\_ \{ v_{1}\}$$
находится на рсстоянии (k + 1) от v1. Тогда имеется путь (k + 1) от v1
до w . Пусть u - это предпоследняя вершина на этом пути. Тогда расстояние от v1 до u равно k и по нашему предпроложению в некоторый момент выполняется вызов ПОИСК(u). Так как $$w \in L_{u}$$, то в этом вызове вершина w в некоторый момент
рассматривается в цикле в стр.3. Как и выше,
если она в этот момент "старая", то ПОИСК(w) уже вызывался. Если же w еще "новая", то в стр.7 происходит вызов ПОИСК(w).
Также по индукции замечаем, что если вызов ПОИСК(w) произошел внутри вызова ПОИСК(v), то в T имеется путь из v в w. Следовательно, граф S1=(V1,T1), построенный в процессе вызова ПОИСК(v) является деревом с корнем v.
Дерево S=(V,T), которое строится алгоритмом ПОГ, называется G.
Ребра, попавшие в множество T, называются (E \ T) - (v,w) соединяет вершину v
с ее предком w в G оно определяет цикл: от w к v по ребрам дерева T, а затем
обратно от v к w по ребру (v,w).
Поэтому алгоритм ПОГ можно использовать для проверки наличия циклов в G. Ребро (v,w) не добавляется к T, т.е. является ПОИСК(v) обнаруживается, что
вершина w "старая". Поэтому, добавив в процедуру ПОИСК(v) последнюю строку
9. ИНАЧЕ ПЕЧАТЬ(v,w),
мы получим процедуру, которая в дополнение построению к
Определение 11.3. Ребро (v,w) G=(V,E) называется мостом G, если при его удалении из E число связных компонент графа увеличивается,
т.е. в графе G'=(V, E \ { (v,w)} связных компонент больше, чем в G.
Из этого определения, в частности, следует, что ребро является мостом тогда и только
тогда, когда оно не входит ни в какой цикл ( почему?). (v,w) является ребром v и w нет. Во-вторых, если это ребро
ориентировано от v к w, то в w и его
потомки с предками w. Это условие является и достаточным, так как, если таких ребер нет,
то удаление (v,w) нарушит связь между v и w и они окажутся в разных компонентах
ВЕРХ(w) минимум из NUM[w] и наименьшего
из номеров вершин, к которым ведут Tw.
Тогда, учитывая, что
Теорема 11.3. Ребро (v,w) D=(V,E) G=(V,E) является мостом G тогда и только тогда, когда ВЕРХ(w) > NUM[v] или, что эквивалентно, ВЕРХ(w) = NUM[w].
Вычисление значения ВЕРХ(w) можно организовать в процессе
Для этого достаточно в строку 2 алгоритма ПОГ добавить начальное присвоение ВЕРХ(v) := NUM[v], в строке 7 приписать после ПОИСК(w) присвоение ВЕРХ(v) := min {ВЕРХ(v), ВЕРХ(w)}, учитывающее
9. ИНАЧЕ ВЕРХ(v) := min{ВЕРХ(v),NUM(w)}
для учета
Зная значения ВЕРХ(w), нетрудно выявить все мосты, используя критерий из теоремы 11.3.
Пример 11.2. Применим алгоритм ПОГ к графу G2, изображенному на рис. 11.3.
(рис 11.3) Граф G2Его представление в виде
Алгоритм ПОГ вызовет процедуру ПОИСК(1). Эта процедура рекурсивно вызовет ПОИСК(6) и т.д. Вот структура всех получающихся вызовов процедуры ПОИСК:
Вначале идут "горизонтальные" вызовы, затем возвраты справа налево и вызовы "по вертикали".
В результате вершины G2 получат следующие номера, отражающие порядок их прохождения:
Ребра
(рис 11.4) Остовное "глубинное" дерево S=(V,T) графа G2В процессе построения этого дерева были определены следующие (8,6), (10,2), (11,9), (5,2) и (4,3). Нетрудно проверить, что добавление любого
из этих ребер к T приводит к образованию простого цикла.
Используя расширенный вариант ПОГ с вычислением функции ВЕРХ, мы получим следующий результат:
Так как ВЕРХ(2) =NUM[2] = 5 и ВЕРХ(6) =NUM[6] = 2, то по теореме 11.3 G2 являются ребра (1,2) и (1,6) и других мостов у него нет.
Алгоритм v получает номер NUM(v), можно вставить вызов любой процедуры, обрабатывающей информацию, связанную с этой вершиной
(например, для задачи о лабиринте это может быть проверка того, что v является
выходом из лабиринта). И тогда полученный вариант алгоритма обеспечит обработку
всех вершин графа.
Пусть G=(V,E) - ориентированный граф, для каждого ребра $$e \in E$$ которого указана
его (неотрицательная) c(e) >= 0. Тогда p=v1,v2, ... , vk+1
определяется как сумма длин ребер, входящих в этот путь: $$c(p) = \sum_{i=1}^k c(v_i,v_{i+1})$$.
Если в G имеется путь из вершины a в вершину b, то имеется и такой путь минимальной длины.
Он называется a в b. Конечно, в графе
может оказаться несколько
различных a в b.
Естественно спросить, как узнать a в b и построить его? Лучшие известные на сегодняшний день алгоритмы,
отвечающие на этот вопрос,
решают, на самом деле, более общую задачу построения всех a найти a во все достижимые из
нее вершины и построить для каждой из таких вершин некоторый a.
Если для каждой вершины $$v \in V$$, достижимой из a, зафиксировать один a
в v, то получившийся граф будет представлять a (докажите это!).
Это дерево называется a.
Мы рассмотрим алгоритм построения S, для которых w, с самым коротким путем
из a, проходящим по множеству S ; после этого пересчитываются a в оставшиеся вершины из V \ S с учетом новой вершины w. a в v, проходящего по множеству S,
заносится в ячейку D[v] массива D. В конце работы в этом массиве отыскиваются ОТЕЦ, его элемент ОТЕЦ[v] содержит ссылку на вершину, из которой v .
Алгоритм Дейкстры
Вход: G=(V,E) - ориентированный граф, c(u,v) >= 0 -длина ребра $$(u,v) \in E$$ (если $$(u,v) \notin E$$, то считаем, что $$c(u,v) = \infty )$$ и исходная вершина $$a \in V$$.
=== ИНИЦИАЛИЗАЦИЯ ===
1. S := {a}; ' отметить a
2. D[a] := 0; ' расстояние от a до a
3. ДЛЯ КАЖДОЙ v принадлежащей V, v != a ВЫПОЛНЯТЬ
4. {D[v] := c(a,v); ' расстояние от a до v через a
5. ЕСЛИ c(a,v) < бесконечности ТО ОТЕЦ[v]:= a ИНАЧЕ ОТЕЦ[v]:= - };
=== ОСНОВНОЙ ЦИКЛ ===
6. ПОКА V \ S не пусто ВЫПОЛНЯТЬ ' есть неотмеченные вершины
7. { выбрать неотмеченную вершину w с минимальным D[w];
8. S := S объединение с {w}; ' отметить w
9. ДЛЯ КАЖДОЙ (неотмеченной) u принадлежит V \ S ВЫПОЛНЯТЬ
10. ЕСЛИ D[u] > D[w] + c(w,u)
11. ТО { D[u] := D[w] + c(w,u);
12. ОТЕЦ[u]:= w}
13. }
Пример 11.3.
Рассмотрим работу этого алгоритма на нагруженном графе G=(V={a, b, c, d, e, f}, E)
и C= (cuv), где элемент cuv=c(u,v):
Поэтапную работу S,
третий - вершину w, добавляемую к S на текущем шаге,
четвертый - a в w, затем идут столбцы со значениями
элементов массивов D и ОТЕЦ.
N |
S |
w |
D[w] |
D |
ОТЕЦ | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
b
| c
| d
| e
| f
| b
| c
| d
| e
| f
| ||||
| 1. | a | c | 5 | 25 | 5 | 30 | $$\infty$$ | 75 | a | a | a | - | a |
| 2. | a, c | b | 20 | 20 | - | 25 | 50 | 65 | c | a | c | c | c |
| 3. | a, c, b | d | 25 | - | - | 25 | 50 | 40 | c | a | c | c | b |
| 4. | a, c, b,d | f | 45 | - | - | - | 48 | 45 | c | a | c | d | b |
| 5. | a, c, b,d | e | 45 | - | - | - | - | 45 | c | a | c | d | b |
a задается массивом ОТЕЦ.
Оно представлено на рис. 11.5.
(рис 11.5) Дерево кратчайших путей из вершины a в графе GТеорема 11.4. (о корректности
a во все достижимые из нее вершины и для каждой такой вершины v определяет D[v] a.
Доказательство Докажем по индукции, что после каждого этапа алгоритма выполнены следующие условия:
D[v] равна a в v ;D[v] равна a в v, проходящего по множеству S ;v дерева T, задаваемого массивом ОТЕЦ, a в v равна D[v].Эти три условия очевидно выполняются после инициализации в строках 1- 5.
Предположим теперь, что они выполнены перед началом k -го этапа.
Пусть w - вершина, добавляемая к S на k -ом этапе. По предположению, D[w] - a в w, все вершины которого, кроме w, входят в S. Предположим, что
есть другой более короткий путь p из a в w. Зафиксируем на этом пути первую
вершину u, не входящую в S. По выбору p $$u\ne w$$. Поэтому путь p разбивается
на две непустые части: путь p1 из a в u и путь p2 из u в w. Но по выбору w
мы имеем, что p1 >= D[u] >= D[w]. Так как p2 неотрицательна, то p >= D[w], т.е. этот путь не короче пути, представленного в дереве T. Таким образом, D[w] - это a в w. Следовательно, условие (а) выполнено и после k -го этапа.
Рассмотрим теперь произвольную вершину $$u \in V \setminus (S \cup \{ w\} )$$. p из a в u, проходящий по множеству $$S \cup \{ w\}$$,
либо не включает вершину w и в этом случае его D[u] и он имеется в текущем
дереве T, либо он проходит через w и составлен из a в w через S, продолженного ребром (w,u). В последнем случае D[w] + c(w,u). Но в 10-ой строке алгоритма эти величины сравниваются и, если
путь через w короче, то его D[u] (строка 11) и
он фиксируется в дереве T (строка 12). Следовательно, условия (б)
и (в) также выполнены после k -го этапа.
Так как после завершения алгоритма S = V, то в завершающем дереве T
представлены a во все достижимые из нее вершины,
а массив D содержит u не достижима из вершины a.
Замечание о сложности. На каждом этапе (исполнении тела основного цикла в стр. 6 - 13) одна вершина добавляется во множество S. Поэтому таких этапов не более |V|.
Чтобы выбрать в массиве D вершину w с минимальным D[w] (стр. 7), требуется
не более |V| шагов. Перевычисление D[u] для каждой из вершин $$u \in (V\setminus S)$$ требует константного числа операций, поэтому весь цикл в стр. 9 - 12 потребует
не более c |V| шагов. Отсюда получаем, что для некоторой константы c
время выполнения c |V|2. Поскольку размер любого представления исходного графа не меньше |V|, то алгоритм работает в квадратичное время (от размера входа).
Задача 11.1. Цикл в связном
Указание. Достаточность можно установить, доказав правильность следующей процедуры построения Эйлерова цикла.
a и построить цикл, начинающийся и закачивающийся в a, следуя правилу (*): прийдя в некоторую вершину, выйти из нее по произвольному ребру, еще не включенному в цикл.b, Задача 11.2.
Используя результаты предыдущей задачи, определить по неориентированному графу G=(V,E) четный ли он. Если он не является четным, то удалить из него минимальное число ребер, чтобы он стал четным. Построить в исходном или в получившемся после удаления ребер четном графе
V={a,b,c,e,f,g,h, k,m,n }, E={ (a,c), (a,h), (a,m),(a,k), (b,c),(b,k), (b,f), (b,m), (c,k), (c,m), (e,f), (e,g),
(f,k), (f,n),(g,m), (g,h), (h,k), (h,m),(k,n) }.
Задача 11.3. G=(V,E) называется двудольным, если его вершины можно разбить на две непересекающихся части X и Y ( $$V=X \cup Y, X \setminus cap Y = \varnothing$$ ) так, что каждое ребро из $$e \in E$$ соединяет вершину из X с вершиной из Y. Такой граф также называется бихроматическим, так как его вершины можно раскрасить в два цвета так, что соседние вершины будут окрашены в разные цвета.
Докажите, что граф является двудольным тогда и только тогда, когда в нем нет циклов
нечетной
Указание. Достаточность можно установить, доказав правильность следующей
процедуры разбиения V на X и Y:
X и отметить ее знаком +.ПОКА имеются неотмеченные вершины с отмеченными соседями
ВЫПОЛНЯТЬ {
X в Y и отметить их знаком - ;Поместить все неотмеченные вершины с соседями из Y в X и отметить их знаком +
};
ЕСЛИ после завершения цикла 2 в V остались неотмеченные вершины
ТО поместить произвольную такую вершину v в X, отметить ее знаком + и снова повторить цикл 2
ИНАЧЕ выдать в качестве результата полученные множества: X - вершины, отмеченные +, и Y - вершины, отмеченные -.
Для
Задача 11.4.
Используя результаты предыдущей задачи, определить, является ли
заданный ниже G=(V,E) двудольным.
Если он не двудольный, то каково минимальное число ребер, которые нужно из него
удалить, чтобы он стал двудольным? Приведите обоснование ответа.
V={a,b,c,e,f,g,h, k,m,n }, E={ (a,h), (a,n),(a,k), (b,k), (b,f), (b,m), (c,k), (c,h), (e,f), (e,g), (f,a), (f,m),(g,m), (m,n) }.
Задача 11.5.
Найти минимальное G=(V,E), где V={v1,v2,v3,v4,v5,v6,v7,v8,v9}, E = {(v1,v2,18), (v1,v3,2), (v3,v2,4), (v3,v4,6), (v3,v5,8), (v4,v6,5), (v5,v4,4), (v6,v1,7), (v6,v8,4), (v6,v7,3), (v7,v5,1), (v7,v8,7), (v8,v1,5), (v8,v9,3), (v9,v1,1)}
(третий параметр в скобках - стоимость ребра).
Задача 11.6. Пусть S= (V,T) - G=(V,E) с n вершинами. Пусть c1 <= c2 <= ... <= cn-1
- это последовательность длин ребер из T, упорядоченных по возрастанию.
Пусть S' - произвольное G
с длинами ребер d1 <= d2 <= ... <= dn-1. Показать, что ci <= di для всех i: 1 <= i <= n-1.
Задача 11.7.
Пусть e - ребро максимального веса в некотором цикле
графа G=(V,E). Докажите, что существует G'=(V,E \ {e}), который является также G.
Задача 11.8.
Пусть D=(V,T) - это u является предком v в D, либо v является
предком u в D.
Задача 11.9. Модифицируйте алгоритм ВЕРХ(v)
и распечатывал список всех
Задача 11.10.
Обойти (занумеровать) вершины заданного неориентированного
графа G с помощью алгоритма обхода "в глубину" и построить дерево этого обхода.
G = (V,E), где V = {v1,v2,v3,v4,v6,v7,
v8,v9,v10,v11},
E ={(v1,v2),(v1,v4),(v1,v8),(v7,v8),
(v2,v9),(v9,v11), (v3,v8),(v6,v3), (v3,v7),(v6,v7), (v10,v9), (v10,v11) }.
Какое G обнаружились в этом обходе первыми?
Вычислите для каждой вершины v значение ВЕРХ(v) и определите все G.
Задача 11.11.
Измените алгоритм обхода "в глубину" так, чтобы он позволил
перечислить все
Задача 11.12.
Определить для заданного нагруженного графа G=(V, E)
и выделенной вершины $$a \in V$$ G и построить дерево этих путей.
V={a, b, c, d, e,f }, E= {(a,b; 154), (a,c; 17),(a,d; 214), (a,e; 63), (b, d; 25), (c,e; 33), (c, d; 192), ( c,b; 123), (d, f; 5), (e,f; 140), (d,e; 10)}, (здесь каждая скобка (u,v; D) задает ребро $$(u,v) \in E$$ и его "вес" c(u,v)=D ).
Задача 11.13.
Где в доказательстве правильности
Задача 11.14.
Докажите, что на каждом шаге S проходит только через вершины
множества S.
Задача 11.15.
Сколько раз может меняться для одной вершины v значение D[v] в ходе работы
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.