Autor Beitrag
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 22.12.12 02:32 
Moin!

Die Lösung ist: frische Misteln, getrockneter 4blättriger Klee, natürliches Steinöl = 70 Taler

Wie kommt man da drauf? :?!?: Gehen wir zunächst mal den Tipps nach: :lupe:
Zitat:
- Um kreativ zu werden, spielt der Wichtel zwischendurch eine französische Kugelsportart.
- Die Wichtel spielen gerne eine bestimmte Variante des Spiels "Pillard", das wiederum mit unserem Billard verwandt ist.
Das sollte einen auf "Bool" (unsern alten Kumpel George :lol:) bringen, und letztlich darauf, dass es sich bei den Rezepten um Bool´sche Funktionen handelt. Die "Naturform" einer Zutat ist eine nichtinvertierte, die "weiterverarbeitete Form" ist eine invertierte bool´sche Variable. Die Rezepte sind also und-verknüpfte Folgen bool´scher Variablen. Da jedes Rezept "wirksam" ist und man sich einen aussuchen kann, müssen die Terme 1 ergeben und ver-oder-t sein. :idea:

Zitat:
- Der Wichtel arbeitet in der Technik-Abteilung und beschäftigt sich viel mit CPLDs.
Googlen nach Suche bei Google CPLD liefert gleich als ersten Eintrag den WP-Artikel dazu, und da steht beim Aufbau der kleinen Krabbeltierchen:
Zitat:
CPLDs bestehen im Wesentlichen aus folgenden Elementen:
- programmierbare AND/OR-Matrix
Und das wiederum ist praktisch eine Hardware-DNF. :idea: (falls man das oben noch nicht kapiert hatte)
Nach intensivem Studium der Aufgabe :suspect: sollte klar sein, dass es darum geht, den "billigsten" Primimplikanten dieser DNF zu finden. :think:

Für den algorithmischen Lösungsansatz war dann der letzte Tipp da:
Zitat:
Weil dem Wichtel die Mitgliedschaft im YMCA nicht so richtig gefallen wollte, hat er einfach die QMCV gegründet.
Klar, Google ist dein Freund, QMCV liefert früher oder später den Quine-McCluskey-WP-Artikel. Jetzt kann man das natürlich mal schnell selbst implementieren :lol: oder aber man nimmt die fertige Webversion, die ganz unten verlinkt ist... :roll: :P

Um den Weboptimierer benutzen zu können, übersetzen wir mal eben die Rezepte in eine dafür passende Form (Variablen sind in Preislistenreihenfolge, &=und, v=oder, ~=nicht):
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
B&~E&~G v 
A&~B&C&~D&H v 
~B&~C&~D&~G v 
A&B&~E&G&~H v 
A&B&~E&~G v 
~A&~D&G&H v 
A&~B&D&H v 
B&~D&H v 
C&D&~G&H v 
E&G&~H v 
A&D&~H v 
B&~G&~H
Alternativ die Wertetabelle:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
-1--00-
1010--1
-000-0-
11--010
11--00-
0--0-11
10-1--1
-1-0--1
--11-01
----110
1--1--0
-1---00


Der Webservice liefert uns dann folgende Ausgabe, die ich der Kürze halber mal direkt mit Preisen versehen habe:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
0--0-11 : 105
--10-11 : 100
--11-01 : 100
101---1 :  93
-1--00- :  83
----110 :  79
-1--1-0 :  79
-1-0--1 :  79
--00-0- :  78
11----0 :  77
10-1--- :  70
Das Nachschlagen der Zutaten in der letzten Zeile sei dem aufmerksamen Leser dann noch als Hausaufgabe überlassen. :les: ;)

Wenn man sich ein bischen Zeit lässt, damit man beim Übersetzen der Rezepte keinen Flüchtigkeitsfehler macht, dann kann man das doch locker in 10 Minuten einklimpern, oder? :nixweiss: Jaja, ich bin ja schon weg... ;)

Viel Erfolg beim letzten Rätsel! :zustimm:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Oliver Marx
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 80
Erhaltene Danke: 18

Win 7 Prof.
Delphi XE Prof.
BeitragVerfasst: Sa 22.12.12 03:12 
Hi,

wenn man allerdings das Verfahren des iteraten Konsensus benutzt, muss man nicht den Umweg über die Minterme machen (falls man selbst ein Tool geschrieben hat) und ist daher effizienter. Da ich Quine-McCluskey und iterativer Konsensus meinen Studierenden beibringe, hatte ich bei dieser Aufgabe schon ein fertiges Tool glücklicherweise zur Hand.

Des Weiteren liefert die von euch verlinkte Webseite, wenn ich richtig gesehen habe, eine minimale SOP und nicht die Primimplikanten (PI). Daher kann es bei einer ungünstigen Konstellation der Kosten dazu führen, dass man den kostengünstigsten PI übersieht. Daher sollte man alle (bei dieser Aufgabe glaube ich 34) PIs berechnen und alle PIs miteinander vergleichen.

In diesem Fall ging es zum Glück gut.

Viele Grüße

Oliver
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Sa 22.12.12 04:15 
Verdammt, hatte die Zeile mit den 20 Talern Grundpreis übersehen :o
Daher nur 10 eingegeben :oops:

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Sa 22.12.12 08:34 
Tja, da war ich wol mit dem Holzhammer zu Gange 8)
Einfach mal alle Rezepte maximal erweitern (ergibt dann 128 Stück) und dann iterativ: 1. Versuchen jedes gegen jedes andere zu kürzen 2. Doppelte Rezepte löschen.
Ergibt dann am Ende die gleichen wirksamen Rezepte mit je 3 Zutaten pro Rezept, aus denen dann das billigste genommen werden kann.
Und schon wieder was über Boolesche Funktionen gelernt :)

Die Tatsache dass man "die Lösung diesmal auch auf mit Zettel und Stift lösen kann", ließ mich darauf schließen dass es noch einen anderen Algorithmus geben müsste. Aber nachdem ich schon die Lösung hatte, war die Motivation den zu finden gering ^^
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 22.12.12 10:15 
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Einfach mal alle Rezepte maximal erweitern (ergibt dann 128 Stück)

Also bei mir waren es 459. (Nach der Reduktion sogar 706) (siehe Anhang).

Prinzipiell muss ich sagen, das Rätsel ist mir leicht gefallen. Liegt wohl daran, dass wir in der Uni ständig Probleme solcher Art lösen ;) (meistens sind sie schwieriger). Informatik-Studium ist schon ne coole Sache :mrgreen:

PS: endlich hab ich auch mal ein Rätsel richtig gelöst :zustimm:
Einloggen, um Attachments anzusehen!
_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Oliver Marx
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 80
Erhaltene Danke: 18

Win 7 Prof.
Delphi XE Prof.
BeitragVerfasst: Sa 22.12.12 12:07 
Hi,

user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Tja, da war ich wol mit dem Holzhammer zu Gange 8)
Einfach mal alle Rezepte maximal erweitern und dann iterativ:
1. Versuchen jedes gegen jedes andere zu kürzen
2. Doppelte Rezepte löschen.


wieso Holzhammer? Das ist doch das vorgeschlagene Verfahren von Quine-McCluskey.

Viele Grüße

Oliver
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 22.12.12 15:31 
Hab dazu auch jedes Rezept in ne Liste eingefügt und wenn möglich mit allem erweitert und gekürzt. Dann minimale Kosten gesucht und fertig.
Das mit den Boolschen Variablen hab ich dann tatsächlich erst nach dem letzten Tipp kapiert. Aber dann Kopf->Wand das nicht eher gesehen zu haben ;)

Im Anhang mein Programm dazu. Mal in C++ weil ich das üben muss ;)
Einloggen, um Attachments anzusehen!
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Sa 22.12.12 22:59 
user profile iconOliver Marx hat folgendes geschrieben Zum zitierten Posting springen:

wieso Holzhammer? Das ist doch das vorgeschlagene Verfahren von Quine-McCluskey.
Viele Grüße
Oliver

Holzhammer weil ich die rezepte einfach mal auf "alles" erweitere. Die formale Beschreibung habe ich zwar nicht komplett durchdrungen, aber wenn ich das selbst implementiert habe weiß ich zumindest wie es funktioniert ^^
Anbei auch mein Programm. Die 128 Rezepte müssten schon ziemlich genau hinkommen. Beim reduzieren werden es aber erstmal mehr Rezepte.
Einloggen, um Attachments anzusehen!