Главная / Искусственный интеллект / Учитель Лиспа / Обучение Лиспу с машинным учителем

Обучение Лиспу с машинным учителем

Учитель Лиспа использует примерно 325 порождающих правил, касающихся планирования и составления программ на Лиспе, и 475 ошибочных вариантов таких правил. Этого достаточно для диагностики и реакции в 45—80% случаях ошибок студентов в зависимости от сложности урока и объема проведенных испытаний. Разработанный учебный курс показан в табл. 1. Система успешно обучает на задачах, включенных в первые десять уроков, причем на каждый урок отводится 1—4 ч. По каждому вопросу имеется небольшой учебный буклет, а в ходе урока производится изучение многих задач, закрепляющих соответствующие навыки. При создании таких буклетов преследовалась цель сократить письменный инструктаж до минимума. Имеются веские основания считать, что письменный учебный материал усваивается более эффективно, когда он краток.

Таблица 1. Учебный курс языка Лисп

  1. Основные функции языка Лисп
  2. Определение новых функций
  3. Условные выражения и предикаты
  4. Структурное программирование
  5. Функция prog, ввод/вывод данных и оценка
  6. Целочисленная итерация
  7. Целочисленная рекурсия
  8. Рекурсия на списках
  9. Итерация на списках
  10. Более сложные виды рекурсии
  11. Более сложные программные средства: Maps, Dos, Lets
  12. Списки свойств и массивы
  13. Методы поиска
  14. Усложненная задача — «кувшин с водой»
  15. Структуры списков и структуро-разрушающне функции
  16. Макрооперации и усложненные типы функций
  17. Более трудная тема: сопоставление с образцом
  18. Более трудная тема: реализация систем продукций

Основная часть времени в любом уроке уходит на проработку задач. Распечатки 1 и 2 дают примеры диалогов, в ходе которых машинный учитель направляет работу студента по решению простых задач. Однако эти распечатки не отражают того, как действует машинный учитель в действительности, а дают лишь телетайпные варианты диалога учителя со студентом. Реальное их взаимодействие связано с использованием нескольких окон на экране дисплея: программное окно, в котором студент набирает свою программу, обучающее окно, где размещается реакция учителя, и окно целей, где представлено то, что остается сделать.

В телетайпных вариантах указания учителя печатаются обычными буквами, а входные данные, поступающие от студента,— выделены особо. Приведенные распечатки представляют собой как бы фотоснимки с реального процесса взаимодействия студента с учителем. Каждый раз, когда действия студента вызывают реакцию, мы показываем их вместе с текстом, поступающим от учителя (для удобства обсуждения введена нумерация). Весь отрезок программы показан так, как он выглядит на экране, хотя студент добавил только то, что отличает его от предыдущего отрезка программы (выделено жирным шрифтом). Например, в пункте 2 распечатки 1 им напечатано (lessp (difference в качестве продолжения программы строки 1.

Распечатка 1. Диалог между студентом и машинным учителем при построении функции rightp

Важно остановиться на следующих особенностях приведенных диалогов. Во-первых, вспомним, что машинный учитель автоматически уравнивает число открывающих и закрывающих скобок и указывает позиции (например, <СЛУЧАЙ>, <ИМЯ>, <ЧИСЛО>) для тех участков программы, которые нуждаются в дальнейшем разъяснении. Во-вторых, несмотря на то что от одной строки к другой добавляется большой объем программного текста, машинный учитель воспринимает по отдельности каждое слово или символ, вводимый студентом, и при необходимости реагирует на любой такой элемент сообщением об ошибке.