FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

IKON1-Klausur: Themen usw.

IKON1-Klausur: Themen usw. 2008-02-20 22:46
Julian F.
Jetzt, da Rechnerstrukturen und Mathe (vorerst) aus der Welt sind: Wie bereitet ihr euch auf die IKON1-Klausur vor?

Ich hab mal ein bisschen gestöbert und einen Thread gefunden, in dem die IKON1-Klausur 2007 recht ausführlich besprochen wird.

Um mich da nicht als Grabschänder betätigen zu müssen, frage ich mal hier: Weiß jemand eine definitive Antwort zur damaligen Frage 4 (welche von Marrs Ebenen der Informationsverarbeitung für die Implementierung eines Taschenrechners als Java-Applet relevant sind, wenn ich die Frage richtig verstehe).

Aus meiner Sicht würde ich sagen: alle drei. Ernsthafgt strittig ist ja dabei wohl auch nur die "implementational / physical"-Ebene. Die Folien sind, bezogen auf dieses Beispiel, tatsächlich etwas vage. Ich verstehe Marr etwa so:

  • computational: Das wäre die Spezifikation, was der Taschenrechner berechnen soll. Beispiel: "Wenn ich ihm also zwei Zahlen und einen Plus-Operator vorsetze, soll er die Summe der beiden Zahlen berechnen."
  • representational / algorithmic: Wie soll der Taschenrechner die zwei Zahlen addieren? Hier wird's schon schwierig. Addition ist ja bereits ein ziemlich elementarer Schritt in einem Algorithmus. Zumal ich als Java-Applet-Programmierer mich nicht damit auseinandersetze, wie genau meine Hardware addiert. Heißt: "Man berechne die Summe zweier Zahlen, indem man sie addiert"? Repräsentationsformate wären hier wohl Zahlen (womöglich dezimal?) bzw. die visuellen Repräsentationen von Zahlen als Ziffernfolgen.
  • implementational / physical: Wie ist der Algorithmus implementiert? Die Folien sprechen von "Realisierung (…) auf konkreter Hardware" und "physikalische[n] System[en]". Verstehe ich unter dieser Ebene meinen Programmcode in einer Hochsprache, oder doch eher Bytecode? Dadurch, dass es Java ist, ist die Hardware ja noch nicht mal für den Bytecode physikalisch. Würde also darauf hindeuten, dass diese Ebene beim Java-Programmieren wegfällt?
  • Andererseits: "Wie ist der Algorithmus aktuell implementiert?" Schließt das doch wieder eine Programmstruktur bzw. eine Implementierung ein, ohne dass ich diese direkt selber löten muss? %)

Mal ein etwas komplizierteres Beispiel für den Taschenrechner: Sagen wir, er kann Fakultäten berechnen.

computational: Eingabewert ist eine Zahl und der Befehl, die Fakultät zu berechnen. Das Ergebnis ist dann die Fakultät dieser Zahl, welche für jedes n eindeutig definiert ist.
representational: Errechne eine Fakultät, indem du alle natürlichen Zahlen von 1 bis n (Eingabewert) aufmultiplizierst. Wie du das machst, ist egal.
implementational: Konkretes Java-Programm, welches eine Fakultät berechnet, z.B. rekursiv.

Verstehe ich das so richtig?

(Mehr Fragen folgen womöglich noch…)

RE: IKON1-Klausur: Themen usw. 2008-02-23 13:44
Julian F.
Okay, noch ein Versuch. %)
7. Auf welchem Weg kann man inhibitorische Verbindungen bei künstlichen Neuronen nicht modellieren?
===================================================================
[ ] Negatives Gewicht beim Eingang (des empfangenden Neurons)
[ ] Einen Ausgang des sendenden Neurons mit -1 multiplizieren
[ ] Einen Eingang beim empfangenden Neuron mit -1 multiplizieren
[ ] Die lineare Funktion beim sendenden Neuron so anlegen, dass sie negative Werte liefert
Die Folien sagen zu dem Thema (Vorlesung 3, Folie 12):
Exzitatorische vs. inhibitorische Konnektion wird durch Positivität bzw. Negativität
der Aktivationen bzw. der Gewichte repräsentiert.
Daraus würde ich schließen, dass Antwort 1 auf jeden Fall eine mögliche Modellierung ist. Genau so wohl die 3. Antwort. Die anderen beiden sind etwas merkwürdig, da der Ausgang des Senders als negativ modelliert wird, welcher ja noch mit ganz vielen anderen Empfängern verbunden sein kann - somit wäre eine solche Modellierung einer inhibitorischen Verbindung wohl zumindest "unsauber" - aber trotzdem scheinen mir alle vier Antwortmöglichkeiten als Modellierungen zumindest denkbar. Was übersehe ich?

RE: IKON1-Klausur: Themen usw. 2008-02-23 14:52
Loom
Ich sag mal das Letzte geht nicht, da nur der Eingang entscheidet. So kann ein Negativer ausgang durchaus exibitorisch sein, wenn mit -1 multipliziert wird! Ich finde die ersten drei sind Synonym, halt nur jeweils anders formuliert.

RE: IKON1-Klausur: Themen usw. 2008-02-23 19:22
Timon
Also bei ersterem Problem würde ich auf die ersten beiden Ebenen Tippen.
computational ist im Falle einer fakultätsberechnung einfach n! ("Was wird berechnet?"(Problemstellung?))
representational / algorithmic Das ist meiner meinung nach im Falle des Java-Apletts der Programmcode ("Wie wird berechnet?")
implementational/physical Hier liegt glaube ich die Betonung auf "physikalisch" ("auf konkreter Hardware"), da im Falle des Java Apletts die pyhsikalische Implementierung des ausführenden Systems unbekannt ist, ist diese Ebene im gegebenen Beispiel wie ich glaube nicht relevant. (Grob gesagt ist die Frage in dieser Ebene glaube ich z.B. wie ist meine ALU gebaut, das sie mit diesem Problem umgehen kann…)

RE: IKON1-Klausur: Themen usw. 2008-02-23 19:29
Fred
[*]representational / algorithmic
Nur mal so ins Blaue geschossen: man könnte sich vielleicht die Frage stellen, welchen Datentyp man für Die Zahlen verwendet. int, long, float, double, BigInteger, BigDecimal, eigene Klasse…

RE: IKON1-Klausur: Themen usw. 2008-02-24 11:42
Julian F.
@Loom: Das verstehe ich nicht. Das Signal, welches vom sendenden zum empfangenden Neuron geht, wird doch mit einer Zahl modelliert. Diese Zahl wird bei der internen Summenbildung mit dem zugehörigen Gewicht der Verbindung multipliziert. Antwortmöglichkeiten 1 und 3 sorgen dafür, dass der Wert dieses Produktes negativ ist (ob durch ein negatives Gewicht oder eine Multiplikation des Eingangssignals mit -1 ist ja egal).

2 und 4 sorgen (wenn ich sie richtig verstehe) dafür, dass der Ausgang des Senders einen negativen Wert liefert. Das Problem dabei, an dem Ausgang herumzudoktern, äußert sich eben dann, wenn an dem gleichen Ausgang noch Eingänge von weiteren Neuronen hängen - diese Verbindungen wären dann automatisch ebenfalls inhibitorisch. Aber ansonsten ist der ankommende Wert negativ und die Verbindung damit inhibitorisch (wenn man nicht noch eine weitere der obigen Maßnahmen ergreift und ggf. irgendwie den Eingang wieder negiert). Wo siehst du den Unterschied zwischen 2 und 4?

@Timon: So kann man das wohl auch sehen, und so gibt die Frage auch am meisten Sinn. Vielleicht sollte ich mich mit der Sichtweise ein wenig anfreunden… mich stört da bloß noch die Bezeichnung der Ebenen, also dass mein Programmcode nichts anderes ist als der Algorithmus, während die Umsetzung durch die Hardware die Implementierung ist (ein Softwareentwickler, auch einer von Java-Applets, mag widersprechen wenn man ihm sagt, er habe sich mit seinem Programmcode nicht um Implementierungen zu kümmern sondern solle nur Algorithmen entwerfen).

@Fred: Guter Hinweis, das hatte ich an der Stelle nicht bedacht.

RE: IKON1-Klausur: Themen usw. 2008-02-24 23:05
Timon
Nunja, eigentlich - und uneigentlich eigentlich auch - kann man vieles Implementieren, nicht nur irgendwelche Methoden in Java Konstrukte, sondern eben auch Dinge in die Hardware…
bsp, dein computer soll was addieren können, also musst du hardwareseitig die möglichkeit der addition in die ALU implementieren, so gesehen ist die Bezeichnung "Implementaitional" garnicht so irreführend da es ja um die hardwareseitige Realisierung - mit anderen Worten die hardware-implementierung geht… und als alternative kannst du die ebene ja auch "physical" nennen, da kommt man dann bestimmt nicht durcheinander ;-)

nebenbei gesagt hat sich der Java programmierer eigentlich durchaus nur um Algorythmen (Also "Problemlösungsfolgen") zu kümmern, und hat er einen ansprechenden Algorythmus gefunden, DANN implementiert er den :-)

RE: IKON1-Klausur: Themen usw. 2008-02-24 23:20
Fred
Das Wort "Algorithmus" sollte man aber schon richtig schreiben können [25]

RE: IKON1-Klausur: Themen usw. 2008-02-24 23:55
Stefan1971HH
oder wenigstens konsequent falsch : Algorhythmus

RE: IKON1-Klausur: Themen usw. 2008-03-25 21:42
Anonymer User
7. Auf welchem Weg kann man inhibitorische Verbindungen bei künstlichen Neuronen nicht modellieren?
===================================================================
[ ] Negatives Gewicht beim Eingang (des empfangenden Neurons)
[ ] Einen Ausgang des sendenden Neurons mit -1 multiplizieren
[ ] Einen Eingang beim empfangenden Neuron mit -1 multiplizieren
[ ] Die lineare Funktion beim sendenden Neuron so anlegen, dass sie negative Werte liefert

hm, diese Frage ist durchaus kniffelig. Die Argumentation von Loom kann nicht richtig sein, denn auch ein negativer Eingang mit einer positiven Gewichtung stellt eine inhibitorische Konnektion dar. (Es kommt eben nicht nur auf den Eingang drauf an, sondern hängt von Aktivation und der Gewichtung ab)

Ich glaube das die 2. Antwort anzukreuzen ist, denn der Ausgang ist nicht mehr gewichtbar, ist der Ausgabewert ersteinmal durch die Funktion berechnet, kann dieses Signal erst wieder beim Empfänger mit -1 multipliziert werden, eben durch die Gewichtung nach Eingabe.

RE: IKON1-Klausur: Themen usw. 2008-03-25 23:18
Julian F.
Da kann ich mich an dieser Stelle gleich mal wieder für mein schlechtes Gedächtnis beißen was Klausuraufgaben angeht. ;)

So viel kann ich noch definitiv sagen (erste Klausur): In der Gprot-Version dieser Frage fehlt ein Teilaspekt, der in der Klausur genannt war. In irgendeiner der Antwortmöglichkeiten stand irgendwas absurdes, so dass ich sie recht sicher beantworten konnte. Will sagen: Es ging.

RE: IKON1-Klausur: Themen usw. 2008-03-26 10:29
JimiHendrix
Da kann ich mich an dieser Stelle gleich mal wieder für mein schlechtes Gedächtnis beißen was Klausuraufgaben angeht. ;)

Dazu fällt mir nur ein "The Magical Number Seven, Plus or Minus Two" [28] , du hattest bis Aufgabe 7 bestimmt mehr Chunks..

boah war das eben angewandtes Wissen? [14]



Zum Problem:
ich glaub die Antwort mit der linearen Funktion ist die, die man ankreuzen sollte. Ich weiß nich ob ich da richtig liege, aber was würde eine Funktion bringen, wenn man sie so manipuliert, dass am Ende negative Werte liefert. Dann könnte man sich die komplette Funktion meiner Meinung nach sparen..