|
|
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Есть опросник с x вопросов, на каждый вопрос есть y вариантов ответов, только один ответ правильный. Студент не знает ответов ни на один вопрос, но может проходить вопросник много раз. В конце прохождения студент получает результат - процент правильных ответов. Как найти правильные ответы (только методом повторного прохождения)? Мой вариант. Первый раз отвечать произвольно, записывать свои ответы и результат прохождения. Второй раз дать те же ответы, но один ответ изменить, посмотреть результат, делать вывод о правильном ответе на вопрос. Если результат не изменился - оба варианта не правильные. Если ухудшился - предыдущий ответ был верный, если улучшился - последний ответ правильный. Ну и так дальше до момента нахождения всех правильных ответов. Пожалуйста, подскажите лучший вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 13:48 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
spudeiЕсть опросник с x вопросов, на каждый вопрос есть y вариантов ответов, только один ответ правильный. Студент не знает ответов ни на один вопрос, но может проходить вопросник много раз. В конце прохождения студент получает результат - процент правильных ответов. Как найти правильные ответы (только методом повторного прохождения)? Мой вариант. Первый раз отвечать произвольно, записывать свои ответы и результат прохождения. Второй раз дать те же ответы, но один ответ изменить, посмотреть результат, делать вывод о правильном ответе на вопрос. Если результат не изменился - оба варианта не правильные. Если ухудшился - предыдущий ответ был верный, если улучшился - последний ответ правильный. Ну и так дальше до момента нахождения всех правильных ответов. Пожалуйста, подскажите лучший вариант. Записать все вопросы и найти ответы в любых источниках ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 17:22 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
XordalЗаписать все вопросы и найти ответы в любых источниках ;) Так нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 17:44 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
spudeiXordalЗаписать все вопросы и найти ответы в любых источниках ;) Так нельзя. вариант "выучить" вы не рассматриваете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 18:00 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Вспомнил игру быки и коровы . Хорошо тренирует голову и если найдете алгоритмы для игры в нее, сможете решить свою задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 18:06 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Xordal, спасибо за линк. Действительно, похожая задача. Только не понятно, какую стратегию стоит реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 13:51 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Быки и коровы здесь не подходят, так как количество коров никогда не сообщается. Кстати, задача в исходной формулировке возможно не будет решена способом, указанным в оп посте: если проценты округляются до скажем целых, то 1.2% и 1.3% будут оба округлены до 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 14:40 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
поищите по ключевым словам "генетические алгоритмы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 15:15 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Исходный вариант - всё-таки O(2) Если опросник - web-based, то можно попробовать тупо написать скрипт с перебором всех вариантов и логирование результатов. Если же это простое приложение, а X*Y достаточно велико - иногда реверс-инжиниринг приносит достаточно быстрые результаты, особенно если приложение написано такими же разработчиками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2011, 23:09 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Форум: Все форумы / ПрограммирКстати, задача в исходной формулировке возможно не будет решена способом, указанным в оп посте: если проценты округляются до скажем целых, то 1.2% и 1.3% будут оба округлены до 1. Точность округления достаточная. Если число правильных ответов изменилось - отразится на результате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2011, 11:41 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
AndreTMЕсли опросник - web-based, то можно попробовать тупо написать скрипт с перебором всех вариантов и логирование результатов. Если же это простое приложение, а X*Y достаточно велико - иногда реверс-инжиниринг приносит достаточно быстрые результаты, особенно если приложение написано такими же разработчиками... Запоминание данных ответов не проблема. Вопрос в том, как с них делать выводы и какую стратегию должен использовать студент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2011, 11:48 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Есть усложнений вариант, для которого не подойдет начальный вариант прохождения. Опросник состоит с x вапросов с x' возможных (x' > x). x - константа во всех вариантах опросника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2011, 12:07 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Вот, пример. Колонка - экзамен, строка - вопрос. Подскажите, пожалуйста, как проанализировать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 15:30 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
spudeiВот, пример. Колонка - экзамен, строка - вопрос. Подскажите, пожалуйста, как проанализировать? Никак. Неясны ваши данные. Как минимум, таблица должна быть вся заполнена "буковками". Или вы хотите сказать, что на некоторые (или все) вопросы можно не давать ответ? - тогда алгоритм достаточно прост, и реализуется за x*y проходов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 09:24 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
В приведенном примере множество возможных вопросов больше числа вопросов в одном опроснике. Но количество вопросов всех вариантов вопросника одинаковое и все вопросы равноценные. Если в ячейке пусто - вопрос не попал в вариант опросника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 23:26 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
1) - пусть мы имеем X (количество) - множество всех вопросов (например, 80) - пусть мы имеем y - количество вариантов ответов на вопрос (например, 4) - пусть мы имеем (или вычисляем) x - количество вопросов из множества X, заданных в данном опросе (например, 40) - дополнительно будем считать, что X <= 95, и ответ на вопрос нужно обязательно давать, ответ на вопрос может быть только один. 2) - прогоняем тест один раз и заполняем первоначальную таблицу вопрос/ответ - x(i) - вопрос, ответ - первый, результат теста сохраняем в S (суммарный процент). 3) основной цикл "приближения к идеалу" Итак, вся проблема заключается в том, что мы должны сначала давать ответы на вопросы, а потом только увидим результат. НО! - множество X ограничено, поэтому чем больше дальнейших тестов мы будем проводить, тем больше вероятность того, что x будет выбираться уже из известных X'. - сохраняем копию текущего состояния, затем проходим итерацию текущего теста - если встречаем уже заданный до этого вопрос - отвечаем следующим ответом, но только на первый раз (все следующие уже заданные до этого вопросы - пропускаем) - с другой стороны, если встречаем новый вопрос - отвечаем на него первым ответом (добавив вопрос в таблицу), при этом, конечно, возникает неоднозначность (разберём её далее) - итак, если мы в данной итерации не встретили нового вопроса, то по результату теста однозначно можем сделать вывод, была ли смена ответа на тот единственный вопрос правильной: если сумма изменилась - фиксируем ответ измененного вопроса (и далее его уже не затрагиваем), если нет - к следующей итерации - если же в данной итерации был добавлен один (или несколько) вопрос(ов), и при этом был изменен ответ на один из уже имеющихся вопросов, то возникают следующие варианты: -- результат уменьшился -> однозначно неверный ответ на имевшийся вопрос, откатываем и фиксируем -- результат не изменился или увеличился -> неопределенность, измененный ответ откатывается, в новых вопросах тоже ставится признак повторной проверки В-принципе, далее гоняйте до скончания века... - копия состояния в любой момент будет наилучшим результатом. P.S. - если О-О-Очень надо пример - то не поленюсь настрадать его, с примерным исходником и реализацией алгоритма. Весь вопрос - в сумме, с которой вы готовы расстаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2011, 03:00 |
|
||
|
Помогите с алгоритмом прохождения опросника.
|
|||
|---|---|---|---|
|
#18+
Возможно, подойдет первоначальный алгоритм, только как-нибудь оптимизировать его, чтобы сократить количество проходов... Вот, например, допустим 4 варианта ответа на каждый вопрос. Делаем четыре прохода, в первом отвечаем на всё "а", во втором - "б" и далее, запишем результаты и получим вывод, вроде такого: "в произвольном вопросе вероятность ответа "а" 20%, вер-ть "б" 23% ...." Далее, сгенерируем линейку ответов, поьзуясь полученными вероятностями. Теоретически она должна иметь высокий процент правильных ответов. Далее применим алгоритм предложенный ТС. Кроме того, можно генерировать таким образом несколько линеек до получения какого-то порогового результата, например 80% или 90% правильных ответов, а остальные "добить" приведенным ТС алгоритмом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2011, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37099187&tid=1343163]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 493ms |

| 0 / 0 |
