Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Система аналитических преобразований Reduce




 

Развитие вычислительной техники начиналось с автоматизации выполнения арифметических действий. Вместе с тем известно, что компьютеры могут успешно оперировать математическими символами. Область вычислительной математики, связанная с аналитическими преобразованиями и получившая название компьютерной алгебры, в настоящее время развивается и получает широкое распространение в различных направлениях науки и образования. Основным объектом, над которым производит действие компьютер, является аналитическое (символьное) выражение, организованное и преобразуемое по заданным логическим правилам. Сегодня возможно компьютерное интегрирование и дифференцирование символьных выражений, перестановки и перегруппировки членов, приведение подобных членов, подстановки в выражения с последующим их преобразованием.

Очевидно, что известные системы программирования (Паскаль, СИ, Бейсик и т.п.) мало пригодны для анализа и преобразования символьной информации. Для этих целей созданы и развиваются специальные системы аналитических преобразований, которые можно разделить на универсальные, специализированные и общего назначения. Наибольшей популярностью пользуется универсальная система символьных вычислений REDUCE, автором которой является профессор А.Хиен. Система Reduce написана на языке высокого уровня ЛИСП.

Язык Reduce, составляющий ядро системы, трансляторы для которого разработаны для всех распространенных типов ЭВМ, предназначен прежде всего для проведения вычислении в аналитическом виде. Язык «знает» все операции алгебры с многочленами, приведением подобных членов, раскрытием скобок; все базовые элементарные функции, в том числе и в комплексной форме, ряд других функции; широкий набор операции над матрицами, включающий как входящие в обычные вузовские программы, так и выходящие за их пределы (например, функции от матриц); очень хорошо дифференцирует и несколько хуже вычисляет первообразные (но все же значительно лучше, чем большинство студентов, изучивших стандартный курс интегрального исчисления); умеет делать и ряд других действий.

Насколько это существенно для решения некоторых задач, показывает следующий пример. В одной из диссертаций по физике магнитных явлений диссертант (дело было в середине 50-х годов) потратил несколько лет на решение в принципе несложной задачи, требовавшей, однако, проведения совершенно фантастического (для человека) количества операторных коммутаций и последующего приведения подобных членов. Каждое отдельное неразрывное преобразование требовало, по-видимому, нескольких месяцев неустанной работы при максимальной аккуратности и напряжении. Поручить же эту работу ЭВМ было невозможно, так как в те времена языков аналитических преобразований в практически пригодном виде не существовало. О независимой проверке работы не приходилось и думать - это потребовало бы от другого человека не менее года работы. Примерно через 15 лет все эти выкладки были проделаны на ЭВМ в системе Reduce за несколько дней; оказалось, что автор диссертации почти все выкладки сделал безошибочно.

Разумеется, язык «умеет» производить и численные операции, причем его арифметика имеет произвольную точность, не привязанную к способу представления чисел с плавающей запятой в регистрах процессора и ячейках ОЗУ. Получить при вычислении 20 или 50 значащих цифр в результате для Reduce вполне возможно.

В системе Reduce программа записывается и выполняется по предложениям, каждое из которых представляет собой последовательность символов. Предложение завершается одним из символов:; (точка с запятой), п (кружок с черточками). Если предложение оканчивается знаком ";", то результат его выполнения выводится на экран дисплея или печатающее устройство. В случае знака ◘ вывод не происходит.

В системе Reduce каждая переменная имеет имя и значение. Если переменной не присвоено какое-либо значение, то имя переменной является ее значением. В этом заключается одно из принципиальных отличий подобных систем от традиционных языков программирования. Первоначально имя и значение переменной совпадают между собой, и такая переменная называется свободной.

Запуск программы на выполнение в системе осуществляется клавишей <Enter>.

Ниже приведем несколько примеров программ в системе Reduce, которые позволят получить первоначальные представления о системах аналитических преобразований символьной информации.

 

Пример 1.

 

А; XI; SS# ABCDIF; <Enter>

 

Листинг результата программы следующий:

А

XI

ABCDIF

 

Комментарий: все переменные являются свободными, т.е. их значения совпадают с именами.

 

Пример 2.

 

А:=123456789# В:= 123456789123456789#А*В; <Enter>

Листинг результата программы следующий:

 

 

Комментарий: переменным А и В присваиваются целочисленные значения и вычисляется их произведение, причем результат вычисления точный без округления.

 

Пример 3.

 

A:=S# A; A:=X*Y# A; Q:=X:=Y# Q; X; <Enter>

 

Листинг результата программы следующий:

 

S

Х*У

Y

Y

 

Комментарий: переменной А присваивается сначала значение S, затем - X*Y.

 

Пример 4.

 

13; 3+6; 2**64; 11-20; 25/(-125); 2*(3*A-6)/6; <Enter>

 

Листинг результата программы следующий:

 

139 18446744073709551616 (-9) (-1)/5А-2

 

Комментарий: при проведении алгебраических преобразований для записи сложных выражений используют имена переменных и знаки арифметических операций.

 

Пример5.

 

I**2; A:=X+I*Y# B:=X-I*Y# A*B; A**2; <Enter>

 

Листинг результата программы следующий:

 

-1

X-52-0+Y-52

' 2*I*X*Y + X-52-0-Y-52

 

Комментарий: для использования комплексных чисел за латинской буквой I закреплено значение мнимой единицы.

 

Пример 6.

 

OPERATOR F,W; W(X); F(5*X); (F(X)+A)**2; <Enter>

 

Листинг результата программы следующий:

 

W(X) F(5*X) F(X)-52-0 + 2*A*-F(x) + A-52

 

Комментарий: имена в скобках используют для обозначения операторов или функций, которые описываются предварительно командой OPERATOR.

 

Пример 7.

 

DF(X**2,X); DF(Y,Y,2); DF(X**3*Y*82*Z**3,X,3,Y,Z,2); DF(Y,X); <Enter>

 

Листинг результата программы следующий: 2*Х 0 72*Y*Z О

Комментарий: встроенный оператор DF используется для вычисления частных производных по отношению к одной или нескольким переменным, первым аргументом в скобках является дифференцируемое выражение, далее - аргументы, по которым проводится дифференцирование, и числа, указывающие порядок производной.

 

Пример 8.

 

INT(X**2,X); INT(SIN(X),X); <Enter>

Листинг результата программы следующий:

Х-53-0/3 - COS(X)

 

Комментарий: оператор INT используется для вычисления интегралов, на первом месте стоит интегрируемое алгебраическое выражение, на втором месте указывается переменная интегрирования.

Мы привели наиболее простые возможности системы Reduce. Подробнее ознакомиться с работой подобных систем читателю рекомендуется по специальным учебным пособиям и монографиям.

 

Контрольные вопросы

1. В чем основные отличия переменных в традиционных системах программирования от систем аналитических преобразований типа REDUCE?

2. В каких задачах предпочтительнее использовать методы компьютерной алгебры?

 

КОМПЬЮТЕРНОЕ ТЕСТИРОВАНИЕ

 

11.1. ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ КОМПЬЮТЕРНЫХ ТЕСТОВ
ПРЕДМЕТНОЙ ОБЛАСТИ

 

Компьютеры в обучении - вопрос, требующий отдельного рассмотрения. Отметим лишь, что различные варианты АОС (автоматизированных обучающих систем) вобрали в себя лучшие достижения компьютерных технологий и стали широко популярными не только в учебных заведениях, но и при подготовке персонала в промышленности, различных социальных сферах, военном деле и т д.

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

По-видимому, многие преподаватели уже прошли через некоторую эйфорию при создании тестов и поняли, что это - весьма непростое дело. Куча бессистемно надерганных вопросов и ответов - далеко еще не тест. Оказывается, что для создания адекватного и эффективного теста нужно затратить много труда. Компьютер может оказать в этом деле немалую помощь.

Существует специальная теория тестирования, оперирующая понятиями надежность, валидность, матрица покрытия и т.д., не специфических именно для компьютерных тестов. Здесь мы не будем в нее углубляться, сосредоточившись в основном на технологических аспектах.

Широкое распространение в настоящее время получают инструментальные авторские системы по созданию педагогических средств: обучающих программ, электронных учебников, компьютерных тестов. Особую актуальность для преподавателей школ и вузов приобретают программы для создания компьютерных тестов - тестовые оболочки. Подобных программных средств существует множество и программисты-разработчики готовы строить новые варианты, так называемых, авторских систем. Однако широкое распространение этих программных средств сдерживается отсутствием простых и нетрудоемкнх методик составления тестовых заданий, с помощью которых можно «начинять» оболочки. В настоящем разделе представлены некоторые подходы к разработке компьютерных тестов.

Проектирование модели знаний. Экспертычаще используют метод нисходящего проектирования модели знаний (технология «сверху - вниз»). Вначале строится генеральное содержание предметной области с разбивкой на укрупненные модули (разделы). Затем проводится детализация модулей на элементарные подмодули, которые, в свою очередь, наполняются педагогическим содержанием.

Другой метод проектирования «снизу - вверх» (от частного к общему) в большинстве случаев реализуется группой экспертов для разработки модели знаний сложной и объемной предметной области, или для нескольких, близких по структуре и содержанию, предметных областей.

Каждый модуль предполагает входящую информацию, состоящую из набора необходимых понятий из других модулей и предметных областей, а на выходе создает совокупность новых понятий, знаний, описанных в данном модуле.

Модуль может содержать подмодули. Элементарный подмодуль - неделимый элемент знания - может быть представлен в виде базы данных, базы знаний, информационной модели. Понятия и отношения между ними представляют семантический граф.

Приведем пример элемента модуля знаний по теме «Исследование графиков функций»,рис. 2.29:

 

 

Рис. 2.29. Пример элемента модуля знаний

 

Модульное представление знаний помогает:

• организовать четкую систему контроля с помощью компьютерного тестирования, поскольку допускает промежуточный контроль (тестирование) каждого модуля, итоговый по всем модулям и их взаимосвязям, а также эффективно использовать методику «черного ящика»;

• осуществлять наполнение каждого модуля педагогическим содержанием;

• выявить и учитывать семантические связи модулей и их отношения с другими предметнымиобластями.

Этапы разработки компьютерных тестов. Можно выделить два принципиальных способа контроля (тестирования) некоторой системы:

1) метод «белого ящика» - принцип тестирования экспертной модели знаний;

2) метод «черного ящика» - тестирование некоторой сложной системы по принципу контроля входных и выходных данных (наиболее подходит для компьютерного тестирования).

Введем ряд определений и понятий.

Тестирование - процесс оценки соответствия личностной модели знаний ученика экспертной модели знаний. Главная цель тестирования - обнаружение несоответствия этих моделей (а не измерение уровня знаний), оценка уровня их несоответствия.

Тестирование проводится с помощью специальных тестов, состоящих из заданного набора тестовых заданий.

Тестовое задание - четкое и ясное задание по предметной области, требующее однозначного ответа или выполнения определенного алгоритма действий.

Тест - набор взаимосвязанных тестовых заданий, позволяющих оценить соответствие знании ученика экспертной модели знаний предметной области.

Тестовое пространство - множество тестовых заданий по всем модулям экспертной модели знании.

Класс эквивалентности - множество тестовых заданий, таких, что выполнениеодногоизних учеником гарантирует выполнение других.

Полный тест - подмножество тестового пространства, обеспечивающего объективную оценку соответствия между личностной моделью и экспертной моделью знаний.

Эффективный тест - оптимальный по объему полный тест.

Самой сложной задачей эксперта по контролю является задача разработки тестов, которые позволяют максимально объективно оценить уровень соответствия или несоответствия личностной модели знании ученика и экспертной модели.

Подбор тестовых заданий осуществляется экспертами-педагогами методологией «белого ящика», а их пригодность оценивают с помощью «черного ящика», рис. 2.30.

 

Оценка соответствия

 

Рис. 2.30. Схема создания тестовых заданий

 

Самый простой способ составления тестовых заданий - формирование вопросов к понятиям, составляющим узлы семантического графа, разработка упражнений, требующих для выполнения знания свойств выбранного понятия. Более сложным этапом является разработка тестовых заданий, определяющих отношения между понятиями. Еще более глубокий уровень заданий связан с подбором тестов, выявляющих связь понятий между отдельными модулями.

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

Из полного теста можно выделить эффективный тест (оптимальный по объему набор тестовых заданий, гарантирующий оценку личностной модели ученика заданным критериям). Выбор эффективного теста зависит от удачного разбиения тестового пространства на классы эквивалентности, пограничные условия, создания тестов на покрытие путей и логических связей между понятиями и модулями.

В дальнейшем необходим тестовый эксперимент на группе учащихся, который позволит провести корректировку и доводку теста до вида эксплуатации (методика черного ящика).

Таким образом, построение компьютерных тестов можно осуществлять в следующей последовательности:

• формализация экспертной целевой модели знаний;

• нисходящее (или снизу - вверх) проектированиетестового пространства;

• формирование и наполнение тестовых заданий;

• формирование полного компьютерного теста;

• тестовый эксперимент;

• выбор эффективного теста;

• анализ, корректировка и доводка теста до вида эксплуатации.

 

ТИПЫ КОМПЬЮТЕРНЫХ ТЕСТОВ

 

В соответствии с моделью знаний, выделим три класса компьютерных тестов на знания, умения и навыки. Отметим, что типы компьютерных тестовых заданий определяются способами однозначного распознавания ответных действий тестируемого.

1.Типы тестовых заданий по блоку «знания» — вопросы альтернативные (требуют ответа да - нет);

• вопросы с выбором (ответ из набора вариантов);

• вопросы информативные на знание фактов (где, когда, сколько);

• вопросы на знание фактов, имеющих формализованную структуру (в виде информационной модели или схемы знаний);

• вопросы по темам, где имеются однозначные общепринятые знаковые модели:

математические формулы, законы, предикатные представления, таблицы;

• вопросы, ответы на которые можно контролировать по набору ключевых слов;

• вопросы, ответы на которые можно распознавать каким-либо методом однозначно.

2. Типы тестовых заданий по блоку «навыки» (распознание деятельности: манипуляции с клавиатурой; по конечному результату):

• задания на стандартные алгоритмы (альтернативные да - нет, выбор из набора вариантов);

• выполнение действия.

3. Типы тестовых заданий по блоку «умения». Те же самые, что для навыков, но используют нестандартные алгоритмы и задачи предметной области при контроле времени их решения:

• задания на нестандартные алгоритмы (альтернативные да - нет, выбор из набора вариантов);

• выполнение действия.

Выбор типов тестов определяется:

• особенностями инструментальных тестовых программ (тестовыми оболочками);.

• особенностями предметной области;

• опытом и мастерством экспертов.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...