Darstellung eines Objekts in der Programmierung. - Seite 6

 

Und so, Objekt. (Seien wir trivial und nehmen wir das gleiche rechteckige Etikett.)

1) GrundlegendeObjektkomponenten:

Diese Komponenten sind uns allen bekannt, so dass es keinen Grund gibt, sich mit ihnen zu befassen. Mehr oder weniger kompliziertes Objekt hat:

  • Parameter sind die grundlegendste Gruppe von Bestandteilen, aber nicht die einfachste. Meiner Meinung nach ist die zugänglichste Erklärung für einen Parameter eine Entität, die eine benannte Menge oder einen Wert in der Struktur eines Systems oder einer Umgebung darstellt. Der Parameter drückt eine Menge kurz und bündig durch ihre Nummer aus und ist Teil der Konstruktorfunktionen, die diese Strukturen reproduzieren. Obwohl er nicht der einzige Parametertyp ist, werden wir uns im Folgenden auf ihn konzentrieren.
  • Der Eigenschaftssatz ist ein Parameterkomplex, der"objektmetrische" Daten vereint, die von verschiedenen Funktionen verwendet werden - d.h.Schlüsselwerte und komplexe Struktursätze von Object. In diesem Beispiel hat das Etikett 5 Parameter - x,y, (Position im Raum), Breite, Höhe (Breite und Höhe), Farbe (Farbe), d.h. die Menge seiner ursprünglichen Eigenschaften beginnt, ist aber nicht auf die Eingabeparameter (Argumente) der Funktion beschränkt, die es darstellt.
  • Die Konstruktorfunktion ist eine Reihe von Aktionen (auch Algorithmus genannt), die das Objekt reproduzieren. Die Funktion, die das Etikett zeichnet, verwendet bei ihrer Ausführung alle oben genannten Parameter. (Es ist zu beachten, dass der grundlegende Parametersatz des Labels durch die Implementierungsmethode der Funktion - Konstruktor - bestimmt wird. Wenn wir die Methode zum Zeichnen des Etiketts ändern (z. B. Zeichnen mit einem Zyklus anstelle von zwei Zyklen), ändert sich auch der anfängliche Satz von Etikettenparametern.)
  • Form - es ist schwer zu leugnen, dass alle Beispiele von Objekten, die man sich vorstellen kann, eine Form haben. Die Form eines Labels ist primitiv einfach, aber sie ist ein untrennbarer Teil davon. Es gibt jedoch Objekte, die keine Form haben, und daher ist sie kein wesentlicher Bestandteil eines Objekts. Die Form ist ein wichtiger Teil des "Lebens" und kann einen Informationsfluss durch sie vermitteln - als Ereignisse, Prozesse, Zustände, Trends usw.
  • Zustände sind sinnvolle"Haltepunkte" im Wesen des Objekts. Im Sinne des Codierers - Werte von Parametern des Objekts, zu denen es übergeht, wenn sich die Bedingungen der äußeren Umgebung ändern, oder im Prozess der unabhängigen Ausführung des internen Programms. Sie sind in jedem, auch minimal komplexen System vorhanden. Dieses Attribut verwandelt ein einfaches Etikett in ein System und erfordert, dass wir die Logik der Übergänge mit einer Reihe von zusätzlichen Bedingungen formalisieren. Gleichzeitig kann ein Parametersatz eines Labels immer noch primitiv einfach sein, aber das Hinzufügen von Zuständen erhöht die Anzahl der möglichen Parameterwerte und zwingt dazu, zusätzlichen Speicher für sie zuzuweisen, und das Label ändert den Status eines primitiv einfachen Objekts zu einemfunktionalen System,da es zusätzlich zu seinem Konstruktor die zusätzliche Funktion des Umschaltens von Zuständen erworben hat.Zustände sind inhärent in komplexeren Objekten, die aus verschiedenen Systemen bestehen.
  • Ereignisse sind ein Attribut des Objekts von noch höherer Komplexität. Wenn das Objekt (Tag) nur über Zustände verfügt, kann es einem einfachen Uhrwerk ähneln, das die Werte seiner Designerfunktionsparameter in einer vorgegebenen Abfolge ändert, und sein gesamtes "Leben" ist auf eine einzige Kette vorgegebener Zustände beschränkt; durch die Hinzufügung von Ereignissen wird diese Kette jedoch unterbrochen und es werden neue Übergangssequenzen eingeführt, wodurch schließlich ein komplexeres Verhaltenssystem oder eine Interaktion mit der Umgebung in das Tag (Objekt) integriert wird. Doch dazu später mehr. Kommen wir nun zur Definitioneines Ereignisses und seiner Softwareimplementierung.

Ein Ereignis ist eine bedeutsame Veränderung entweder des Objekts selbst oder seiner Umgebung. Strukturell kann das Ereignis eine Beschreibung oder Angabe des Hintergrundzustands seines Objekts (des Tags) enthalten, der die Bedingung für das Auftreten der Änderung ist, aber seine Hauptaufgabe bei der Beschreibung des Ereignisses besteht darin, mitzuteilen, was mit dem Tag oder dem System, in das es integriert ist, oder mit der externen Umgebung derÄnderung selbst geschehen ist, was durch die spezifischen Werte bestimmter (anfänglicher oder abgeleiteter) Parameter, durch die Beziehungen einiger im System oder der Tag-Umgebung vorhandener Werte oder durch die Konstruktion der Art (Signatur) der Änderung ausgedrückt werden kann, wenn sie selbst geändert wurde. All dies kann als ein Ereignis betrachtet werden. *Später werde ich auf die Frage der programmatischen Beschreibung der Objektkomponenten zurückkommen.

  • Prozesse sind die nächste Stufe der Komplexität. Wenn wir einen Moment zurückblicken, können wir sehen, wie jede nachfolgende Objektkomponente nicht nur komplexer wird, sondern auch die vorherige als" Add-on" mit einbezieht: Parameter beschreiben strukturierte Mengen, Objekteigenschaften kombinieren ausgewählte Parameter zu einem Komplex, Konstruktorfunktionen kombinieren Mengen von Objektparametern, Zustände können sowohl Mengen von Parametern als auch Formen kombinieren. Ereignisse können Zustände kombinieren, um den Hintergrund zu beschreiben, vor dem eine bedeutsame Veränderung stattgefunden hat, gefolgt von Prozessen.

Prozesse fassen Zustände und Ereignisse eines Objekts zu einer Sequenz zusammen, die als eine "Kette" oder "Reihe" von Werten einer ausgewählten Gruppe von Parametern des Objekts in einer bestimmten Richtung dargestellt werden kann. Die beste Analogie wäre eine numerische Reihe, bei der die Werte in den Zellen durch einen Prozess bedingt sind, der entweder zufällig oder geplant sein kann. Der Prozess selbst besteht jedoch aus vielen solcher Zahlenreihen, von denen jede einem Parameter zugewiesen ist. Die Erstellung eines Prozesses ist einfach - man nimmt einen Anfangssatz von Parametern (z. B. eine Konstruktorfunktion) und erzeugt (oder erhält) eine Reihe von Werten für jeden von ihnen. Es ist auch einfach, den Prozess in Zustände, Ereignisse und Übergänge zwischen ihnen zu zerlegen. Sie können in Teile und Hierarchien untergliedert werden, wobei die Teile durch beliebige oder vordefinierte Sequenzen miteinander verbunden werden. Wichtig ist, dass Sie den Prozess in seine Bestandteile "zerlegen" oder ihn aus ihnen zusammensetzen können. Prozesse können modelliert, optimiert und verändert werden. Prozesse sind sowohl in den Objekten selbst als auch in der Objektumgebung vorhanden. In diesem Fall fungiert die Umgebung als "Meta-Objekt".

An dieser Stelle muss hinzugefügt werden, dass ein Prozess, so komplex er auch erscheinen mag, lediglich eine Abfolge von Parameterwerten ist, die zu Ereignis- und Zustandsformulierungen kombiniert werden, die wiederum auf der Grundlage des anfänglichen Satzes von Parametern konstruiert werden, die die Objektstruktur beschreiben und von seiner Konstruktorfunktion (oder auch von Funktionen, die das Leben des Objekts implementieren) verwendet werden.

Damit ist Teil eins abgeschlossen. Im zweiten Teil werde ich zu den nächsten Komplexitätsebenen des Objekts übergehen und die Ereignis- und Logikmodelle des Systems, ihre Bestandteile und die Prinzipien ihrer Konstruktion betrachten.

Im dritten Teil werde ich von philosophischen Formulierungen zu Fragen der neuen Implementierung von Software-Objekten und -Code übergehen (auch wenn dies nicht einfach sein wird).

 
Реter Konow #:

Sehr interessante Fragen, die Sie da stellen.

1. Es ist unbestreitbar, dass unsere Sprache (oder jede andere Form der Gedankenäußerung) physisch linear ist, weil sie sich in der Zeit entfaltet, aber das Denken hat nicht nur eine physische, sondern auch eine logische Dimension und kann in seiner Logik sowohl linear als auch dialektisch sein. Nun, zum Beispiel die Tatsache, dass ich absichtlich zu den Ursprüngen von OOP zurückgegangen bin (während die Menschheit in ihrer Masse linear ist), ist ein Beispiel für logische Nicht-Linearität des Denkens, während die Linearität, von der Sie sprechen, nur eine allgemein akzeptierte Ordnung ist. Der Gedanke unterbricht ihn ständig, indem er "hin und her" geht. Versuchen Sie einmal, ein Theorem zu beweisen, ohne einen Schritt zurückzutreten und Ihr Handeln zu überdenken).

Ich stimme zu, dass man durch Intuition und Gelehrsamkeit von einem logischen Zweig zu einem anderen springen kann, nicht so wie bei den formalen ATP SPASS/HOL/NuPRL/etc-Beweis-Systemen, aber selbst solche "Hin- und Her"-Sprünge sind linear und (theoretisch) algorithmisierbar, zum Beispiel wenn man sich vorstellt, dass man in irgendeinem Rahmen pseudozufällige Annahmen machen und sie wieder formal beweisen kann.

Man kann sich an das de Bruijn-Prinzip erinnern: ein System besteht aus zwei Teilen - einem kompakten formalen logischen Kernel-Verifizierer, der das tut, was alle ATPs tun, und daneben etwas möglichst Großes, das sich an exogene Daten klammern kann (Intuition, schamanistische Gesänge, Beiträge aus dem mql5-Forum...).

Auch in diesem Fall erhalten wir also ein lineares System, weil der Algorithmus sequentiell ist und in Turing passt... Vielleicht verwende ich die Begriffe zu locker, aber es sei mir verziehen, ich bin ein Menschenfreund, und wenn es etwas gibt, können mich angesehene Mathematiker korrigieren...

Vielleicht brauchen wir nicht nur einen nicht-deterministischen potenziell unendlichen Automaten, sondern auch einen Automaten, der viele asynchrone Operationen gleichzeitig ausführen kann.

Zum Spaß können Sie das MathGen-Projekt zur Erzeugung zufälliger mathematischer Texte aufrufen:https://thatsmathematics.com/mathgen/.


2. Ich stimme der Theorie zu, dass die menschliche Fähigkeit, die Welt zu verstehen und wahrzunehmen, begrenzt ist. Es ist gar nicht so schwer, die eigenen Grenzen zu finden. Ein Mensch kann zum Beispiel keine großen Mengen erreichen und verarbeiten, kann kein dynamisches Chaos mit hoher Entropie vorhersagen und so weiter... Aber wie sehr braucht er sie? Der Mensch schafft Technologien, die seine Fähigkeit, "das Existenzielle mit seinen Universalien zu umfassen", erfolgreich erweitern. Kant hat, glaube ich, nichts dazu gesagt).

Es gibt keine Grenze der Perfektion, aber die Mathematik kann von einer unerwarteten Seite her zuschlagen, z.B. wenn man ein Modell von Meta-Objekten entwirft, und irgendwann (sagen wir, nach 50 Jahren harter Arbeit, hehe) braucht man einen sich selbst verifizierenden Automaten, und Gödel springt heraus und sagt: - no way! - In jedem formalen axiomatischen System mit Prädikaten oberhalb der zweiten Ebene [wenn ich mich nicht irre] wird man immer formal wahre, aber nicht beweisbare und nicht widerlegbare Aussagen finden, und was ist zu tun? - Zurück in die Fabrik gehen?

Interessanterweise behaupten einige Kryptowährungsprojekte, Turing-Vollständigkeit zu erreichen, und selbst hier können sie täuschen, rein als Marketing-Trick, die Ether-Plattform im Besonderen wird behauptet, Turing-vollständig zu sein, und Bitcoin zum Beispiel ist im Gegenteil dafür bekannt, von vornherein Turing-unvollständig zu sein, aber hat irgendjemand dies tatsächlich überprüft, das ist die Frage, und bis zu welchen Grenzen ist dies wahr...


3. Sie haben Konzepte wie "Hyper-Objekte" und "Meta-Objekte" mehrmals auf verschiedene Weise erwähnt. Gerade auf dieses Thema wollte ich im nächsten Beitrag zu sprechen kommen und den Inhalt von Object in meinem Konzept offenlegen, wo unter anderem "Meta-Objects" vorhanden sind.

Ich sollte noch hinzufügen, dass das Konzept so programmierorientiert wie möglich aufgebaut wurde, da das letztendliche Ziel darin besteht, eine neue KI-Engine zu entwickeln. Daher werden alle Erklärungen und Beispiele programmierorientiert sein.

Hyperobjekte, die ich in Anlehnung an die Interpretation von Timothy Morton verwendet habe, sind solche Objekte, die so massiv in Zeit und Raum verteilt sind und die eine bestimmte Lokalisierung überschreiten, und hier ist es interessant festzustellen, dass dies der Bereich ist, in dem Mathematik und technische Wissenschaft beginnen, Kunst, Mythos und Magie zu berühren... Die Mitwisser sind sich beispielsweise des Konzepts der Hypersigillen in den verbotenen Ritualen der Chaosmagie sehr wohl bewusst, es handelt sich um eine Möglichkeit der komplexen Beeinflussung der Realität, auch wenn das, was zu diesem Thema veröffentlicht wird, in der Regel in einen dicken Schleier des schwärzesten Obskurantismus und des finsteren Satanismus gehüllt ist, aber wenn wir ihn ablegen, dann bleibt das Prinzip der komplexen Beeinflussung, einschließlich der informationellen Beeinflussung eines Objekts/Subjekts, das in der Lage ist, diese Information zu empfangen, ähnlich wie die hybride Kriegsführung in der modernen Geopolitik oder die dezentralisierten Proteste, und das Meta-Objekt kann wahrscheinlich als eine Verallgemeinerung des Hyper-Objekts zu einem nicht-lokalen extratemporalen, aber dennoch identifizierbaren Prozess betrachtet werden, fast so etwas wie ein Archetyp.

 
Wie ich gestern schon sagte, wird es wieder ein heißes Thema werden, angefangen im Jahr 19, jetzt wird es wieder heiß.
 
Реter Konow #:

Und so, Objekt.

Schreiben Sie es sofort in der Backus-Naur-Form auf. Es wird möglich sein, bereits bestehende Varianten auf Konsistenz und Isomorphie zu prüfen.

 

Das alles ist für den Handel sehr wichtig!

Schluss mit der Flut kontextsensitiver formaler Grammatiken!

 
Aleksey Nikolayev #:

Schreiben Sie es sofort in der Beckus-Naur-Form auf. Es wird möglich sein, die Konsistenz und Isomorphie zu bereits bestehenden Varianten zu überprüfen.

Zeigen Sie bitte ein Beispiel.

 
transcendreamer #:

Das alles ist für den Handel sehr wichtig!

Schluss mit der Dominanz der kontextabhängigen formalen Grammatiken!

Ich denke, man kann sich die Preise als eine kontextabhängige stochastische Grammatik vorstellen).

 
Aleksey Nikolayev #:

Ich denke, man könnte die Preise als kontextabhängige stochastische Grammatik betrachten).

Ähm ... Vielleicht dann Wellenfolgen mit probabilistischen Regeln wie: wenn es eine solche und solche beobachtete Folge von Begriffen/Signaturen WXYZ gab, dann weiter vielleicht ABC, ABC, BAC, ABC, CAB, CBA mit einigen Wahrscheinlichkeiten, deren Vektor auf den Gral im probabilistischen Raum zeigen würde. 😁

 
Aleksey Nikolayev #:

Ich denke, man kann sich die Preise als eine kontextabhängige stochastische Grammatik vorstellen).

Aber im Kern handelt es sich um ein markovianisches Modell, bei dem die Abhängigkeit vom Markthintergrund natürlich nicht berücksichtigt wird, oder?

 
Реter Konow #:

Zeigen Sie bitte ein Beispiel.

Ganze Zahlen und durch Komma getrennte Liste von ganzen Zahlen (die Liste kann leer sein)

<Ziffer> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

<Ganzzahl> ::= <Ziffer>|<Ganzzahl><Ziffer>

<liste> ::= <""> |<ganzzahlig><","> <liste>

Grund der Beschwerde: