empty_element durch eine Klasse Element ersetzt, Anpassung der Funktionen

This commit is contained in:
2025-04-28 16:42:00 +02:00
parent 237e3f359a
commit c902ba9b3a
2 changed files with 46 additions and 47 deletions

View File

@@ -1,13 +1,23 @@
import math
empty_element = {
"count" : 1,
"p(x_i)" : 0,
"I(x_i)" : 0
}
class Element:
id = ""
count = 0
p_x_i = 0
I_x_i = 0
def __init__(self, id):
self.id = id
self.count = 1
def find_element(list, target_it):
for element in list:
if element.id == target_it:
return element
return None
def read_text_file():
path = '/Users/safak/Documents/UNI/IT/P1/text.txt'
path = './text.txt'
with open(path, 'r', encoding='utf-8') as file:
content = file.read()
@@ -19,13 +29,14 @@ def Z_statistik():
m = len(message)
elements = {}
elements = []
for char in message:
if elements.__contains__(char):
elements[char]["count"] += 1
entry = find_element(elements, char)
if entry is not None:
entry.count += 1
else:
elements[char] = empty_element.copy()
elements.append(Element(char))
calculate(elements, m, message)
@@ -34,15 +45,17 @@ def Z2_statistik():
m = len(message) - 1 # Letztes Zeichen kann kein Tupel mit "nichts" bilden
elements = {}
elements = []
for i, char in enumerate(message):
if i != m:
if i < m:
tuple = char + message[i+1]
if elements.__contains__(tuple):
elements[tuple]["count"] += 1
entry = find_element(elements, tuple)
if entry is not None:
entry.count += 1
else:
elements[tuple] = empty_element.copy()
elements.append(Element(tuple))
calculate(elements, m, message)
@@ -52,9 +65,10 @@ def W_statistik():
m = 0
i = 0
elements = {}
elements = []
l = len(message)
while i != len(message):
while i < l:
word = ""
if message[i].isalpha():
@@ -62,7 +76,7 @@ def W_statistik():
word += message[i]
# füge Zeichen hinzu bis Wortende erreicht ist
while message[i+1].isalpha():
while i+1 is not l and message[i+1].isalpha():
i += 1
word += message[i]
@@ -70,10 +84,12 @@ def W_statistik():
m += 1
# Zähle die Häufigkeit der Wörter
if elements.__contains__(word):
elements[word]["count"] += 1
entry = find_element(elements, word)
if entry is not None:
entry.count += 1
else:
elements[word] = empty_element.copy()
elements.append(Element(word))
# gehe weiter in der Nachricht
i += 1
@@ -81,32 +97,17 @@ def W_statistik():
calculate(elements, m, message)
def calculate(elements, m, message):
for x_i in elements:
elements[x_i]["p(x_i)"] = elements[x_i]["count"] / m
elements[x_i]["I(x_i)"] = -1 * math.log2(elements[x_i]["p(x_i)"])
h = 0
for x_i in elements:
h += elements[x_i]["p(x_i)"] * elements[x_i]["I(x_i)"]
for element in elements:
element.p_x_i = element.count / m
element.I_x_i = -1 * math.log2(element.p_x_i)
h += element.p_x_i * element.I_x_i
sorted_by_element = sorted(elements)
sorted_by_count = dict(sorted(
elements.items(),
key = lambda item: item[1]["count"],
reverse=True
))
sorted_by_information = dict(sorted(
elements.items(),
key = lambda item: item[1]["I(x_i)"],
reverse=True
))
# Ausgabe
for x_i in sorted_by_element:
print(f"{elements[x_i]["count"]:3.0f} | {elements[x_i]["p(x_i)"]:10.7f} | {elements[x_i]["I(x_i)"]:10.7f} | »{x_i}«")
print("Entropie der Nachricht = " + h.__str__() + "\n\n")
elements.sort(key = lambda element: element.count, reverse = True)
for element in elements:
print(f"{element.count:3.0f} | {element.p_x_i:10.7f} | {element.I_x_i:10.7f} | »{element.id}«")
print("Entropie = " + h.__str__() + "\n\n")
def main():
Z_statistik()

View File

@@ -1,3 +1 @@
Das Corps Moenania ist ein pflichtschlagendes und farbentragendes Corps im Kösener Senioren-Convents-Verband (KSCV). Es vereint Studenten und Alumni der Julius-Maximilians-Universität Würzburg sowie der Technischen Hochschule Würzburg-Schweinfurt. Das Corps ist die Studentenverbindung mit der längsten ununterbrochenen Tradition an der Universität Würzburg. Seine Mitglieder werden „Mainländer“ genannt. Innerhalb des KSCV gehört die Moenania dem Blauen Kreis an.
Das Corps Moenania wurde im Jahre 1814, zum Ende der Toskanazeit, an der Alma Julia unter dem Namen „Gesellschaft der Mainländer“ und dem Wahlspruch „Ewigkeit geschworenen Eyden“ im Geiste des Deutschen Idealismus gegründet. Zu den frühen Mitgliedern zählte auch der spätere Japanreisende, Arzt und Naturgelehrte Philipp Franz von Siebold. Ab den 1820er-Jahren bezeichnete sich die Gesellschaft vermehrt als Corps. Im Jahre 1828 erhielt die Verbindung als erste Studentenverbindung in Würzburg die behördliche Anerkennung. Die Mitte des 19. Jahrhunderts erwies sich als eine turbulente Epoche für das Corps, geprägt von einer Vielzahl an Aus- und Wiedereintritten im Würzburger SC. Nachdem eine interne Streitigkeit beigelegt werden konnte, trat Moenania im Jahre 1849 erneut dem Würzburger SC bei und wurde damit zugleich Mitglied des KSCV, welchem der Würzburger SC zwischenzeitlich beigetreten war. Im Jahr 1876 beschloss das Corps nach intensiven internen Auseinandersetzungen, sich von einem Lebenscorps zu einem Waffencorps zu wandeln. Im Kaiserreich errichtete sich das Corps zudem als eine der ersten Verbindungen in Würzburg ein eigenes Corpshaus, das nach einer einjährigen Bauzeit im Juni 1897 eingeweiht werden konnte. In der Zeit der Weimarer Republik verzeichnete das Corps einen erheblichen Zuwachs an neuen Füchsen. Zudem trat es dem Hochschulring Deutscher Art (HDA) bei. Während der Zeit des Nationalsozialismus schloss das Corps jüdische und „jüdisch versippte“ Mitglieder aus und musste sich 1935 schließlich suspendieren. Später wurde eine NS-Kameradschaft mit dem Namen „Philipp Franz von Siebold“ auf dem Corpshaus eingerichtet, deren Mitglieder ab 1941 wieder Mensuren schlugen. Das Verbindungshaus wurde beim Luftangriff auf Würzburg 1945 weitgehend zerstört. Bereits vor der Rückgabe der beschlagnahmten Ruine und der offiziellen Lizenzierung der Verbindung in der amerikanischen Zone im Jahre 1949 begannen Mitglieder des Corps mit dem Wiederaufbau des Hauses und der Rekonstruktion des Vereins. Die 68er-Bewegung führte auch bei der Moenania zu inneren Verwerfungen. Im Jahre 2014 feierte das Corps sein 200. Stiftungsfest in einem festlichen Akt.
Die Geschichte Korsikas im Altertum ist, obwohl die Insel nie als wohlhabend galt, von Kämpfen um die Vorherrschaft durch fremde Mächte geprägt. Eine erste Besiedlung der Insel ist für das 8. Jahrtausend v. Chr. nachgewiesen. Die Nachfolger der neolithischen Kulturen konnten ihre Traditionen zwar noch bis weit in die römische Herrschaftszeit aufrechterhalten, doch interessierten sich bereits vor den Römern Etrusker, Phönizier und Karthager, Griechen und nach ihnen Vandalen, Byzantiner und Sarazenen für die Insel. Für die größeren Reiche hatte Korsika vor allem als Stützpunkt im Mittelmeer strategische Bedeutung. Im 6. Jahrhundert v. Chr. begann unter dem Einfluss der Karthager eine Verstädterung auf der Insel. Konnte der Versuch einer griechischen Kolonisation noch im selben Jahrhundert mit dem zentralen Element der Gründung der Stadt Alalia zunächst von den Karthagern verhindert werden, übernahmen zu Beginn des folgenden Jahrhundert die Etrusker die Kolonialisierung. Im 4. Jahrhundert v. Chr. gab es einen letzten griechischen Versuch, die Insel zu gräzisieren, doch scheiterten sie erneut. Von nun an rückte die Insel immer mehr ins Blickfeld Roms, das schon gegen Ende des 5. Jahrhunderts v. Chr. mit der Gründung einer eigenen Kolonie zunächst gescheitert war. Dennoch geriet Korsika immer mehr in die römische Einflusssphäre und ab 259 v. Chr. wurde sie schließlich erobert. Nach Sicilia wurde Korsika im Verbund mit Sardinien die zweite römische Provinz, Sardinia et Corsica. Einzig während der Bürgerkriege passierten auf Korsika einige Dinge, die auch von überregionaler Bedeutung waren. So war die Insel längere Zeit im Machtbereich und eine Operationsbasis von Sextus Pompeius. Mit dem Beginn der Kaiserzeit wurde Sardinia et Corsica eine senatorische Provinz, was ihre relative Bedeutungslosigkeit aufzeigt. Keine Legionen waren hier stationiert, äußere Feinde drohten nicht und auch die Versorgung der Stadt Rom hing nicht von der Insel ab. Selbst die Reformen des Diokletian gegen Ende des 3. Jahrhunderts änderten nichts am korsischen Status. Erst im frühen 5. Jahrhundert eroberte mit den Westgoten erstmals eine fremde Macht seit mehr als 650 Jahren die Insel. Nachdem auch die Vandalen und Ostgoten kurzzeitig die Insel übernommen hatte, konnten in den 530er Jahren die Oströmer (Byzantiner) sie zurückgewinnen. 40 Jahre später besetzten die Langobarden strategisch wichtige Küstengebiete, das Innere blieb jedoch byzantinisch. Mittlerweile hatte sich die Kirche als der eigentliche Rückhalt der Bevölkerung etabliert. Bis weit ins Frühmittelalter war Korsika nun Spielball äußerer Mächte.