19500 V Algorithmen und Programmieren I
|
Rojas
|
In einem Kiste sind n Geschenke von unterschiedlichem Wert. Sie dürfen ein Geschenk aus der Kiste nehmen und es entweder annehmen oder ablehnen. Wenn Sie es ablehnen dürfen Sie ein weiteres Geschenk aus der Kiste nehmen usw.. Wenn Sie ein Geschenk annehmen, ist das Spiel zu Ende. Die beste Strategie ist es, erst m Geschenke abzulehnen und sich den Wert des wertvollsten Geschenks dieser m Geschenke zu merken. Dann wählt man das erste Geschenk der letzten n-m Geschenke, das einen größeren Wert als das bisher beste Geschenk hat. Wenn dies nicht vorkommt, dann wählt man das letzte Geschenk aus.
Zur Vereinfachung sollen die Geschenke alle Werte von 1 bis n haben. Schreiben Sie ein Programm in Haskell, das zu gegebenen n und m den prozentualen Anteil der Permutationen ausgibt, mit denen man das optimale Geschenk bekommt.
Welche Variablen der folgenden Lambda-Ausdrücke sind gebunden und welche sind frei. Wenn Sie gebunden sind: Zu welchem Lambda sind sie gebunden?
Reduzieren Sie die folgenden Lambda-Ausdrücke.
Definieren Sie die XOR-Funktion zweier Argumente im Lambda-Kalkül.
XOR(F F) = F XOR(F T) = T XOR(T F) = T XOR(T T) = F