Модель и её структура в познании и практике

  Возможность моделирования присуща человеческому мышлению. Человек вообще неспособен правильно ориентироваться в окружающем его мире, не имея перед глазами, или не имея в голове, ранее осмысленного слепка - модели того явления, или ситуации, с которой он имеет дело. Другое дело, что в ходе практических действий ему приходится подправлять или даже перестраивать первоначальную модель, делая её более приспособленной к изменившимся условиям.
  Таким образом, мышление на модели становится диалектическим процессом постепенного углубления знания.
  Практика - критерий истины, замечают философы. Я бы ещё уточнил - осмысленная практика. То есть, действия не хаотичные, а целенаправленные, вытекающие из внутренней логики некой, заранее созданной модели.

  С другой стороны, не всякая, даже правильная модель, является продуктивной. Иногда структура модели оказывается настолько сложной, что человек, в силу ограниченных способностей своего ума, не в состоянии обозреть и учесть все её аспекты. Тогда в ход идёт другой принцип, также подмеченный философами.
  Критерием истины объявляется её простота.
  E = mc^2 -что может быть проще?
  Потому, из двух возможных моделей лучше выбрать ту, которая имеет более простую структуру.

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

  Сказанное, в полной мере относится не только к учёному аналитику или исследователю, но и к программисту. По той простой причине, что программы тоже пишутся людьми, а им, имея перед глазами сложную структуру данных запутаться в ней легко. Да и перестраивать такую структуру к новым задачам трудно.
  Итак - простота и гибкость модели является залогом её успеха.

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


    НАЗНАЧЕНИЕ МОДЕЛИ. РОЛЬ МОДЕЛИРОВАНИЯ В ПРОЦЕССЕ ПОЗНАНИЯ

//Модель – это такой материальный или мысленно представляемый объект, который в процессе изучения замещает объект оригинал, сохраняя некоторые важные для данного исследования типичные его свойства. Под объектом в данном случае понимается любой материальный предмет, процесс, явление.// http://lektsia.com/8x1570.html

  Замещая реальный объект, модель позволяет свободно манипулировать им.
  Представим, например, некое массивное тело и силу, действующую не него. Если вектор приложения силы проходит через центр массы тела, то его движение будет поступательным, с равномерно увеличивающейся скоростью движения и в полном соответствии со вторым законом Ньютона dV/dt=F.
  Однако приложим силу, пусть это будет наш палец, к краю тела и по касательной к нему. Ясно, что тело начнёт увёртываться от нашего пальца, вращаться и ослаблять ту силу, с которой мы на него давим.
  Чтобы добиться прежней силы мы должны будем быстро двигать палец вдогонку вращающемуся краю тела. Более того, точка приложения силы будет постоянно уезжать в сторону, а потому мы должны будем очень часто переставлять палец, чтобы воздействовать на тело по прежнему направлению.
  Интересно то, что второй закон Ньютона будет выполняться и в этом случае – поступательное движение центра масс тела будет по-прежнему описываться формулой dV/dt=F. А то, что тело при этом начинает ещё и вращаться, так это как бы другой «побочный» эффект.
  Подумайте, справедлив ли при этом закон изменения энергии dE=F*dX и почему? Попробуйте приделать к краю тела реактивный двигатель и напишите уравнение движения для центра масс этого тела. Задача отнюдь не тривиальная, повозиться с решением вам придётся.

  На этом простом примере, я надеюсь, вы почувствовали насколько мощным средством познания является модельный способ мышления. А ведь мы взяли самую простую по своей структуре модель.
  Не только в физике применимы подобные модели. Вот я, начав изучать поэзию, построил для облегчения хода своих мыслей модель поэтического поля http://proza.ru/2012/09/25/1423 и эта модель позволила, как мне кажется, систематизировать свои знания и добиться некоторого успеха.


    СТРУКТУРЫ, СВЯЗАННЫЕ С МОДЕЛЯМИ

  Опять же, процитирую интернет -
  //Информация, характеризующая объект или процесс, может иметь разный объем и форму представления, выражаться различными средствами. Это многообразие настолько безгранично, насколько велики возможности каждого человека и его фантазии. К информационным моделям можно отнести знаковые и вербальные (описательные).
  Знаковая модель – информационная модель, выраженная специальными знаками, т.е. средствами любого формального языка. Знаковые модели окружают нас повсюду. Это рисунки, тексты, графики и схемы.
  Вербальная (от лат «verbalis» – устный) модель – информационная модель в мысленной или разговорной форме.
  Это модели, полученные в результате раздумий, умозаключений. Они могут так и остаться мысленными или быть выражены словесно. Знаковые и вербальные модели, как правило, взаимосвязаны. Мысленный образ, родившийся в мозгу человека, может быть облечен в знаковую форму. И, наоборот, знаковая модель – помогает сформировать в сознании верный мысленный образ.//

  Атрибуты знаковой модели, переводящие эту модель в различные состояния, называются параметрами модели. Например, параметром светофора является его цвет. Именно так и говорят – когда светофор красный, то путь закрыт, цвет жёлтый – приготовиться, зелёный – можно идти. Параметр, называемый цветом, переводит светофор из одного состояния в другое. Чтобы разобраться с этими переключениями, вовсе не обязательно смотреть на реальный светофор, можно посмотреть на его модель, или её вообразить.

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


    СИНТЕЗ ЗВУКА РАЗЛИЧНЫХ ИНСТРУМЕНТОВ

   В программе «Трио» http://proza.ru/2017/08/27/2000 имеется три Муза (музыканта) – три подпрограммы, каждая из которых имеет звуковую функцию, вычисляющую амплитуду звука. Обращаясь к этой функции первый раз, мы указываем параметр NK – номер того инструмента, на котором музыкант будет играть. Одновременно с этим, при первом обращении устанавливается масса внутренних параметров (статических переменных) звуковой функции в их обычное исходное состояние (установка параметров по умолчанию). Также устанавливается и частота FS – тон той ноты или опорного звука аккорда, который будет исполняться.
 
  Затем, в соответствии с установленным NK, мы попадаем на сценарий развития звука. Например, при NK=2, мы попадаем на звук фортепьяно -

  Select Case NK

 Case 0
    MU1 = 0: AU1 = 1: DU1 = 1

 Case 2:  'f-no
    MU1 = 64.1: AU1 = 2: DU1 = 3.995
    MU3 = 0: AU3 = 1.5: DU3 = 2.99
    If FS > 260 Then
      Mpm = 260 / FS: AU3 = AU3 * 260 / FS:
      DU1 = Int(3 * FS / 260) + 0.995 + 0.003 * (1 - 260 / FS)
      MU1 = Int(60 * FS / 260) + 0.1 * 260 / FS: End If
    '>>>>="_1_2_3_4_5_6_7_8_9_0_1_2"
     Arr$ = "905030307050505070303050"
     Apm$ = "505050707050505560657035 504744433857": Dpm = 0.98
  Case -2: E0 = 1.25 * (1 + 0.2 * FNTIM(4, T)):
      EA = 0.3 * (1 + 0.2 * FNTIM(8, T))
      E1 = 1.3 * (1 + 0.2 * FNTIM(10, T)):
      E2 = 1.3 * (1 + 0.2 * FNTIM(7, T))

  Выполняя «Case 2» мы придаём некоторым внутренним параметрам иные исходные значения, отличные от принятых по умолчанию.
  Затем мы вновь возвращаемся на ту же ветку, но уже с отрицательным значением NK. Выполнив «Case -2» мы получаем значения E0,EA,E1 и E2, и только потом вычисляем амплитуду звука.

  Однако, что это за параметры такие - E0,EA,E1 и E2 ?
  Параметры E0,E1,E2 вносят в синусоиду асимметрию, а параметр EA обостряет синусоиду.
  Если бы мы взяли сценарий с номером 0 (Case 0), то указанные параметры получили бы свои значения по умолчанию, а синусоида получилась бы совершенно идеальной, безо всяких асимметрий и обострений. Такая синусоида имела бы унылый звук, совсем не похожий на звук фортепьяно.

  При следующих обращениях к звуковой функции мы ни на Case_2, ни на Case_-2 не заходим, а вычисляем амплитуду звука внутри периода, постепенно увеличивая значение переменной T (время, отсчитываемое от начала исполнения музыкального звука).
  Однако, как только значение T выйдет за пределы очередного периода, мы вновь обращаемся к нижней части сценария, то есть, по метке Case_-2 и перевычисляем значения параметров E0,EA,E1,E2.
  Таким образом, формирование звука в каждом из периодов его звучания происходит при несколько иных значениях параметров звука. Как это видно из нижней части сценария, параметры E0,EA,E1,E2 совершают девиацию – отклонения от своего среднего значения с частотами 4, 8, 10 и 7 Гц. Эти неслышимые ухом частоты, слегка изменяя параметры, как оказывается, придают звуку естественное звучание, характерное для фортепьянного звука.
 
  К этому звуку добавляется и звучание обертонов, Рельеф обертонов зашифрован в мнемонической форме в строке Apm$. Обертоны превалируют в начале развития звука, резко возрастая на протяжении 2-х периодов, а потом, от периода к периоду, ниспадают в соответствии с диссипативным параметром 0.99. Основной звук, между тем, следуя установленному параметру DU1=3.995, имеет время атаки чуть большее - 3 периода, и затухание тоже более медленное, с фактором – 0.995.
  Как это видно из верхней части сценария, начальная амплитуда обертонов AU3, диссипативный коэффициент основного колебания DU1 и его амплитудное вибрато MU1 корректируются, в зависимости от частоты FS.

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

  Таким образом, мы видим, что выбранная структурная модель в форме сценария развития звука очень удобна, легко обозрима и чрезвычайно гибка. Что, в общем-то, и предопределило успех всего проекта в целом.
  Записи музыкальных произведений, с использованием программы «Трио» вы можете послушать здесь - https://disk.yandex.ru/d/poMxlrBuxendv 
  Операторы языка Бейсик, записанные в очень плотном виде, кажутся некоторым программистам непривычными, программисты привыкли к более свободному тексту, однако именно такая структура оказывается наиболее удачной.


     МНЕМОНИКА ОБОЗНАЧЕНИЙ В КОМПЬЮТЕРНОЙ МОДЕЛИ

  Поговорим немного об обозначениях переменных, которые мы используем в компьютерных моделях. Ясно, что мнемоника имён переменных должна быть максимально удобной. Я противник того, чтобы давать переменным сложные имена. Конечно, обозначения переменных должны быть содержательными, то есть, они должны намекать на содержание того, что они обозначают.
  Так AU1 – это начальная амплитуда звука ( A-амплитуда U-звУк ).
  MU1 – модуляционный фактор, DU1 – диссипативный.
Цифры в конце имени – 1, 2 или 3 указывают на группу параметров, связанных каждая со своим алгоритмом синтеза музыкального звука.
  Группа деформируемой синусоиды (1), пичковая группа Виолы (2) и группа Рельефа (3) вполне позволяют создавать звук большинства музыкальных инструментов. При необходимости, можно было бы добавить и группу (4), но такой необходимости у меня не возникало.

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

  А как быть с глобальными переменными? С ними я поступаю просто – если в программе используется кнопка Command7, то переменную, которую клики по кнопке будут изменять, я называю Co7, а если этого не хватает, то делаю ещё флаг – C7F. В таких обозначениях ни запутаться, ни повториться невозможно.


    ЦЕЛОЧИСЛЕННАЯ СТРУКТУРА ВЕКТОРНОЙ ГРАФИКИ

  Рассмотрим теперь очень удачную табличную структуру, связанную с моделями, создаваемыми векторной графикой http://proza.ru/2020/12/22/345

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

    1>    29  469  243  2  1481  8  435  305  22  574  3
 2   0  4706  2446  4721  2461  4728  2477  4744  2492  4752  2507
 3   0  4767  2522  4775  2530  4782  2546  4790  2562  4790  2577
 4   0  4790  2592  4782  2607  4782  2623  4775  2638  4767  2654

    299>    29  570  236  300  1481  59  565  277  7399  574  3
 300   0  5716  2369  5728  2372  5737  2379  5750  2385  5758  2389
 301   0  5770  2393  5775  2397  5782  2404  5791  2410  5795  2419
 302   0  5798  2427  5796  2436  5800  2446  5799  2455  5798  2465


  Структура эта состоит из одиночных титульных и дополнительных к ним строк. Рассмотрим, например, первую титульную строку.

29  – это логотип векторного элемента, а именно, 29 это ломаная линия.
469  243  - X,Y координаты начальной точки ломаной. Это та точка, двигая
            которую, можно перемещать и поворачивать векторную фигуру.
2  - указатель на начало дополнительных строк.
1481  - число точек ломаной линии, указанных в дополнительных строках
        своими координатами.
8  - тип заливки
435 305  - координаты начальной точки заливки.
22 584  - цвет контура и цвет заливки.
3  - толщина линии контура.

  Следующая ломаная линия начинается титульной строкой 299. Параметры в этой и последующих строках были вначале точно такими же – вторая ломаная линия была получена копированием первой. Затем эта векторная фигура была сдвинута в строну, уменьшена в размерах и повёрнута. И отдельные её части были также немного изменены. Изменён цвет контура.
  Все произошедшие изменения зафиксированы в новых значениях параметров векторной фигуры.

  Целочисленная структура векторной графики очень подошла и для следующего проекта - http://clck.ru/ZBtcH 
  В нём векторная графика стала уже трёхмерной.
______

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

__________
25.06.2022

   И, наконец, самый свежий пример - http://proza.ru/2023/09/03/1114
   Цветовая дифференциация растровых изображений, то есть, разделение их на отдельные части по их цвету, позволяет создать структуру, а с ней и технологию совершенно нового и чрезвычайно перспективного способа изготовления анимационных фильмов. В этой технологии не используются так называемые слои, присутствующие во всех технологиях изготовления мультипликационных фильмов, а результат получается ничуть не хуже, чем при работе со слоями. У технологии имеется и ряд преимуществ перед традиционной.


Рецензии
Спасибо, страшно интересно!
Так и знала, что представить что-то, это практически этому быть. А уж если проговорить, ухватить словами...

Ааа, мурашки... Спасибо.

Серафима Смолина   26.01.2023 11:38     Заявить о нарушении
Издеваетесь, да?
Однако, спасибо ))

Вообще-то, ещё в школе, я рисовал всякие рисунки карандашами. Без рисунка ничего не понимал. Кстати, Вы имеете зрительное представление о том, как выглядит числовая ось?
Я представляю её так - от числа -273 и до +36 она идёт слева к моим ногам и далее продолжается до числа 100. Затем ось поворачивает на 90 градусов налево и идёт вдаль до числа 1000. Потом она вновь поворачивает, но уже направо, и идёт до миллиона. За миллиардом её следы теряются.

А представляете ли Вы смену времён года в виде настенного календаря?

Дмитрий Маштаков   26.01.2023 14:09   Заявить о нарушении
Нет, не издеваюсь, и да мало это представляю. С уважением, Серафима.

Серафима Смолина   26.01.2023 15:32   Заявить о нарушении
На это произведение написаны 3 рецензии, здесь отображается последняя, остальные - в полном списке.