Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
К автоматизированной проверке
решений некоторого класса задач

Наталия Смирнова
Структура доклада
• Постановка задачи
• Алгоритм Andes Physics Tutor
• Алгоритм ИОС «Волга»
• Выводы. Дальнейшая работа

2
Структура доклада

Постановка задачи

3
Предположения и ограничения
Используются только
Используются только
обозначения системы!
обозначения системы!

Только форм...
Этапы проверки шага решения
Верификация шага

Расчет прогресса в
решении

Сообщение о
статусе шага

?
Вопрос к
студенту

5...
Верификация шага: примерный алгоритм
Пусть студент ввел шаг:
z=1+y
В шаг подставляются известные системе
значения переменн...
Верификация шага: библиотеки
Для упрощения выражений можно использовать
библиотеку SymPy:

7
Измерение прогресса в решении
Измерение прогресса в решении –
нетривиальная проблема.
«Наивный» способ не годится: даже дл...
Измерение прогресса в решении:
пример
Задача: вычислить расстояние между векторами a
иb
Возможные решения генерируются на ...
Измерение прогресса в решении:
пример

Очевидно, что формула
на основе формул (1) и (3)
Т.е. прогресс студента = 2/6 = 33%...
Структура доклада

Алгоритм выявления
зависимостей между
формулами в
Andes Physics Tutor
11
Измерение прогресса в решении в
Andes Physics Tutor

Одна из
систем:
12
Измерение прогресса в решении в
Andes Physics Tutor: недостатки
Непонятно, как обрабатывать формулы с
векторами и матрицам...
Структура доклада

Предлагаемый
алгоритм выявления
зависимостей между
формулами

14
Измерение прогресса в решении в ИОС
«Волга»: данные об известных
решениях учебной задачи

15
Измерение прогресса в решении в ИОС
«Волга»: генерация решений
Искомый объект: p(a,b), данные величины: a1, a2, b1, b2, ве...
Измерение прогресса в решении в ИОС
«Волга»: генерация выражений
по решению
Пусть обучаемый ввел формулу
p(a,b) = sqrt{c_1...
Измерение прогресса в решении в ИОС
«Волга»: проверка шага решения
обучаемого
Пусть обучаемый ввел формулу
p(a,b) = sqrt{c...
Измерение прогресса в решении в ИОС
«Волга»: генерация выражений:
дополнительная эвристика
Пусть обучаемый ввел формулу p(...
Измерение прогресса в решении в ИОС
«Волга»: проверка шага решения
обучаемого
Пусть обучаемый ввел формулу p(a,b) = sqrt{(...
Измерение прогресса в решении в ИОС
«Волга»: выявление имитаций
Пусть обучаемый ввел формулу:
Система сгенерирует эквивале...
Измерение прогресса в решении в ИОС
«Волга»: выявление имитаций
Пусть обучаемый ввел формулу:

Система сгенерирует выражен...
Измерение прогресса в решении в ИОС
«Волга»: выявление имитаций
Пусть обучаемый ввел формулу:
Система сгенерирует выражени...
Измерение прогресса: остальные
случаи
• Среди преподавателей нет согласия о том, чем
должен заниматься студент: выводом фо...
Выводы

25
Выводы
•Необходимо рассмотреть и другие крайние
случаи видов вводимых студентами формул
•… другие задачи, не только по лин...
Использованные источники и полезные
ссылки
Слайд 7
http://sympy.org/ru/index.html

Слайд 12
Shapiro J.A. An Algebra SubSys...
Спасибо за внимание!
Наталия Смирнова, н.с. лаб. 17 ИПУ РАН

smirnovanatalia2008@gmail.com

28
Nächste SlideShare
Wird geladen in …5
×

К автоматизированной проверке решений некоторого класса задач

288 Aufrufe

Veröffentlicht am

Слайды для внутреннего семинара ИПУ РАН

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

К автоматизированной проверке решений некоторого класса задач

  1. 1. К автоматизированной проверке решений некоторого класса задач Наталия Смирнова
  2. 2. Структура доклада • Постановка задачи • Алгоритм Andes Physics Tutor • Алгоритм ИОС «Волга» • Выводы. Дальнейшая работа 2
  3. 3. Структура доклада Постановка задачи 3
  4. 4. Предположения и ограничения Используются только Используются только обозначения системы! обозначения системы! Только формулы, Только формулы, которые могут быть которые могут быть проверены без проверены без обращения к другим обращения к другим формулам! формулам! LaTeX-подобный LaTeX-подобный синтаксис синтаксис 4
  5. 5. Этапы проверки шага решения Верификация шага Расчет прогресса в решении Сообщение о статусе шага ? Вопрос к студенту 5 Обновление инф. В БД (для подсказок и оценки за задачу)
  6. 6. Верификация шага: примерный алгоритм Пусть студент ввел шаг: z=1+y В шаг подставляются известные системе значения переменных: 5=1+4 Полученное выражение упрощается и сравнивается с 0: if simplify(5 – (1 + 4)) == 0: //студент ввел правильный шаг решения …
  7. 7. Верификация шага: библиотеки Для упрощения выражений можно использовать библиотеку SymPy: 7
  8. 8. Измерение прогресса в решении Измерение прогресса в решении – нетривиальная проблема. «Наивный» способ не годится: даже для самой простой задачи требуется внести слишком много формул Ре и решений. ш шаг решения студента ен Эт ие ап 1 Эт 1 а … п2 Эт а пm 8 Image courtesy of Keattikorn at FreeDigitalPhotos.net
  9. 9. Измерение прогресса в решении: пример Задача: вычислить расстояние между векторами a иb Возможные решения генерируются на основе формул: 9 Пусть студент ввел формулу:
  10. 10. Измерение прогресса в решении: пример Очевидно, что формула на основе формул (1) и (3) Т.е. прогресс студента = 2/6 = 33% 10 получена
  11. 11. Структура доклада Алгоритм выявления зависимостей между формулами в Andes Physics Tutor 11
  12. 12. Измерение прогресса в решении в Andes Physics Tutor Одна из систем: 12
  13. 13. Измерение прогресса в решении в Andes Physics Tutor: недостатки Непонятно, как обрабатывать формулы с векторами и матрицами типа Не защищен от имитации правильно введенных шагов решения: для него это одно и то же Имитации: 13 Правильный шаг:
  14. 14. Структура доклада Предлагаемый алгоритм выявления зависимостей между формулами 14
  15. 15. Измерение прогресса в решении в ИОС «Волга»: данные об известных решениях учебной задачи 15
  16. 16. Измерение прогресса в решении в ИОС «Волга»: генерация решений Искомый объект: p(a,b), данные величины: a1, a2, b1, b2, векторы: c, a, b p(a,b) c |c| (c,c) c1 16 b a a1 a2 b1 b2 c2 Часть решения 1 [0, 1, 2] [‘p(a,b)’, ’|c|’, ’(c,c)’] Часть решения 2 [3, 5, 6] [‘с’, ’a’, ’b’]
  17. 17. Измерение прогресса в решении в ИОС «Волга»: генерация выражений по решению Пусть обучаемый ввел формулу p(a,b) = sqrt{c_1^2+c_2^2} Часть решения 1 [0, 1, 2] [‘p(a,b)’, ’|c|’, ’(c,c)’] Извлекаем: Nl = {p(a,b)}, Nr = {c_1, c_2} 1. Ищем часть решения, у которой в списке целевых величин есть p(a,b) и запоминаем индекс p(a,b) 2. ФОРМИРУЕМ выражение, перебирая отношения вычислимости в решении НАЧИНАЯ с указанного индекса ТЕКУЩЕЕ СОСТОЯНИЕ Si : выражение (строка), Ni – обозначения в правой части выражения, U – использованные отношения вычислимости УСЛОВИЕ ОСТАНОВКИ: 17 ИЛИ достигнут конец решения
  18. 18. Измерение прогресса в решении в ИОС «Волга»: проверка шага решения обучаемого Пусть обучаемый ввел формулу p(a,b) = sqrt{c_1^2+c_2^2} Часть решения 1 [0, 1, 2] [‘p(a,b)’, ’|c|’, ’(c,c)’] Извлекаем: Nl = {p(a,b)}, Nr = {c_1, c_2} 1. Индекс p(a,b) = 0 2. S0 = {expression: ‘p(a,b)=|c|’, Ni : [‘|c|’], U: [0]} 3. S1 = {expression: ‘p(a,b)=sqrt{(c,c)}’, Ni : [‘(c,c)’], U: [0,1]} 4. S2 = {expression: ‘p(a,b)=sqrt{c_1^2+c_2^2}’, Ni : [‘c_1, c_2’], U: [0,1,2]} Достигнут конец решения и В expression заменяются все обозначения, кроме тех, которые не присутствуют в Nr. Формула, введенная обучаемым, эквивалентна expression 18 Обучаемый ввел правильный шаг. Прогресс вычисляется на основе U
  19. 19. Измерение прогресса в решении в ИОС «Волга»: генерация выражений: дополнительная эвристика Пусть обучаемый ввел формулу p(a,b) = sqrt{(a_1-b_1)^2+(a_2-b_2)^2} Получим: S2 = {expression: ‘p(a,b)=sqrt{c_1^2+c_2^2}’, Ni : [‘c_1, c_2’], U: [0,1,2]} Если достигнут конец выражения, но не вып. 1.Проверяем, не являются ли обозначения из Ni координатами какого-либо вектора x (в базе знаний имеются сведения типа vectors = [x,y,z], отношения вычислимости с формулами типа ‘x=[x_1;x_2]’) Если являются, то 2. генерируем выражения для x уже описанным способом 3. сопоставляем(унифицируем) определение вектора (выражение типа ‘x=[x_1;x_2’] со сгенерированными выражениями типа ‘x=[f(…),g(…)]’) 4. Si переходит в Si+1 путем замены в expression обозначений из Ni на найденные подстановки из шага 2, U = U + номера отношений из шага 2 19
  20. 20. Измерение прогресса в решении в ИОС «Волга»: проверка шага решения обучаемого Пусть обучаемый ввел формулу p(a,b) = sqrt{(a_1-b_1)^2+(a_2-b_2)^2} Получим: S2 = {expression: ‘p(a,b)=sqrt{c_1^2+c_2^2}’, Ni : [‘c_1, c_2’], U: [0,1,2]} 1.Узнаем, что c_1, c_2 являются координатами вектора c. 2. Генерируем выражения для c, получаем ‘c=([a_1;a_2])-([b_1;b_2])’, U=[3,5,6] 3. унифицируем ‘c=([a_1;a_2])-([b_1;b_2])’ и ‘с=[c_1;c_2]’. Получаем: {‘c_1’: ‘a_1 – b_1’, ‘c_2’: ‘a_2 – b_2’} 4. Получаем: S3 = {expression: ‘p(a,b)=sqrt{(a_1 – b_1)^2+(a_2 – b_2)^2}’, Ni : [‘a_1, a_2’, ‘b_1’, ‘b_2’], U: [0,1,2, 3, 5, 6]} 20
  21. 21. Измерение прогресса в решении в ИОС «Волга»: выявление имитаций Пусть обучаемый ввел формулу: Система сгенерирует эквивалентное выражение (точно такое же). Не имитация. 21
  22. 22. Измерение прогресса в решении в ИОС «Волга»: выявление имитаций Пусть обучаемый ввел формулу: Система сгенерирует выражение Выражения не эквивалентны. Подозрительный шаг. 22
  23. 23. Измерение прогресса в решении в ИОС «Волга»: выявление имитаций Пусть обучаемый ввел формулу: Система сгенерирует выражение Выражения эквивалентны. Имитация, которая не выявляется. 23
  24. 24. Измерение прогресса: остальные случаи • Среди преподавателей нет согласия о том, чем должен заниматься студент: выводом формул или арифметикой • Всегда найдутся неординарные студенты Надо учиться обрабатывать разные «не идеальные» случаи: (1-3)^2+(2-4)^2=8 -4=1-5 24 x_a*x_b+y_a*y_b =3*7+4*8 c_1*c_2=4
  25. 25. Выводы 25
  26. 26. Выводы •Необходимо рассмотреть и другие крайние случаи видов вводимых студентами формул •… другие задачи, не только по линейной алгебре •Не стоит забывать об ограничениях и оставлять студенту возможность для «жалобы» на систему 26
  27. 27. Использованные источники и полезные ссылки Слайд 7 http://sympy.org/ru/index.html Слайд 12 Shapiro J.A. An Algebra SubSystem for Diagnosing Students’ Input in a Physics Tutoring System. http://www.physics.rutgers.edu/~shapiro/tutor/submission3.pdf Слайд 15-23 https://github.com/indra-uolles/solution_tracer 27
  28. 28. Спасибо за внимание! Наталия Смирнова, н.с. лаб. 17 ИПУ РАН smirnovanatalia2008@gmail.com 28

×