Thinking, models
We are starting to engage in modeling, that is, we will discuss everything related to the creation and use of models. In the most general understanding:
A model of something is something else that allows us to judge it without interacting with it directly.
What can be modeled? Models can be created for anything! For objects in the material world (chairs or ships), for abstract concepts ("right" or "justice"), for texts and databases, for other models, finally (and we will discuss this separately).
A model should in some way correspond to what it models or be somehow similar in its properties or characteristics to the modeled object. Such similarity ensures the possibility of using the model as intended.
What kinds of models exist? Many different kinds! Wooden, iron, mathematical, computer, textual, mental, neural network, and many other types of models. A model for almost anything can be built using practically anything, and there are plenty of anecdotes and memes on this topic that you can find for yourself. Let's just mention one quote, the most paradoxical one, which shows that despite the simplicity of the concept of a model, modeling is a very complex area:
“...the best material model for a cat is another, or preferably the same cat...”
Arturo Rosenblueth and Norbert Wiener, "The role of models in science"
What can be done with models? Many things! Preserve, find, and transmit information about the object being modeled, study it, predict its properties and behavior, test its reactions to external influences, plan changes to the object being modeled, improve it, compare and find differences between the objects being modeled, and much more.
To begin studying the basics of modeling, the most general principles applicable literally to everything called "modeling," we start with our own thinking. After all, modeling is at the core of human thinking. We do not move furniture around when thinking about our apartment, we do not grab items off the shelves or count money in the cash register when thinking about our retail business. We build a model in our heads of what we want to think about.
It can be noted right away that modeling is not only at the core of human thinking but also at the core of the thinking of other agents - computers now convincingly demonstrate the ability to think.
Thinking is always modeling, working with models inside one's own head (memory, processor).
If you are taking this course, you have most likely learned to successfully cross the street, and thus have a model in your head, at least the most basic one, of the rules of the road, as well as a model of a moving vehicle with an engine and brakes on different types of road surfaces (this is quite a complex model, not everyone will be able to translate it into mathematical formulas in accordance with the laws of physics).
Our goal in this course is to identify and discuss the most general aspects of how we build, represent, and process models. Starting with our own minds, then in reading others' texts and writing our own, in speech (when communicating with others), and, finally, we will touch on (for the advanced) modeling in designing and writing programs for computers. We will try to formulate the most universal techniques underlying any modeling so that they are useful for all these activities and many others. Our modeling language will mainly be Russian, and the format of modeling will be tables. But with the acquired knowledge, you will be able to delve into more formal methods of ontological modeling and master very advanced information processing technologies, such as RDF/OWL or graph databases.
Special modeling methods for different fields of activity are developed in mathematics, physics, chemistry, and in a multitude of other exact sciences. We will not delve into any of that. The general principles of modeling that interest us have been developed within disciplines such as linguistics, logic, cognitive science, neuropsychology, and programming. The information in this course is gathered precisely from there, although from various sources. We will use a term in this course that comes from classical philosophy but has also become well-established in programming - "ontology."
Ontology in the most classical sense is a system of beliefs about existence, about what exists in the world. This is where we will start, but we will continue to refine the concept of "ontology."