Мышление, модели
Мы начинаем заниматься моделированием, то есть мы будем обсуждать всё, что связано с созданием и использованием моделей. В самом общем понимании:
Модель чего-то одного -- это что-то такое другое, что позволяет нам судить об этом первом, не взаимодействуя с ним непосредственно.
У чего бывают модели? Модели бывают у чего угодно! У предметов материального мира (стульев или кораблей), у абстрактных концепций («право» или «справедливость»), у текстов и баз данных, у других моделей, наконец (и это мы будем обсуждать отдельно).
Модель должна в чём-то соответствовать тому, что она моделирует, или быть как-то похожа в своих свойствах или характеристиках на моделируемое. Такое сходство и обеспечивает возможность использовать модель по назначению.
Какие бывают модели? Очень разные! Деревянные, железные, математические, компьютерные, текстовые, ментальные, нейросетевые, и ещё множества разных типов моделей. Модель для почти всего можно построить с помощью практически чего угодно, на эту тему есть множество анекдотов и мемов, которые вы можете поискать сами. Приведём лишь одну цитату, наиболее парадоксальную -- она показывает, что, несмотря на простоту понятия модели, моделирование является очень сложной областью:
«...лучшей материальная моделью кошки будет иная кошка, однако предпочтительнее, чтобы это была та же самая кошка...»
«...the best material model for a cat is another, or preferably the same cat...»
Arturo Rosenblueth & Norbert Wiener, «The role of models in science»
Что можно делать с помощью моделей? Множество вещей! Сохранять, находить и передавать информацию о предмете моделирования, изучать его, предсказывать его свойства и поведение, проверять его реакции на внешние воздействия, планировать изменения предмета моделирования, совершенствовать его, сравнивать и находить отличия между предметами моделирования, и много чего ещё.
Чтобы начать изучение основ моделирования, самых общих принципов, применимых буквально ко всему, что называется «моделированием» - мы начнём с собственного мышления. Ведь именно моделирование лежит в основе мышления человека. Мы не бросаемся двигать мебель, когда думаем о своей квартире, мы не хватаем товары на полках или не перебираем купюры в кассе, когда размышляем о своём торговом бизнесе. Мы строим в голове модель того, о чём мы хотим подумать.
Сразу можно отметить, что моделирование лежит не только в основе мышления людей, но и в основе мышления других агентов - сейчас и компьютеры вполне убедительно демонстрируют способность мыслить.
Мышление -- всегда моделирование, это работа с моделями внутри собственной головы (памяти, процессора).
Если вы проходите этот курс --вы, скорее всего, научились успешно переходить улицу, и тем самым имеете в голове модель, хотя бы самую базовую, правил дорожного движения, а также модель автомобиля как движущегося тела с мотором и тормозами на разных типах дорожного покрытия (это довольно сложная модель, перевести её в математические формулы в соответствии с законами физики -- не всякий возьмётся).
Наша цель в этом курсе -- выявить и обсудить самое общее в том, как мы строим, представляем и обрабатываем модели. Сперва у себя в голове, потом при чтении чужих текстов и при написании своих, в речи (при коммуникации с другими), и, наконец, мы немного затронем (для продвинутых) моделирование при проектировании и написании программ для компьютеров. Самые универсальные приёмы, лежащие в основе любого моделирования, мы постараемся сформулировать так, чтобы они были полезны для всех этих занятий, и для многих других. Нашим языком моделирования будет в основном русский язык, форматом моделирования -- таблички. Но с приобретёнными знаниями вы сможете погрузиться в более формальные методы онтологического моделирования и освоить очень продвинутые технологии работы с информацией, типа RDF/OWL (https://en.wikipedia.org/wiki/Resource_Description_Framework, https://en.wikipedia.org/wiki/Web_Ontology_Language) или графовых баз данных (https://en.wikipedia.org/wiki/Graph_database ).
Свои специальные методы моделирования для разных областей деятельности создаются в математике, физике, химии и во множестве других точных наук. Всем этим мы заниматься не будем совсем. Интересующие нас общие принципы моделирования развивались в рамках таких дисциплин как лингвистика, логика, когнитивистика, нейропсихология, программирование. Информация в этом курсе собрана именно оттуда, хотя и из разных источников. Мы будем называть изучаемую область термином, пришедшим из классической философии, но хорошо прижившимся и в программировании -- «онтология».
Онтология в самом классическом смысле -- это система представлений о сущем, о том, что есть в мире. С этого мы и начнём, но понятие «онтологии» мы ещё будем уточнять.