4. Предположения и ограничения
Используются только
Используются только
обозначения системы!
обозначения системы!
Только формулы,
Только формулы,
которые могут быть
которые могут быть
проверены без
проверены без
обращения к другим
обращения к другим
формулам!
формулам!
LaTeX-подобный
LaTeX-подобный
синтаксис
синтаксис
4
5. Этапы проверки шага решения
Верификация шага
Расчет прогресса в
решении
Сообщение о
статусе шага
?
Вопрос к
студенту
5
Обновление инф. В БД
(для подсказок и оценки за задачу)
6. Верификация шага: примерный алгоритм
Пусть студент ввел шаг:
z=1+y
В шаг подставляются известные системе
значения переменных:
5=1+4
Полученное выражение упрощается и
сравнивается с 0:
if simplify(5 – (1 + 4)) == 0:
//студент ввел правильный шаг решения
…
8. Измерение прогресса в решении
Измерение прогресса в решении –
нетривиальная проблема.
«Наивный» способ не годится: даже для
самой простой задачи требуется
внести слишком много формул
Ре
и решений.
ш
шаг решения студента
ен
Эт
ие
ап
1
Эт
1
а
… п2
Эт
а
пm
8
Image courtesy of Keattikorn
at FreeDigitalPhotos.net
9. Измерение прогресса в решении:
пример
Задача: вычислить расстояние между векторами a
иb
Возможные решения генерируются на основе
формул:
9
Пусть студент ввел формулу:
10. Измерение прогресса в решении:
пример
Очевидно, что формула
на основе формул (1) и (3)
Т.е. прогресс студента = 2/6 = 33%
10
получена
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
Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем.
Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем.
Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем.
5f7 – 15 мин решил
2a5 – 5 мин не решил
Время обучения показано только у тех кто по чесноку все делал
Image courtesy of Keattikorn at FreeDigitalPhotos.net
Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем.
Сейчас популярна тема онлайн-образования: все слышали про Coursera, Udacity, EdX. Это отличные образовательные платформы, содержащие много полезных курсов. Но можно ли их сделать более интеллектуальными? Вообще исследования по интеллектуальным обучающим системам (intelligent tutoring systems) ведутся давно и у ученых есть что предложить программистам-практикам. В этой статье в научно-популярной форме рассматриваются результаты и выводы, полученные научным сообществом, по построению конкретного вида интеллектуальных обучающих систем.