Sebbis Blog

Schlagwort: Studium

  • Formale Sprachen & Grammatiken

    4-Tupel: G= (V, T, P, S) mit V ist endliche Menge der Variablen, T ist endliche Menge (Terminalalphabet). V geschnitten T ist die Leere Menge. P ist endliche Menge der Produktionen – formal: Teilmenge von (V vereinigt T)+ x (V vereinigt T)*. S ist Element von V und ist Startvariable.

    Erzeugbare Sprache von G:
    L(G) = { w Element von T* | S ->*G w }
    ->*G: reflexive und transitive Hülle von ->G

    Beispiel:
    G = ({E,T,F}, {(,),a,+,*}, P, E)
    P = {E->T,
    E->E+T,
    T->F,
    T->T*F,
    F->a,
    F->(E) }

    „a * a * (a +a) + a“ wäre damit ein Element von L(G)

    Ausgehend von der Startvariable kann man einen Baum mit möglichen Wörtern zeichnen (Blätter = Wörter). Es kann dabei unendlich lange Pfade geben und es kann auch Sackgassen geben, die sich nicht zu einem Terminalwort ableiten lassen.

    Chomsky:

    • Typ 0: alle Grammatiken
    • Typ 1: heißt auch kontextsensitiv; wenn für w1->w2 in P gilt: |w1| < = |w2|
    • Typ 2: heißt auch kontextfrei; wenn Grammatik von Typ 1 und falls für w1->w2 in P gilt: w1 ist eine einzelne Variable (also nicht zusammengesetzt)
    • Typ 3: oder auch regulär; wenn Gramatik von Typ 2 und falls w2 entweder nur aus T oder einem Element aus T gefolgt von einem aus V

    Es gibt Typ 0 Sprachen, die entscheidbar sind. Auf jeden Fall entscheidbar sind alle Typ 1-3 Sprachen. Entscheidbar heißt, es gibt einen Algorithmus, der in endlicher Zeit feststellt, ob ein Wort zu der Sprache gehört oder nicht.

    Eine Grammatik heißt mehrdeutig, wenn es mehrere Syntaxbäume für ein und dasselbe Wort gibt, am sonsten heißt sie eindeutig. Eine kontextsensitive Sprache (Typ 1) heißt inhärent mehrdeutig, wenn es keine Möglichkeit gibt eine eindeutige Grammatik zu finden. Es ist i.A. nicht möglich durch einen Algorithmus Mehrdeutigkeit festzustellen.

    Backus-Naur-Form (BNF):
    Kompakte Beschreibung von Typ 2 Grammatiken
    A->b1
    A->b2
    A->b3
    wird: A-> b1|b2|b3
    A->ac
    A->abc
    wird: A->a[b]c
    A->ac
    A->abc
    A->abbc
    A->ab….bc (oder: A->aBc, B->b, B->bB)
    wird: A->a{b}c

  • Todoliste SS04

    Dieses Posting bitte ignorieren. Ich hab’s nur spaßeshalber mal online gestellt. Der Inhalt befindet sich den nächsten Seiten…

    Mangels guter Todoliste (findet mal eines im Internet, gibt’s nicht) und weil ich’s nicht auf Papier schreiben will, hier meine Todoliste für’s Sommersemester 2004:

  • Kleiner Stapel

    500+ Seiten sehen gar nicht so viel aus, wenn man 8 davon auf ein Din A4 Blatt quetscht (doppelseitig). Trotzdem bleiben 500 Seiten, 500 Seiten. Verdammt wird das unlustig. Heute wird der Lernplan aufgestellt … hurray! Ich suche nach einer (multiuserfähigen) Todoliste, die auch „Unteraufgaben“ hat und mich keine 5 Minuten Einrichtungszeit kostet und auch ausgedruckt nett anzusehen ist. Hat das wer was?

  • Great Hackers

    Auf PhotoMatt gefunden und gleich verschlungen. „Great Hackers“ ist ein Essay (von Paul Graham) und beschreibt ziemlich gut, was „Hacker“ (im Sinne von sehr gute Programmierer) brauchen, tun und sind.

    Und auch wenn ich mich selbst nicht als einer bezeichne/bezeichnen kann, einige Punkte treffen es doch ganz gut und

    Because you can’t tell a great hacker except by working with him, hackers themselves can’t tell how good they are. This is true to a degree in most fields. I’ve found that people who are great at something are not so much convinced of their own greatness as mystified at why everyone else seems so incompetent. The people I’ve met who do great work rarely think that they’re doing great work. They generally feel that they’re stupid and lazy, that their brain only works properly one day out of ten, and that it’s only a matter of time until they’re found out.

    Andererseits glaubt bei solchen Aussagen sicher jeder, dass er/sie ein Hacker sei. Verhält sich genauso wie mit dem Irrglauben das eigene Kind wäre ein Genie bzw. brauche Begabtenförderung, weil es ständig desinteressiert ist und schlechte Noten schreibt :-)

    Der Author liefert aber trotzdem am Ende noch ein Rezept ein Hacker zu werden (wenn es denn möglich ist):

    If it is possible to make yourself into a great hacker, the way to do it may be to make the following deal with yourself: you never have to work on boring projects (unless your family will starve otherwise), and in return, you’ll never allow yourself to do a half-assed job. All the great hackers I know seem to have made that deal, though perhaps none of them had any choice in the matter.

    Ok. Ich arbeite nie wieder an langweiligen Projekten mit und muss dafür nur darauf achten keine „half-assed“ Jobs anzunehmen? Ob man sich das als Student schon leisten kann? :mrgreen:

  • The Real Programmer’s Bible

    Real Programmer

    Dank an Plasma für diesen herrlichen Link (pdf, 73 kb). The Real Programmer’s Bible ist zwar im Jahre 1997 entstanden, aber vollkommen an mir vorbeigegangen. Es enthält so viele Weisheiten, dass ich gar nicht weiß wo ich anfangen soll zu zitieren :-)

    • „If you can’t do it in FORTRAN, do it in assembly language. If you can’t do it in assembly language, it isn’t worth doing.“
    • „Real Programmers can write five page long DO loops without getting confused“
    • „Real Programmers like Arithmetic IF statements – they make the code more interesting.“
    • „The problem with these editors is that Real Programmers consider ‚what you see is what you get‘ to be just as bad a concept in Text Editors as it is in Women. No, the Real Programmer wants a ‚you asked for it, you got it‘ text editor – complicated, cryptic, powerful, unforgiving, dangerous.“
    • „[Real Programmers do not use] Source language debuggers. Real Programmers can read core dumps.“
    • „At a party, the Real Programmers are the ones in the corner talking about operating system security and how to get around it.“
    • „A Real Programmer goes to discos to watch the light shows.“
    • „If there is not enough schedule pressure on the Real Programmer, he tends to make things more challenging by working on
      some small but interesting part of the problem for the first nine weeks, then finishing the rest in the last week, in two or three 50-hour marathons. This not only impresses the hell out of his manager, who was despairing of ever getting the project done on time, but creates a convenient excuse for not doing the documentation.“
    • „Real Programmers arrive at work in time for lunch.“
    • „A Real Programmer might or might not know his wife’s name. He does, however, know the entire ASCII (or EBCDIC) code table.“
    • „What of the future? […] College graduates these days are soft
      – protected from the realities of programming by source level debuggers, text editors that count parentheses, and „user friendly“ operating systems. Worst
      of all, some of these alleged ‚computer scientists‘ manage to get degrees without ever learning FORTRAN! Are we destined to become an industry of Unix hackers and Pascal programmers?“

    So und jetzt ist das fast wie bei jedem neuen Hollywoodfilm. Der Trailer zeigt die besten Szenen schon mal im vorraus, also braucht man den Film gar nicht mehr sehen … trotzdem kann es euch Geeks nicht schaden das mal durchzulesen (den mitlesenden Mädels schon!) … fröhliches Restwochenende :-)

  • Theoretische Informatik

    Kennt ihr das Gefühl, wenn man bei Tempo 200 aus einem Zug aussteigt? Nein? Es sollte sich ähnlich anfühlen, wie die heutige Übung in Theoretischer Informatik. Erst gegen Ende wich das Gefühl nur Bahnhof zu verstehen allmählich einer Art Gleichgültigkeit. Es sind ja schließlich noch zweieinhalb Monate bis zu dieser Prüfung. Ha!

    Stand heute eigentlich wieder etwas über die Eichenviecher in der Zeitung? Außergewöhnlich viele Leute benutzen gerade diesen Suchbegriff um meine Seite zu finden …

    Und wie das immer so ist … man will einfach nicht für drei so kurze Dinge drei verschiedene Einträge machen, also kommt auch das noch hier rein. Für das gesellige Besäufnis (nicht Franks Geburtstagsfeier) hab ich mir mal 8 Flaschen von dem – noch billigen – Gesöff besorgt. Ab morgen sind da Steuern ohne Ende drauf und vorbei ist’s mit den Alcopops. Obwohl selbst mischen ja eigentlich besser ist (darauf wird die Jugend wohl ausweichen), muss man schon noch mal so richtig zulangen, oder?

    Und morgen kommt Shrek 2. Freut euch auf ein neues Review … jaja, ich lade mir keine Filme runter und sag allen vorher wie toll ich sie fand … ich nicht. Ich hoffe ihr wisst das zu schätzen, liebe Filmindustrie! Weg mit dieser Kriminalisierungskampagne! Diese komischen Du-darfst-hier-nicht-den-tollen-Film-abfilmen-Warnungen gehen mir auf den S***. Cory Doctorow (der von boingboing) macht das richtig. Immer schön ein Foto von den Warnungen machen! Ich werd jetzt immer laut husten :-)

    P.S.: Vodafone, senkt eure Preise! Wenn ihr schon hinschreibt, dass die nur bis zum 29.6. gelten und heute, dass sie nur bis zum 30.6. gelten, dann habt ihr morgen ja die unglaubliche Gelegenheit eure Preise an das T-Mobile Niveau anzupassen. Macht es, oder ich kauf mir lauter 1 Euro Telefone mit kaum-Grundgebührverträgen und verkaufe diese Handies nachher bei Ebay, kündige die SIM-Karten und schmeiße sie in den Müll wohin dann auch eure Subventionen gehen … haha!

  • FragmentedTIDManager

    18 von 19 Punkten … das mit dem Modify ist ja ein Gemurks, aber das schaffe ich jetzt auch noch. Schlaf ist was für Kinder und Opas!

    -rw-r–r– 3051 Jun 21 00:09 src/records/FPA.cpp
    -rw-r–r– 2358 Jun 29 04:49 src/records/FragmentedTIDManager.cpp
    -rw-r–r– 2732 Jun 29 02:13 src/records/IndirectTIDManager.cpp
    -rw-r–r– 9544 Jun 29 04:49 src/records/SimpleTIDManager.cpp

    So sieht es moment aus …

    -rw-r–r– 3051 Jun 21 00:09 src/records/FPA.cpp
    -rw-r–r– 4352 Jun 29 06:12 src/records/FragmentedTIDManager.cpp
    -rw-r–r– 2429 Jun 29 06:12 src/records/IndirectTIDManager.cpp
    -rw-r–r– 9465 Jun 29 06:12 src/records/SimpleTIDManager.cpp

    Und so sah es letzendlich aus :-) Fertig und alles funktioniert und ist vor allem superklein und übersichtlich :-)

  • CIP Pool

    Dort hock ich gerade … pervers … faui05b, falls mich wer an’talk’en will :-)

  • Früher ins Bett

    Ich sollte wirklich früher ins Bett … noch 422 ungelesene Nachrichten in der Sysprog Newsgroup, 388 ungelesene Meldungen im Feedreader, 278 ungelesen Spammails und Thunderbird 0.7 nervt damit bei jeder neuen Junkmail anzuzeigen, dass ich 0 neue Mails hätte …

  • Sex wichtiger als Ernährung

    Für Erfolg im Studium ist Sex wichtiger als die Ernährung. Weiß zumindest der Spiegel zu berichten. Sex verbessere die geistige Leistung signifikant … aha! Mal sehen mit welcher Ausrede sich Langzeitstudenten da nun wieder rausreden :twisted: