Создаю тестовую темку в оффтопике для попытки обсудить и собрать любые алгебраические идеи для аналитического исследования задачи по определению любимых стилей футболистов. Линейная алгебра стилей Подобное желание возникло лишь после того, как наткнулся на этот пост менеджера Shustrik. Благодаря его идее каждый матч во ВСОЛе можно рассматривать как уравнение с 10+16=26 неизвестными. В качестве неизвестных используются некие объекты двух типов, символизирующие взаимодействие стилей игроков со стилем игры в матче (16 неизвестных, которые пока будем называть объектами или переменными 1-ого типа) и символизирующие взаимодействие стилей двух игроков (10 неизвестных, которые пока называем объектами или переменными 2-ого типа). Для каждого игрока существует 6 переменных 1-ого типа, и если для какого-то игрока одна из переменных 1-ого типа равна 2, то автоматически остальные переменные 1-ого типа для этого игрока приравниваются 0. Применительно к моей команде, в которой за 2 сезона в матчах приняли участие около 40 игроков, легко видеть, что переменных 1-ого типа возможно максимум 6*40=240 штук. С переменными 2-ого типа дело обстоит по-другому. Если в команде N игроков, то количество переменных равно числу сочетаний из N по 2: Для моей команды максимальное число переменных 2-ого типа составит 40 * 39 / 2 = 780 штук. К счастью, в сыгранных матчах их будет гораздо меньше, чем 780, т.к. очень часто одни и те же игроки играют примерно на одинаковых позициях и образуют порядка 10 пар за всю историю выступления в команде, а не порядка 50. Применительно к моему клубу за сезон команда играет от 50 до 100 матчей. Давайте возьмём самый малоинформативный случай - всего 50 матчей в сезон. Тогда за 2 сезона, в которых сыграно около 100 матчей, имеем систему из примерно 100 линейных уравнений с максимальным количеством неизвестных в размере 240 + 780 = 1020. В сыгранных матчах, конечно же, будут встречаться не все переменные. Т.е. на практике переменных будет не тысяча, а несколько сотен. Кроме уравнений, символизирующих сами матчи, в систему необходимо добавить "уравнения единственности любимого стиля", символизирующие, что для каждого игрока из шести переменных 1-ого типа только одна равна 2, остальные 5 равны 0 - других значений не бывает. Какой именно вид должны иметь "уравнения единственности любимого стиля", точно не знаю - может кто-нибудь предложит подходящий способ? Таким образом мы увеличим число уравнений системы. Но может быть кто-то заметит, что к этой системе можно подключить ещё какие-нибудь уравнения? Теперь нужно решить, как лучше поступить с итоговой системой. 1) Один из вариантов - приведение системы к трапецевидной форме. В результате такого приведения мы выразим часть переменных системы через оставшиеся переменные, которые будут свободными. Систему можно приводить к трапецевидной форме двумя способами, когда в качестве свободных переменных мы будем стараться оставлять переменные 1-ого типа и когда будем стараться делать свободными переменные 2-ого типа. А затем уже ищем все свободные переменные прямым перебором на компе. На деле свободных переменных может оказаться слишком много, чтобы комп успел перебрать и проверить все возможные их комбинации за несколько часов, поэтому нужно искать другой вариант, как работать с системой. 2) Может быть кто-то предложит что-нибудь действующее и идейное в качестве второго варианта? Пока же в свою очередь могу предложить выделять из большой системы маленькие. а) Сначала все возможные комбинации по 2 уравнения. 2 похожих матча будут описываться примерно одинаковыми неизвестными, и может так случиться, что из пары уравнений можно будет выразить связь малого количества переменных. Количество всевозможных таких систем двух уравнений из имеющейся сотни уравнений равно числу сочетаний из 100 по 2: 100 * 99 / 2 = 4950. Комп разберется с 5000 систем за доли секунды. б) Далее комбинации по 3 уравнения, количество которых равно: 100 * 99 * 98 / 3! = 161700 систем. Комп снова справится за секунду. в) Комбинации по 4 уравнения: 100 * 99 * 98 * 97 / 4! = (примерно) 4 млн систем. Комп "жужжит" порядка секунды. г) Комбинации по 5 уравнений: 100* 99 * 98 * 97 * 96 / 5! = (примерно) 75 млн систем. Комп работает порядка минуты. д) по 6 уравнений: около млрд систем - это уже полчаса-час е) по 7 уравнений: 15 млрд систем - примерно пол-суток ж) по 8: почти 200 млрд систем - это уже много - порядка недели При анализе таких малых систем может возникнуть ситуация, когда удастся сразу выяснить стиль какого-нибудь определенного игрока. А вся фишка в том, что знание стиля хотя бы одного игрока делает следующие добрые вещи: а1) сразу определяются все переменные 1-ого типа для данного игрока; а2) все переменные 2-ого типа, в которых "участвует" данный игрок, трансформируются в переменные 1-ого типа для оставшихся игроков,т.е. знание стиля одного игрока сразу уменьшает число неизвестных на (6 + N) штук, что замечательно сократит область перебора. А теперь вопрос для тех, кто "асилил" текст до этих 4-ёх строчек - я в них сделал ошибку. Какую - отвечу ниже, но если Вы нашли её сами до этого момента, значит Вы в теме. Ошибка в утверждении а2) - переменные 2-ого типа не трансформируются в 1-ый тип, т.к. взаимодействие стилей игроков отличается от взаимодействия игрока с общим стилем команды в матче. Но а1) - абсолютно верно. Несмотря на ошибочность а2), область перебора всё равно некоторым образом сократится - кто предложит, как это использовать? Нелинейная алгебра стилей Ещё хотел бы предложить матричную модель стилей. В этой модели используются следующие объекты: - объект стиль - матрица размера 6 на 1, т.е. столбец, в котором один элемент равне 1, остальные 5 элементов равны 0; - матрица коллизий размера 6 на 6, которая производит операцию взаимодействия стилей двух игроков; - матрица стиля (матрица общего стиля команды в матче) - это единичная матрица размера 6 на 6. Чтобы понять, как это "работает", просто посмотрите картинку: Полноразмерная картинка по адресу: https://img708.imageshack.us/img708/3966/111bgc.jpg Уравнение из таких объектов описывает матч, а множество таких матчей порождает систему уравнений из таких объектов. Система уравнений, в которых в качестве неизвестных выступают матрицы размера 6 на 1 (попросту говоря, столбцы), а в качестве постоянных коэффициентов - матрицы 6 на 6. Неизвестные эти имеют такую особенность, как то, что они являются ортами в 6-мерном пространстве, т.е. это линейно-независимые единичные векторы в 6-мерном пространстве стилей. Как решать подобную нелинейную систему и что можно сделать с ней полезного - пока не знаю. А Вы? |