SlideShare a Scribd company logo
1 of 28
К автоматизированной проверке
решений некоторого класса задач

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

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

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

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

Только формулы,
Только формулы,
которые могут быть
которые могут быть
проверены без
проверены без
обращения к другим
обращения к другим
формулам!
формулам!

LaTeX-подобный
LaTeX-подобный
синтаксис
синтаксис

4
Этапы проверки шага решения
Верификация шага

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

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

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

5

Обновление инф. В БД
(для подсказок и оценки за задачу)
Верификация шага: примерный алгоритм
Пусть студент ввел шаг:
z=1+y
В шаг подставляются известные системе
значения переменных:
5=1+4
Полученное выражение упрощается и
сравнивается с 0:
if simplify(5 – (1 + 4)) == 0:
//студент ввел правильный шаг решения
…
Верификация шага: библиотеки
Для упрощения выражений можно использовать
библиотеку SymPy:

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

ен
Эт
ие
ап
1
Эт
1
а
… п2

Эт
а

пm

8
Image courtesy of Keattikorn
at FreeDigitalPhotos.net
Измерение прогресса в решении:
пример
Задача: вычислить расстояние между векторами a
иb
Возможные решения генерируются на основе
формул:

9

Пусть студент ввел формулу:
Измерение прогресса в решении:
пример

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

получена
Структура доклада

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

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

Правильный шаг:
Структура доклада

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

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

15
Измерение прогресса в решении в ИОС
«Волга»: генерация решений
Искомый объект: 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’]
Измерение прогресса в решении в ИОС
«Волга»: генерация выражений
по решению
Пусть обучаемый ввел формулу
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

ИЛИ достигнут конец решения
Измерение прогресса в решении в ИОС
«Волга»: проверка шага решения
обучаемого
Пусть обучаемый ввел формулу
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
Измерение прогресса в решении в ИОС
«Волга»: генерация выражений:
дополнительная эвристика
Пусть обучаемый ввел формулу 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
Измерение прогресса в решении в ИОС
«Волга»: проверка шага решения
обучаемого
Пусть обучаемый ввел формулу 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
Измерение прогресса в решении в ИОС
«Волга»: выявление имитаций
Пусть обучаемый ввел формулу:

Система сгенерирует выражение

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

Выражения эквивалентны. Имитация, которая не
выявляется.
23
Измерение прогресса: остальные
случаи
• Среди преподавателей нет согласия о том, чем
должен заниматься студент: выводом формул
или арифметикой
• Всегда найдутся неординарные студенты
Надо учиться обрабатывать разные «не
идеальные» случаи:
(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
Выводы
•Необходимо рассмотреть и другие крайние
случаи видов вводимых студентами формул
•… другие задачи, не только по линейной алгебре
•Не стоит забывать об ограничениях и
оставлять студенту возможность для «жалобы» на
систему

26
Использованные источники и полезные
ссылки
Слайд 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
Спасибо за внимание!
Наталия Смирнова, н.с. лаб. 17 ИПУ РАН

smirnovanatalia2008@gmail.com

28

More Related Content

What's hot

Matemat526
Matemat526Matemat526
Matemat526tesla21
 
Gia zadacha 14
Gia zadacha 14Gia zadacha 14
Gia zadacha 14Elekxa
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlinComputer Science Club
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureAndrei Poliakov
 
Лекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графахЛекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графахMikhail Kurnosov
 
Pokazatelnaya funkciya
Pokazatelnaya funkciyaPokazatelnaya funkciya
Pokazatelnaya funkciyaDimon4
 
разработка урока в.э. чернова
разработка урока в.э. черноваразработка урока в.э. чернова
разработка урока в.э. черноваAndreGus1964
 
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Nikolay Grebenshikov
 
Linejnaya funkciya 2
Linejnaya funkciya 2Linejnaya funkciya 2
Linejnaya funkciya 2Ivanchik5
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовTheoretical mechanics department
 
Методы численного интегрирования
Методы численного интегрированияМетоды численного интегрирования
Методы численного интегрированияTheoretical mechanics department
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Technosphere1
 
Численное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераЧисленное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераTheoretical mechanics department
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепцииFedor Tsarev
 
сортировка массива
сортировка массивасортировка массива
сортировка массиваlonge7
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
 

What's hot (20)

Matemat526
Matemat526Matemat526
Matemat526
 
Gia zadacha 14
Gia zadacha 14Gia zadacha 14
Gia zadacha 14
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
Лекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графахЛекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графах
 
Pokazatelnaya funkciya
Pokazatelnaya funkciyaPokazatelnaya funkciya
Pokazatelnaya funkciya
 
разработка урока в.э. чернова
разработка урока в.э. черноваразработка урока в.э. чернова
разработка урока в.э. чернова
 
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
 
Linejnaya funkciya 2
Linejnaya funkciya 2Linejnaya funkciya 2
Linejnaya funkciya 2
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
 
примеры заданий
примеры заданийпримеры заданий
примеры заданий
 
Методы численного интегрирования
Методы численного интегрированияМетоды численного интегрирования
Методы численного интегрирования
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Сплайн интерполяция
Сплайн интерполяцияСплайн интерполяция
Сплайн интерполяция
 
Численное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераЧисленное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод Эйлера
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции
 
Линейные многошаговые методы
Линейные многошаговые методыЛинейные многошаговые методы
Линейные многошаговые методы
 
сортировка массива
сортировка массивасортировка массива
сортировка массива
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 

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

чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
тестовые задания по алгебре 7 класс
тестовые задания по алгебре 7 класстестовые задания по алгебре 7 класс
тестовые задания по алгебре 7 классoquzaman
 
Урок математики "Понятие одночлена и приведение его к стандартному виду"
Урок математики "Понятие одночлена и приведение его к стандартному виду"Урок математики "Понятие одночлена и приведение его к стандартному виду"
Урок математики "Понятие одночлена и приведение его к стандартному виду"Kirrrr123
 
Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...
Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...
Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...Kirrrr123
 
практика 10
практика 10практика 10
практика 10student_kai
 
практика 10
практика 10практика 10
практика 10student_kai
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreGarik Yenokyan
 
алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...
алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...
алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...adgjm73458
 
смирнова мнш 2013_3
смирнова мнш 2013_3смирнова мнш 2013_3
смирнова мнш 2013_3Natalia Smirnova
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
СИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДСИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДIT_1315
 
ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССА
ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССАДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССА
ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССАGarik Yenoqyan
 
226329 individualnye kartochki-po_algebre_7_klass
226329 individualnye kartochki-po_algebre_7_klass226329 individualnye kartochki-po_algebre_7_klass
226329 individualnye kartochki-po_algebre_7_klassssusera868ff
 
свойства степени с рациональным показателем
свойства степени с рациональным показателемсвойства степени с рациональным показателем
свойства степени с рациональным показателемZAW83
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 

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

чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
тестовые задания по алгебре 7 класс
тестовые задания по алгебре 7 класстестовые задания по алгебре 7 класс
тестовые задания по алгебре 7 класс
 
Урок математики "Понятие одночлена и приведение его к стандартному виду"
Урок математики "Понятие одночлена и приведение его к стандартному виду"Урок математики "Понятие одночлена и приведение его к стандартному виду"
Урок математики "Понятие одночлена и приведение его к стандартному виду"
 
Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...
Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...
Интегрированный урок "информатика + математика" в 10 классе "Преобразования г...
 
Algo 01 part01
Algo 01 part01Algo 01 part01
Algo 01 part01
 
практика 10
практика 10практика 10
практика 10
 
практика 10
практика 10практика 10
практика 10
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebre
 
алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...
алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...
алгебра и начала мат. анализа. 10кл. (баз. и проф. ур.) колягин ю.м. и др 201...
 
10 a k
10 a k10 a k
10 a k
 
смирнова мнш 2013_3
смирнова мнш 2013_3смирнова мнш 2013_3
смирнова мнш 2013_3
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
СИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДСИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОД
 
урок5
урок5урок5
урок5
 
ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССА
ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССАДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССА
ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ ПО АЛГЕБРЕ И НАЧАЛАМ АНАЛИЗА ДЛЯ 9 КЛАССА
 
226329 individualnye kartochki-po_algebre_7_klass
226329 individualnye kartochki-po_algebre_7_klass226329 individualnye kartochki-po_algebre_7_klass
226329 individualnye kartochki-po_algebre_7_klass
 
свойства степени с рациональным показателем
свойства степени с рациональным показателемсвойства степени с рациональным показателем
свойства степени с рациональным показателем
 
7
77
7
 
презентация1
презентация1презентация1
презентация1
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 

More from Natalia Smirnova

Cee secr-2013-smirnova-volga
Cee secr-2013-smirnova-volgaCee secr-2013-smirnova-volga
Cee secr-2013-smirnova-volgaNatalia Smirnova
 
автоматизированный анализ психического состояния студентов
автоматизированный анализ психического состояния студентовавтоматизированный анализ психического состояния студентов
автоматизированный анализ психического состояния студентовNatalia Smirnova
 
Motivation and Willpower component of the student model and it's application ...
Motivation and Willpower component of the student model and it's application ...Motivation and Willpower component of the student model and it's application ...
Motivation and Willpower component of the student model and it's application ...Natalia Smirnova
 
отчет мнш 2012_смирнова_2
отчет мнш 2012_смирнова_2отчет мнш 2012_смирнова_2
отчет мнш 2012_смирнова_2Natalia Smirnova
 
логистическая регрессия
логистическая регрессиялогистическая регрессия
логистическая регрессияNatalia Smirnova
 
байесовские сети и их приложения
байесовские сети и их приложениябайесовские сети и их приложения
байесовские сети и их приложенияNatalia Smirnova
 

More from Natalia Smirnova (7)

Cee secr-2013-smirnova-volga
Cee secr-2013-smirnova-volgaCee secr-2013-smirnova-volga
Cee secr-2013-smirnova-volga
 
автоматизированный анализ психического состояния студентов
автоматизированный анализ психического состояния студентовавтоматизированный анализ психического состояния студентов
автоматизированный анализ психического состояния студентов
 
Motivation and Willpower component of the student model and it's application ...
Motivation and Willpower component of the student model and it's application ...Motivation and Willpower component of the student model and it's application ...
Motivation and Willpower component of the student model and it's application ...
 
отчет мнш 2012_смирнова_2
отчет мнш 2012_смирнова_2отчет мнш 2012_смирнова_2
отчет мнш 2012_смирнова_2
 
дбс1 1
дбс1 1дбс1 1
дбс1 1
 
логистическая регрессия
логистическая регрессиялогистическая регрессия
логистическая регрессия
 
байесовские сети и их приложения
байесовские сети и их приложениябайесовские сети и их приложения
байесовские сети и их приложения
 

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

  • 1. К автоматизированной проверке решений некоторого класса задач Наталия Смирнова
  • 2. Структура доклада • Постановка задачи • Алгоритм Andes Physics Tutor • Алгоритм ИОС «Волга» • Выводы. Дальнейшая работа 2
  • 4. Предположения и ограничения Используются только Используются только обозначения системы! обозначения системы! Только формулы, Только формулы, которые могут быть которые могут быть проверены без проверены без обращения к другим обращения к другим формулам! формулам! LaTeX-подобный LaTeX-подобный синтаксис синтаксис 4
  • 5. Этапы проверки шага решения Верификация шага Расчет прогресса в решении Сообщение о статусе шага ? Вопрос к студенту 5 Обновление инф. В БД (для подсказок и оценки за задачу)
  • 6. Верификация шага: примерный алгоритм Пусть студент ввел шаг: z=1+y В шаг подставляются известные системе значения переменных: 5=1+4 Полученное выражение упрощается и сравнивается с 0: if simplify(5 – (1 + 4)) == 0: //студент ввел правильный шаг решения …
  • 7. Верификация шага: библиотеки Для упрощения выражений можно использовать библиотеку SymPy: 7
  • 8. Измерение прогресса в решении Измерение прогресса в решении – нетривиальная проблема. «Наивный» способ не годится: даже для самой простой задачи требуется внести слишком много формул Ре и решений. ш шаг решения студента ен Эт ие ап 1 Эт 1 а … п2 Эт а пm 8 Image courtesy of Keattikorn at FreeDigitalPhotos.net
  • 9. Измерение прогресса в решении: пример Задача: вычислить расстояние между векторами a иb Возможные решения генерируются на основе формул: 9 Пусть студент ввел формулу:
  • 10. Измерение прогресса в решении: пример Очевидно, что формула на основе формул (1) и (3) Т.е. прогресс студента = 2/6 = 33% 10 получена
  • 12. Измерение прогресса в решении в Andes Physics Tutor Одна из систем: 12
  • 13. Измерение прогресса в решении в Andes Physics Tutor: недостатки Непонятно, как обрабатывать формулы с векторами и матрицами типа Не защищен от имитации правильно введенных шагов решения: для него это одно и то же Имитации: 13 Правильный шаг:
  • 15. Измерение прогресса в решении в ИОС «Волга»: данные об известных решениях учебной задачи 15
  • 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. Измерение прогресса в решении в ИОС «Волга»: генерация выражений по решению Пусть обучаемый ввел формулу 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. Измерение прогресса в решении в ИОС «Волга»: проверка шага решения обучаемого Пусть обучаемый ввел формулу 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. Измерение прогресса в решении в ИОС «Волга»: генерация выражений: дополнительная эвристика Пусть обучаемый ввел формулу 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. Измерение прогресса в решении в ИОС «Волга»: проверка шага решения обучаемого Пусть обучаемый ввел формулу 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
  • 22. Измерение прогресса в решении в ИОС «Волга»: выявление имитаций Пусть обучаемый ввел формулу: Система сгенерирует выражение Выражения не эквивалентны. Подозрительный шаг. 22
  • 23. Измерение прогресса в решении в ИОС «Волга»: выявление имитаций Пусть обучаемый ввел формулу: Система сгенерирует выражение Выражения эквивалентны. Имитация, которая не выявляется. 23
  • 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
  • 26. Выводы •Необходимо рассмотреть и другие крайние случаи видов вводимых студентами формул •… другие задачи, не только по линейной алгебре •Не стоит забывать об ограничениях и оставлять студенту возможность для «жалобы» на систему 26
  • 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. Спасибо за внимание! Наталия Смирнова, н.с. лаб. 17 ИПУ РАН smirnovanatalia2008@gmail.com 28

Editor's Notes

  1. Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем. 
  2. Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем. 
  3. Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем. 
  4. 5f7 – 15 мин решил 2a5 – 5 мин не решил Время обучения показано только у тех кто по чесноку все делал
  5. https://moodle.org/plugins/view.php?plugin=qtype_stack
  6. https://moodle.org/plugins/view.php?plugin=qtype_stack
  7. Image courtesy of Keattikorn at FreeDigitalPhotos.net
  8. Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем. 
  9. Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем.