вссда2012 2
TRANSCRIPT
Методы интеллектуализации
обучающих систем
Васильев С.Н., Смирнова Н.В., Суконнова А.А.,
Душкин Д.Н., Абраменков А.Н.
ИПУ РАН им. В.А. Трапезникова
2012
Интеллектуализация ИОС «Волга»
Эвристические методы и
многокритериальная оптимизация:
проверка решений учебных задач
Логические методы:
генерация решений учебных задач
управление учебным процессом
Другие системы авт. обучения
Современные ведущие системы дистанционного
обучения имеют существенные ограничения на
форму ответов обучаемых.
• Веб-приложение с архитектурой «клиент-
сервер»
Техническая платформа ИОС «Волга»
• Сервер:
– язык Python, платформа Django
– Python-библиотека символьных
вычислений SymPy
(альтернатива – Maxima)
При проверке ответов ИСВ можно использовать
для определения эквивалентности пар формул
Для того, чтобы проверить с помощью SymPy
эквивалентны ли
Инструменты символьных
вычислений (ИСВ) и проверка ответов
x + y = 5 5 = y + x и
нужно написать:
if (simplify (exp1part1 – exp1part2 – exp2part1 +
exp2part2) == 0 or simplify(exp1part1 – exp1part2 –
exp2part2 + exp2part1) == 0)
return true;
Еще в 1970-х гг. (Глушков В.М. и др.)
отмечалась полезность практической
разрешимости, учитывающей эвристики и
вычислительную сложность задач
в ИОС не закладываются задачи высокой
вычислительной сложности
предусматривается механизм действий в
случае невозможности верификации шага
студента
Проблема алгоритмической
неразрешимости задачи эквивалентности
термов
11
Сведения о возможных решениях
учебных задач
Возможные решения учебных задач представляются
посредством коллекций ссылок на экземпляры
класса «Этап» Задача
Решение 1
Этап 1
Этап n
…
Решение k
Этап 1
Этап m
…
…
…
13
Каждому этапу соответствует одна или несколько
формул:
Структура объекта «Этап»
«основная» формула этапа
1. Из всего множества этапов в БД системы
выбирается подмножество этапов M*, которые: присутствуют в решениях данной задачи,
совпадают по обозначениям,
основные формулы эквивалентны формуле, введенной
студентом
Алгоритм проверки решения студента
2. M* |M*|>1
|M*|==1
|M*|==0
Шаг студента верен, M0
соответствует формуле студента
Шаг студента верен, невозможно пока определить
соответствующий этап, сохранение сведений
(Шаг i, M*) и (Solutions(M*))
Шаг студента скорее
всего неверен
(возможно оспорить, механизм жалоб)
Доп. отбор с учетом
предыдущих формул
студента
M**
|M**|==1
|M**|!=1
17
Пример: оценка полноты решения
2(| |) 16 16 9 25c
Пусть формулы студента:
2 2 2 2 21 1 2 2 3 3 4 4
(| |) ( ) ( ) ( ) ( )b b b bc a a a a , затем
18
Развернутость решения студента
Как определить, какой случай имеет место:
конечное значение,
промежуточное вычисление,
формула, в которую подставлены цифры?
Полезна метрика на основе суммы модулей разниц
в количестве операций ‘+’, ‘-’, ‘*’, ‘**’ (Difop) и в
количестве цифр и обозначений (‘Difval’):
0.35 Difop+ 0.65 Difval
19
Развернутость решения студента
Пусть формула студента имеет вид:
Используется метрика 0.35 Difop+ 0.65 Difval
2(| |) 16 16 9 25c
2 2 2 2| | (1 5) (2 6) (4 7) (3 8)c
2 2 2 2| | ( 4) ( 4) ( 3) ( 5)c
| | 66c
Difop Norm (Difop)
Difval
Norm (Difval)
Итог
7 0.41 4 0.57 0.514
7 0.41 0 0 0.1435
3 0.18 3 0.43 0.3425
Т.е. введено промежуточное вычисление
Проблема множественности
комбинаций формул, генерируемых
студентами при решении задач
Набор «базовых» формул для задачи вычисления
расстояния между векторами:
Комбинация (1) и (2):
Комбинация (2) и (3):
В рассматриваемом примере нужно заложить >16
решений!
( , ) ( , )p a b c c
2 21 2
| |c c c
( , ) | |p a b c
, 1,...,4i i i
c a b i
| | ( , )c c c
2 21 2
( , )c c c c
(2)
(3)
(4)
(1)
Проблема множественности
комбинаций формул: решение
«Комбинаторный» этап
Пусть формула студента -
1 2
| |c c c
( , ) | |p a b c
, 1,...,4i i i
c a b i
| | ( , )c c c
2 21 2
( , )c c c c
(1)
(2)
(3)
(4)
(1)
(2)
(3)
(4) Формируем комбинацию (2)
и (3):
2 21 2
| |c c c
2 21 2 1 2
c c c c Сравниваем:
Шаг студента неверен.
Как можно описать класс выражений, для которых функция
simplify всегда выдает результат?
Разработчики SymPy: обычно выражение не упрощается по одной из
следующих причин:
1) требуемое упрощение очень сложное,
2) упрощение неприменимо для некоторых значений переменных*
*В процессе работы simplify не используются упрощения, которые
не являются применимыми для всех комплексных чисел.
Например, верно только тогда, когда x – положительное
число. Этих ограничений можно избежать путем дополнительных
настроек.
x x
Ограничения предложенного способа
проверки решений: simplify
Логические методы
Метод позитивно-образованных формул (ПОФ)
Формулы представляются как деревья
J – пропозициональный фрагмент исчисления
ПО-формул
В соответствии с методом доказательства от
противного, выводы в исчислении J
ориентированы на опровержение отрицания
доказываемого (после применений правила
формула должна свестись к True?-False)
Логические методы
Утверждение. Пусть задача имеет вид ,
Где - хорновская по-формула, - из класса
. Тогда всякий ограниченный -
процесс синтеза условия выводимости формулы
конечен и конструктивен, а
синтезируемое решение - спецификация
искомого, логически минимального,
конструктивного дооснащения
A F GL
F
L
G
1? ,...,
nB B B
( , )~V
&L
F G~V
Применяя правило вывода, получим
? { , } , ,L
A T rue S a С В
А
S
b=h
a
c ?
Пусть нет формулы S = a b , но есть a2+ b2 = с 2.
& & & & &A S a b a c b h h b c
&b a c &S a
&b h h b
{ , }? , { }?{ }, }?{ }, { }? .b a c b h h b c False
~
{ , }? { , }, { }, { }, { }V S a b a b h c
В частности, достаточным для «проталкивания» задачи над указанной базой знаний
является дооснащение вычислительным средством, способным по S и a вычислять h.
Логические методы: пример
(a2+ b2 = с 2), (условия задачи),
Утверждение вычислимости
где