Составление имитационной модели нормального алгоритма Маркова (НАМ).



 

Для моделирования задачи используем средства программы Excel Microsoft Office.

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


Возможный вариант модели представлен на рисунке 12. (адреса ячеек не менять иначе неправильно будет работать программа) .

Необходимо выполнить следующее:


1. Оформить таблицу формул алгоритма (рис 26).

В столбике Номер(адреса A1÷A5) пересчитать построчно ,начиная с 1 ,все номера используемых формул . У нас 1-2-3-4.

В столбике Левая часть (адреса B1÷B5) указать левые части используемых формул по мере их использования (порядок важен) У нас %a-%b-%-пусто (ячейка остается пустой. Если есть 0 , то его надо убрать клавишей Delete).

В столбике Правая часть (адреса C1÷C5) указать правые части используемых формул , соответствующих левым частям. У нас a%-b%-a-%

В столбике Маркер останова (адреса D1÷D5) останова указать символ “!”, если формула после выполнения должна остановиться (может быть несколько маркеров или не одного).У нас пусто-пусто-!-пусто.

Для других задач количество строк (формул) может быть больше или меньше. Поэтому для других задач необходимо таблицу откорректировать.

Для повышения наглядности необходимо выделить контуры ячеек таблицы толщиной и цветом по своему вкусу. Это делается командой Меню→Главная→Шрифт→Границы.

2. Оформить вспомогательную таблицу запуска программы.

Ячейка F1-содержимое “ запуск программы”

Ячейка G1-содержимое “ старт”

Ячейка G2-содержимое “0” (первоначально. Далее при запуске программы оно меняется вручную на 1)

Ячейка H1-содержимое “ шаг”

Ячейка F2-содержимое

=ЕСЛИ($G$2;ЕСЛИ(СЧЁТЕСЛИ(F10:F40;"Конечное слово");"конец";"начало");"'' 1--> старт''")

(набирать в ячейке по нажатию клавиши =,(тогда = в самой формуле не нужно набирать) и закончит набор клавишей Enter).

Ячейка H2-содержимое

 =ЕСЛИ(G2;ЕСЛИ(H2=100;1;H2+1);0)

 Для повышения наглядности необходимо выделить контуры ячеек таблицы толщиной и цветом по своему вкусу. Это делается командой Меню→Главная→Шрифт→Границы.

Для ячейки F2 ввести первое условное форматирование цветом и шрифтом. Для этого выделяем ячейку F2 и в меню выполняем команды Главная→Условное форматирование→Управление правилами→Создать правило→Использовать формулу для форматируемых ячеек →набрать формулу =$F$2=”начало”

и выбрать цвет и шрифт (у нас цвет желтый и шрифт по умолчанию ) , а также в графе Применяется к добавить

=$F$2

Для ячейки F2 ввести второе условное форматирование цветом и шрифтом. Для этого выделяем ячейку F2 и в меню выполняем команды Главная→Условное форматирование→Управление правилами→Создать правило→Использовать формулу для форматируемых ячеек →набрать формулу =$F$2=”конец”

и выбрать цвет и шрифт (у нас цвет красный и шрифт по умолчанию ) , а также в графе Применяется к добавить

=$F$2

3. Создаем таблицу исходной задачи.

Создается таблица на любом пустом месте в виде двух столбиков (Задано слово и Получить слово).В единственной строке указываем данные задачи(у нас bbab и bbaba).Оформляем таблицу по своему вкусу согласно предыдущим настройкам.

4.  Оформляем таблицу решений.

Ячейка F9-содержимое “Исходное слово

Ячейка G9-содержимое “Метка останова

Ячейка F10-содержимое “bbab

 Ячейка G10-содержимое “0

Ячейка F11-содержимое  =ЕСЛИ($H$2>=СЧЁТЗ($F$11:F11);ЕСЛИ(G10=1;"Конечное слово";ЕСЛИ(ЕЧИСЛО(ПОИСК($B$2;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$2;F10;1);ДЛСТР($B$2);$C$2);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$3;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$3;F10;1);ДЛСТР($B$3);$C$3);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$4;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$4;F10;1);ДЛСТР($B$4);$C$4);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$5;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$5;F10;1);ДЛСТР($B$5);$C$5);"стоп")))));"")

Так как ячейка F11 содержит много формул, ее необходимо тщательно проверить на предмет ошибок. Дальше необходимо повторить с некоторыми изменениями содержание этой ячейки в ячейках F12-F**(количество определяется шагами программы (взять по своему усмотрению с запасом (запас можно легко отрегулировать добавлением или удалением ячеек))).

Чтобы избежать ошибок необходимо воспользоваться приемом Excel протаскивание.

Для этого надо выделить ячейку  F11 и за правый нижний край (при появление на углу крестика нажать левую клавишу мышки) протащить до желаемой нижней ячейки и отпустить кнопку мышки. Все ячейки будут заполнены с требуемыми изменениями. Необходимо помнить, что адреса ячеек со знаками $  не меняются от протаскивания. У нас необходимо заполнить ячейки по F18.

Ячейка G11-содержимое

 =ЕСЛИ(F11="Конечное слово";1;ЕСЛИ(ЕЧИСЛО(ПОИСК($B$2;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$2;F10;1));ЕТЕКСТ($D$2));1;0);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$3;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$3;F10;1));ЕТЕКСТ($D$3));1;0);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$4;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$4;F10;1));ЕТЕКСТ($D$4));1;0);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$5;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$5;F10;1));ЕТЕКСТ($D$5));1;0);0)))))

Заполняем ячейки методом протаскивания для G11÷G18 .

Ячейка E11-содержимое

=ЕСЛИ($H$2>=1;"шаг " & ЕСЛИ(ЕПУСТО(F11);"";СЧЁТЗ($F$11:F11));"")

Заполняем ячейки методом протаскивания для  E11÷E18.

Для ячеек F11÷F18 применим условное форматирование цветом и шрифтом.

Для этого выделим ячейку F11 и в меню выполняем команды Главная→Условное форматирование→Управление правилами→Создать правило→Использовать формулу для форматируемых ячеек→набрать формулу

=$F$11=” Конечное слово”

и выбрать цвет и шрифт (у нас цвет красный и шрифт по умолчанию ) , а также в графе Применяется к добавить

 =$F$11:$F$18)

Для наглядности вспомогательные ячейки G9÷G18 сделаем невидимыми для пользователя. Для этого надо выделить эти ячейки и нажать правую клавишу мышки→Формат ячеекЦвет→установить “Белый” (то есть они сольются с фоном ячеек)→Enter.

 

Общий вид модели показан на рисунке 27:

 

5. Запускаем программу вводом в ячейку G2 цифры “1” и нажать клавишу Enter. В соседней ячейке H2 появиться цифра 1 (выполниться первый цикл итераций).

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

Если при оформлении модели программа Excel выдаст предупреждение и недопустимых циклических ссылках, необходимо в Главное меню→Параметры→Формулы→Включить итеративные вычисления (установить шаг итерации 1 (за одно нажатие клавиши F9 будет совершаться один шаг)).

 

 

                                      Содержание отчета:

 

(отчет предоставить индивидуально в бумажном и электронном виде на носителе).

1.Решение 2-х задач для самостоятельного решения.

2.Текстовый алгоритм работы Машины Тьюринга для конкретной задачи.

3.Текстовый алгоритм работы нормального алгоритма Маркова (НАМ) для конкретной задачи.

4.Скриншоты имитационной модели машины Тьюринга с описанием управляющих формул.

5.Скриншоты имитационной модели нормального алгоритма Маркова (НАМ) с описанием управляющих формул.

6.Действующие модели в электронном виде в программе Microsoft Office Excel.

7.Рекомендации по оптимизации предложенных моделей.

 

 

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

1. Абстрактный автомат - машина Тьюринга.

2.Определение нормального алгоритма Маркова.

3.Электронные таблицы Excel Microsoft Office.

4.Встроенные и пользовательские функции Excel.

5.Условное форматирование в Excel.

6.Принципы составления текстовых алгоритмов.

7.Составление управляющих вложенных формул в Excel.

8.Имитационные модели абстрактных автоматов.

9.Организация итерационных вычислений в Excel.

10.Достоинство и недостатки программирования с использованием

ресурсов Excel.

11.Способы корректировки моделей для решения различных задач. 

 

 


Дата добавления: 2018-08-06; просмотров: 515; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!