Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форумы Синтона > Юмор, игры, загадки, логические задачи > Помогите решить задачу


Автор: нечто 23.11.2013 - 11:31
Есть событие, для наглядности - конкурс красоты. Оно оценивается по, скажем шести параметрам выборной комиссией. Нам известны все эти параметры и то как распределились девушки в рейтинге(выборок можно сделать неограниченно).
Как из этих данных "пробить" алгоритм по которому работает выборная комиссия?

Автор: Jackie 23.11.2013 - 13:47
Я правильно понимаю, что задача - привести все параметры к общей единице измерения, чтобы потом простым сложением 6 цифр посчитать рейтинг каждого участника?

Автор: Ласкер 23.11.2013 - 13:51
1. Меняем по очереди каждый параметр, остальные фиксируем. Выясняем направление каждого (+/-).
2. Выбираем один из параметров за единичный (вводим свой), относительно которого изучаем взаимосвязь с другими (линейная, обратная, экспоненциальная и т.д.) - фиксируем четыре, двумя "играем". Проверяем при других (в т.ч.) крайних значениях зафиксированных параметров. Например, м.б., что зеленые глаза=fail или другими 'словами': x/|x| != sign(x).
3. Калибруем с требуемой точностью.
4. Формулируем общую зависимость 'красивости'.

Автор: Ласкер 23.11.2013 - 13:53
Цитата
чтобы потом простым сложением 6 цифр

Не обязательно сложением. Может быть и умножение, и возведение в степень, и гармонические зав-ти...

Автор: нечто 23.11.2013 - 14:30
Jackie,
Цитата (Ласкер)
Цитата
чтобы потом простым сложением 6 цифр


Не обязательно сложением. Может быть и умножение, и возведение в степень, и гармонические зав-ти...

Ага, пожтверждаю.
Ласкер, супер! Спасибо.
А если параметров несколько больше, а девушек в обрез? icon_biggrin.gif И перебрать не получится?
Возможно ли что-то сделать?
Я думал что тут что-то вроде многофакторного анализа - выяснить вес который вносит каждый параметр на небольшой выборке и распространить на остальное. Но я наверное фигню говорю, не шарю в этом.

Автор: vpotapov1 23.11.2013 - 15:43
Нечто, есть предложение придумать конкретные условия, так будет понятнее. Это не помешает решать задачу в общем виде (при определенных условиях, конечно)
Например:
конкурсы: красота - ум- умение вышивать крестиком и т.п.
участницы: Лена, Катя, Ира и т.д.
результаты конкурсовicon_sad.gifрейтинг - место в конкурсе - лен и кать по каждому)

Заодно пояснишь нам, почему именно шесть

Автор: Jackie 23.11.2013 - 16:11
Как вариант:
По каждому параметру сделать рейтинг мест (1-ое, 2-ое и т. п.). Потом вывести у каждого участника среднее арифметическое место по всем его параметрам. У кого ближе к 1-ому, тот победил.

Автор: КиЛа 23.11.2013 - 16:46
Цитата (нечто @ 23.11.2013 - 11:31)
Есть событие, для наглядности - конкурс красоты. Оно оценивается по, скажем шести параметрам выборной комиссией. Нам известны все эти параметры и то как распределились девушки в рейтинге(выборок можно сделать неограниченно).
Как из этих данных "пробить" алгоритм по которому работает выборная комиссия?


А может просто выбрать самую красивую из девушек? icon_wink.gif icon_yes.gif icon_smile.gif (коли уж это конкурс красоты)
А то после возведения параметров в факториал и вычисления из них косинусоидального логарифма, победит какая-нибудь усреднённая нетонесенность.
(как оно обычно и случается на такого рода конкурсах)

Автор: Ласкер 23.11.2013 - 16:48
Jackie, как я понимаю, задача не в определить пободителя, а узнать, почему он(а) - победил(а).
Т.е. несколько комплектов значений загружаем в черный ящик, он их упорядочивает по каким-то лишь ему известным принципам. Выяснить, как работает черный ящик (определить набор значений, который на выходе всегда будет первым).

Автор: Ласкер 23.11.2013 - 16:56
Цитата
А может просто выбрать самую красивую из девушек?      (коли уж это конкурс красоты)
А то после возведения параметров в факториал и вычисления из них косинусоидального логарифма, победит какая-нибудь усреднённая нетонесенность.
(как оно обычно и случается на такого рода конкурсах

Рейтинг определяли на основании критериев красота, ум, талант по формуле R=ab+ac+bc. Жюри не смогло бы выбрать победительницу среди красивой и умной Маши, красивой и талантливой Даши, умной и талантливой Наташи... Если бы не Наташино виртуозное владение языком.

Автор: нечто 23.11.2013 - 17:05
vpotapov1 да не вопрос...

Участницы:
лена катя ира
параметры:
ум, талант, рост, вес
места:
1. катя
2. ира
3. лена
icon_biggrin.gif

Автор: vpotapov1 23.11.2013 - 20:17
Цитата
Участницы:
лена катя ира
параметры:
ум, талант, рост, вес
места:
1. катя
2. ира
3. лена

Я правильно понял, что:
1. Решателю задачи известны все параметры каждой из участниц
2. набор из лен, кать и ир можно обновлять произвольное число раз (например, второй раз это будут таня, маня и соня)
Если к моим пп 1, 2 добавить Ласкеровское условие (подредактировал для наглядности):
Цитата
Рейтинг определяли на основании критериев ум, талант, рост, вес по формуле
Ri=Уi * a+Тi * b+Рi * c+Вi* d
где:
Уi - ум участницы с номером i (например, при i=1,  У1 - это ум Кати, выраженный числом)
Тi - талант участницы с номером i
то же для роста Р и веса В


то найти надо коэффициенты a b c d

алгоритм примерно такой:
в каждом случае присваиваем рейтинг первому месту 2, второму 1, третьему 0
Набираем необходимое число уравнений (в нашем случае это четыре, т.е. достаточно 3-х уравнений одного конкурса и еще одного уравнения из следующего) и находим коэффициенты a b c d (система уравнений с четырьмя неизвестными имеет единственное решение, если нет линейно зависимых уравнений). Пусть это будет первое решение a1 b1 c1 d1
Получая последовательные ряды aj bj cj dj мы можем, усредняя нарастающие данные, получить некое представление о коэффициентах

Если же рейтинг определяется нелинейно, то тут два варианта:
1. мы знаем эти функции. В этом случае алгоритм точно такой же
2. мы не знаем этих функций. В этом случае задачу можно сделать практически нерешаемой ИМХО

Автор: нечто 23.11.2013 - 20:26
Цитата
Решателю задачи известны все параметры каждой из участниц

Значения параметров? Нет.
Цитата (Ласкер)
как я понимаю, задача не в определить пободителя, а узнать, почему он(а) - победил(а).
Т.е. несколько комплектов значений загружаем в черный ящик, он их упорядочивает по каким-то лишь ему известным принципам. Выяснить, как работает черный ящик (определить набор значений, который на выходе всегда будет первым).


Цитата
набор из лен, кать и ир можно обновлять произвольное число раз (например, второй раз это будут таня, маня и соня)

ага, но не хотелось бы.
Цитата
Рейтинг определяли на основании критериев ум, талант, рост, вес по формуле
Ri=Уi * a+Тi * b+Рi * c+Вi* d

нам как раз и нужно узнать по какой формуле определяли.
ЗЮЫЮ в общем то Ласкер уже дал решение. Разве что кто предложит что-то с меньшим числом ресурсозатрат.
Если нет, то мне остается привинтить его к своим черепахам. Пока не очень четко себе представляю как конкретно реализовать пункт 2 icon_smile.gif

Автор: vpotapov1 23.11.2013 - 21:23
Цитата
Значения параметров? Нет.

тады ой
Цитата
в общем то Ласкер уже дал решение

вот это?
Цитата
1. Меняем по очереди каждый параметр, остальные фиксируем. Выясняем направление каждого (+/-).
2. Выбираем один из параметров за единичный (вводим свой), относительно которого изучаем взаимосвязь с другими (линейная, обратная, экспоненциальная и т.д.) - фиксируем четыре, двумя "играем". Проверяем при других (в т.ч.) крайних значениях зафиксированных параметров. Например, м.б., что зеленые глаза=fail или другими 'словами': x/|x| != sign(x).
3. Калибруем с требуемой точностью.
4. Формулируем общую зависимость 'красивости'.

так ты ж сам сказал, что мы значений параметров не знаем

Автор: нечто 23.11.2013 - 21:34
Цитата
так ты ж сам сказал, что мы значений параметров не знаем

не знаем, ставим свои и смотрим.

Автор: vpotapov1 23.11.2013 - 21:47
Цитата
не знаем, ставим свои и смотрим.

т.е. мы выдаем для жюри свои параметры, а жюри пропускает их через черный ящик и выдает рейтинг?

Автор: нечто 23.11.2013 - 21:58
Но только не в том плане что в черном ящике происходит волшебство, нет. У жюри есть совершенно четкий алгоритм что с этими параметрами делать. А для нас это черный ящик, вот и требуется разрушить сказку.

Автор: vpotapov1 23.11.2013 - 22:18
Тогда тут вряд ли что-либо придумаешь кроме того, что предложил Ласкер.
Тем более что слишком в общем виде сформулировано. Ибо для простой зависимости и для сложной - очень разная трудоемкость. А мы не знаем даже, "в какой мере" зависимость сложна
ЗЫ Задача с линейной зависимостью и нахождение коэффициентов мне представляется более интересной. Хотя я думаю, что в своих предложениях кое-что напорол. Например, можно найти не сами коэффициенты, а их соотношения, т.к. мы не знаем, к примеру, 2 балльная или 100 балльная система оценок

Автор: Ласкер 24.11.2013 - 04:30
Цитата
Пока не очень четко себе представляю как конкретно реализовать пункт 2

Например, единичный параметр - интеллект. Выражен в IQ. Берем Таню, Катю и Лену с IQmax=180, 120 и min 100. и талантами 500 (остальные параметры равны с поправкой на владение языком). Прокачиваем Кате и Лене талант, пока они не обгонят Таню. Получаем три точки (вертикальных отрезка) на графике. Лене возвращаем 500, остальным талант понижаем, пока Лена не обгонит умниц за счет таланта. Еще три точки (отрезка). Интерполируем в две кривые (прямые), по-которым вычисляем приближенную формулу конвертации таланта в IQ. Также поступаем с остальными параметрами (рост, вес, цвет волос) - выражаем в IQ.
Естественно, точек и кривых понадобится больше для релевантности.

Автор: MegaVolt 25.11.2013 - 14:29
Если известны параметры девушек на входе. Известно решение принятое жюры на выходе то дальше действуем так:

Желательно чтобы количество девушек было больше или равно количеству параметров.

1. Придумываем возможный алгоритм.
2. Записываем N уравнений где N число параметров у девушки.
3. Решаем уравнение.
4. Если решение существует то проверяем его на оставшихся девушках.
5. Если решение не найдено или не прошла проверка то идём на пункт 1.

Автор: Sh18 10.12.2013 - 08:53
Общая задача:

Имеются входные данные (много), есть некоторая функция обработки (часто называется хэш-функция), имеются выходные данные (немного). Задача: определить хэш-функцию.

Как вы понимаете, определить ее в общем случае невозможно. На этом работают все коды активации, шифрования и проч. В шифровании с открытым ключем, например, даже алгоритм всем известен, не известны только параметры - обычно 20-40 цифр.

Посему, решать задачу в общем виде просто бессмысленно. Для конкретных данных (которые надо тогда привести, чем полнее, тем лучше) можно выдвигать правдоподобные гипотезы, которые даже можно сравнить из каких-то общих сторонних соображений и выбрать "лучшую". Но доказательства ее правильности не будет.

Автор: Ласкер 10.12.2013 - 10:55
Sh18
Встретились физик и математик... icon_biggrin.gif
Строгое соответствие нужно будет проверять на множестве всех возможных наборов входных данных.
Для 10-и ДА/НЕТ параметров это 1024 значения функции,
для трёх целых оценок от 1 до 10 и того меньше.
А для шифрования используют открытый ключ такой длины, чтобы вычисление перебором вариантов отнимало слишком много времени.
Наши любимые (и другие) спецслужбы противятся использованию для pgp ключа длиннее 2kB - ломать долго.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)