Имя: Пароль:
1C
 
Алгоритм
0 BaHgaJI
 
14.05.12
20:01
Помогите алгоритм составить, в тесте есть несколько  тем в каждой теме может быть любое количество вопросов надо сделать так чтобы
пользователь задавал кол-во необходимых ему вопросов, а программа сама подбирала вопросы по темам пропорционально.
Пример:
Тема 1  5 вопросов
Тема 2  1 вопрос
Тема 3 17 вопросов
Тема 4 11 вопросов
Тема 5 3 вопроса
Надо подобрать 20 вопросов
Результат:
Тема 1 5 вопросов
Тема 2 1 Вопрос
Тема 5 3 вопроса
Тема 3 6 вопросов
Тема 4 5 вопросов
Тема 3 и 4 (можно наоборот не принципиально) что-то вроде
1 aleks-id
 
14.05.12
20:06
ранец
2 Михаил Козлов
 
14.05.12
20:17
(1) Ранец-то при чем?
Вi - число вопросов в теме i;
В - нужное пользователю общее число вопросов;
Xi - сколько вопросов взять в i-той теме (искомые переменные).
Xi = В*Вi/СУММА(Вi). Одно плохо - может получиться дробное. Делаем так:
- упорядочиваем темы по возрастанию Вi/СУММА(Вi).
- последовательно идем по темам и берем округленное значение исходя из оставшегося количества невыбранных вопросов и общего количества вопросов в "непросмотренных" темах. На последней теме добираем остаток.
3 aleks-id
 
14.05.12
20:24
(2) а что это по твоему если не ранец?
4 BaHgaJI
 
14.05.12
20:45
(2) ну в принципе да, это тоже самое что: кол-во нужных вопросов/ кол-во всего
и с этим коэффициентом пройтись по темам, но все равно подберет так себе например
из темы 1 возьмет не 5 вопросов а 3, из темы 5 2 вопроса вместо 3-х.
(3) мне тоже кажется ранец тут не при чем,как-то мимо кассы.
5 vmv
 
14.05.12
20:46
это классический кубик-рубика, просто представьте, что грани - это темы, а цвета вопросы)
6 vmv
 
14.05.12
20:48
+(5) N-мерный кубик рубика, вернее.

За 500К по перечислению готов выложить решение)
7 Азазелло
 
14.05.12
20:49
(0) Интересный какой-то результат указан, явно не соответствующий постановке "пропорционально". Почему по Теме 1 должны выбраться все 5 вопросов из 5ти?
8 BaHgaJI
 
14.05.12
20:52
(7) потому что вопросов в теме должно быть примерно одинаково
9 vmv
 
14.05.12
20:53
(7) 1-я грань должна быть идельно черной, т.е. выбраны все вопросы - "нулевой цвет"

палитра грани - коэффициент полтоны выбора вопросов из темы

кто не доганяет - я принесу мешок и кальян)
10 vmv
 
14.05.12
20:55
(8) ок - нечеткие множества и нейронные сети как раз идельные инструменты для решения подобных зачач, рожайте - я посмеюсь и направлю)
11 BaHgaJI
 
14.05.12
20:55
Может змейка рубика?
12 acsent
 
14.05.12
20:57
(0) пропорционально чему? у тебя вариант решенния ну никак не пропорционально
13 vmv
 
14.05.12
20:58
(11) змейка - это тот же кубик по логике, в котором одно измерение убрали, но в постановке задачи она ближе, согласен
14 NS
 
14.05.12
20:58
ТЗТем.Сортировать("Количество+");
КолВоТем=ТЗТем.КоличествоСтрок();
ТЗтем.ВыбратьСтроки();
Пока ТЗТем.Получитьстроку()=1 цикл
БеремВопросов=мин(ТЗТем.Количество,цел(ВсегоВопросов/КолвоТем));
КолвоТем=КолвоТем-1;
ВсегоВопросов=ВсегоВопросов-БеремВопросов;
Сообщить("Тема: "+ТЗТем.Тема+" Вопросов: "+БеремВопросов);
КонецЦикла;
15 vmv
 
14.05.12
21:00
(14) ему нежен алгоритм подбора, а не статистика выбора.

крато и ясно?
16 NS
 
14.05.12
21:02
(15) Ему нужно именно то что я написал.
17 vmv
 
14.05.12
21:03
опять лишили меня куша, ех)
18 BaHgaJI
 
14.05.12
21:06
(14) идеально, (16) ты знал)
19 BaHgaJI
 
14.05.12
21:08
спасибо(16)
20 Азазелло
 
14.05.12
21:37
(19) странно, но (14) не удовлетворяет указанному тобой варианту решения в (0) :)
21 NS
 
14.05.12
21:45
(20) Что? Пример приведи, на котором неверно работает.
набирает полностью вопросов с маленьких тем, а потом поровну распределяет среди нормальных.
22 Азазелло
 
14.05.12
21:51
(21) Пример в (0) :) ТС указал решение, однако в соответствии с (14) мы его не получаем.
23 Азазелло
 
14.05.12
21:52
(21) Суть (14) ясна и не поддается критике. Просто в (0), видимо, неправильно указан пример решения
24 NS
 
14.05.12
22:01
(23) Именно такое решение и получим. Тема2 и тема5 полностью, а из остальных с двух по 5, и с одного 6.
25 Азазелло
 
14.05.12
22:06
(24) По Теме 1 получаем 4 вопроса, а не 5, как у ТС
26 Азазелло
 
14.05.12
22:07
(24) Все, сорри, Сортировать("Количество+") пропустил :)
27 Михаил Козлов
 
16.05.12
18:04
(3) Когда утверждают, что содержательной задаче соответствует математическая модель, принято доказывать это соответствие.
Под "ранцем" обычно понимают такую задачу:
- есть множество предметов, каждый из которых характеризуется 2-мя числами: весом и стоимостью;
- требуется найти такое их подмножество, что суммарный вес не превосходит заданного числа, а суммарная стоимость максимальна.
Математическая модель:
- Xi = 1 или 0 - войдет или нет предмет i в решение;
СУММА(Bi)<= B, Bi - вес i-того предмета
СУММА(Ci)=> MAX, Ci - стоимость i-того предмета
Если Вы считаете, что задача ТС хорошо моделируется ранцем, извольте указать, что является предметами, какие у них вес и стоимость, и продемонстрировать, что задача ТС состоит именно в максимизации стоимости при ограничении на вес.

(5),(6),(9),(10) Вы большой шутник.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн