www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstige" - Prolog Programmierung
Prolog Programmierung < Sonstige < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstige"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Prolog Programmierung: Idee, Tipp, Antwort
Status: (Frage) überfällig Status 
Datum: 23:11 Mo 04.02.2008
Autor: webspacer

Aufgabe
"An einer Geburtstagsparty nehmen genau 7 Ehepaare teil. Die Familiennamen der Männer
sind: Anders, Bauer, Conrad, Dahlke, Ebert, Frey und Göbel. Die Frauen heißen mit
Vornamen Hilde, Inge, Karin, Luise, Maria, Nora und Olga.
Im Verlaufe des Abends tanzte Herr Anders mit Inge und Luise, Herr Frey mit Maria und
Luise, Herr Göbel mit Inge und Nora, Herr Conrad mit Inge, Herr Dahlke mit Luise und Herr
Ebert mit Nora.
Später wurde zu viert Domino gespielt. Zuerst beteiligten sich Herr Conrad, Herr Anders,
Nora und Olga am Spiel. Die beiden männlichen Mitspieler wurden nach einer Weile von den
Herren Dahlke und Frey abgelöst. Zum Schluss lösten Hilde und Inge die beiden Frauen ab.
Merkwürdigerweise hat kein Ehemann mit seiner Frau getanzt oder mit ihr gemeinsam am Dominotisch gesessen.
Schreibe ein Prologprogramm, welches für Dich herausfindet, wer mit wem verheiratet ist! Das Prädikat „ verheiratet" soll in der Form einer Regel definiert werden, so dass die Frage „verheiratet(X, Y) " alle notwendigen Antworten liefert!"

grüss Gott!
Ich bitte um eure Hilfeleistung.

Ich habe versucht den Lösungsweg zu finden:
Ich habe Prädikate geschrieben:
w(hilde).
w(inge).
w(karin).
w(luise).
w(maria).
w(nora).
w(olga).
m(anders).
m(bauer).
m(conrad).
m(dahlke).
m(ebert).
m(frey).
m(gobel).
t(anders,inge).
t(anders,luise).
t(frey,maria).
t(frey,luise).
t(gobel,inge).
t(gobel,nora).
t(conrad,inge).
t(dahlke,luise).
t(ebert,nora).
t(conrad,nora).
t(conrad,olga).
t(anders,nora).
t(anders,olga).
t(dahlke,nora).
t(dahlke,olga).
t(frey,nora).
t(frey,olga).
t(dahlke,hilde).
t(dahlke,inge).
t(frey,inge).
t(frey,hilde).
Das bringt aber mich nicht weiter, ich hab mir überlegt, „verheiratet(X, Y) " soll mit t(X;Y) in Verbimdung gesetzt werden, meine Vermutung kann aber auch falsch sein.  Ich habe mir den Kopf über diese Aufgabe zerbrochen. Ich habe nur die Hoffnung, dass ihr mir damit helft. Danke im vorraus

        
Bezug
Prolog Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:20 Mo 04.02.2008
Autor: Gilga

Es fehlen die Prozedurklauseln
t(anders,olga) => nicht verheiratet(anders,olga)
.......

Bezug
                
Bezug
Prolog Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:58 Di 05.02.2008
Autor: webspacer

ich habe nun die Regeln entworfen, ich weiß, aber nicht, wie ich verheiratet(X;Y) durch nicht verheiratet ausdrucken soll. Das soll genau das Umgekehrte sein, der Ausdruck in Prolog fehlt mir aber:
nichtverheiratet(X,Y):- t(X,Y).
verheiratet(X;Y):- m(X), w(Y),

Bezug
                        
Bezug
Prolog Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:24 Di 05.02.2008
Autor: webspacer

Ich habe zwei Programme entworfen. Sie laufen aber nicht. Wo ist der Fehler? Helfen Sie mir bitte!
1. Variante:
w(hilde).
w(inge).
w(karin).
w(luise).
w(maria).
w(nora).
w(olga).
m(anders).
m(bauer).
m(conrad).
m(dahlke).
m(ebert).
m(frey).
m(gobel).
t(X,Y):- w(X), m(Y).
verheiratet(X,Y):- t(X,Y),
t(anders,F1), F1(StrichGleichheitszeichen)nora, F1(StrichGleichheitszeichen)olga, F1(Strich Gleichheitszeichen)inge, F1(Strich Gleichheitszeichen)luise,
t(conrad,F2), F2(Strich Gleichheitszeichen)olga, F2(StrichGleichheitszeichen)nora, F2(Strich Gleichheitszeichen)inge, F1(Strich Gleichheitszeichen)F2,
t(frey,F3), F3(StrichGleichheitszeichen)maria, F3(StrichGleichheitszeichen)luise, F3(StrichGleichheitszeichen)nora, F3(StrichGleichheitszeichen)olga, F3(StrichGleichheitszeichen)inge, F3(StrichGleichheitszeichen)hilde, F1(StrichGleichheitszeichen)F3, F2(StrichGleichheitszeichen)F3,
t(gobel,F4), F4(StrichGleichheitszeichen)inge, F4(StrichGleichheitszeichen)nora, F4(StrichGleichheitszeichen)F1, F4(StrichGleichheitszeichen)F2, F4(StrichGleichheitszeichen)F3,
t(dahlke,F5), F5(StrichGleichheitszeichen)luise, F5(StrichGleichheitszeichen)olga, F5(StrichGleichheitszeichen)nora, F5(StrichGleichheitszeichen)F1, F5(StrichGleichheitszeichen)F2, F5(StrichGleichheitszeichen)F3, F5(StrichGleichheitszeichen)F4,
t(ebert,F6), F6(StrichGleichheitszeichen)nora, F6(StrichGleichheitszeichen)F1, F6(StrichGleichheitszeichen)F2, F6(StrichGleichheitszeichen)F3, F6(StrichGleichheitszeichen)F4, F6(StrichGleichheitszeichen)F5,
t(bauer,F7), F7(StrichGleichheitszeichen)F1, F7(StrichGleichheitszeichen)F2, F7(StrichGleichheitszeichen)F3, F7(StrichGleichheitszeichen)F4, F7(StrichGleichheitszeichen)F5, F7(StrichGleichheitszeichen)F6.
2. Variante:
w(hilde).
w(inge).
w(karin).
w(luise).
w(maria).
w(nora).
w(olga).
m(anders).
m(bauer).
m(conrad).
m(dahlke).
m(ebert).
m(frey).
m(gobel).
t(X,Y):- w(X), m(Y).
loesung(Anders,Bauer,Conrad,Dahlke,Ebert,Frey,Goebel):-
w(Anders), Anders(StrichGleichheitszeichen)inge, Anders(StrichGleichheitszeichen)luise, Anders(StrichGleichheitszeichen)nora, Anders(StrichGleichheitszeichen)olga,
w(Bauer), Bauer(StrichGleichheitszeichen)Anders,
w(Conrad), Conrad(StrichGleichheitszeichen)inge, Conrad(StrichGleichheitszeichen)Anders, Conrad(StrichGleichheitszeichen)Bauer,
w(Dahlke), Dahlke(StrichGleichheitszeichen)luise, Dahlke(StrichGleichheitszeichen)nora, Dahlke(StrichGleichheitszeichen)olga, Dahlke(StrichGleichheitszeichen)hilde, Dahlke(StrichGleichheitszeichen)inge, Dahlke(StrichGleichheitszeichen)Anders, Dahlke(StrichGleichheitszeichen)Bauer, Dahlke(StrichGleichheitszeichen)Conrad,
w(Ebert), Ebert(StrichGleichheitszeichen)nora, Ebert(StrichGleichheitszeichen)Anders, Ebert(StrichGleichheitszeichen)Bauer, Ebert(StrichGleichheitszeichen)Conrad, Ebert(StrichGleichheitszeichen)Dahlke,
w(Frey), Frey(StrichGleichheitszeichen)maria, Frey(StrichGleichheitszeichen)luise, Frey(StrichGleichheitszeichen)nora, Frey(StrichGleichheitszeichen)olga, Frey(StrichGleichheitszeichen)hilde, Frey(StrichGleichheitszeichen)inge, Frey(StrichGleichheitszeichen)Anders, Frey(StrichGleichheitszeichen)Bauer, Frey(StrichGleichheitszeichen)Conrad, Frey(StrichGleichheitszeichen)Dahlke, Frey(StrichGleichheitszeichen)Ebert,
w(Goebel), Goebel(StrichGleichheitszeichen)inge, Goebel(StrichGleichheitszeichen)nora, Goebel(StrichGleichheitszeichen)Anders, Goebel(StrichGleichheitszeichen)Bauer, Goebel(StrichGleichheitszeichen)Conrad, Goebel(StrichGleichheitszeichen)Dahlke, Goebel(StrichGleichheitszeichen)Ebert, Goebel(StrichGleichheitszeichen)Frey.

Bezug
                                
Bezug
Prolog Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 02:10 Mi 06.02.2008
Autor: Zneques

Hallo,

Du solltest das Gesammte mit dem Tanzen und Domino als Fakten hinzufügen.
nichtverh(anders,luise).
usw.
Dann dürfte dir die Regel für verheiratet deutlich leichter fallen.

Ciao.

Bezug
                                        
Bezug
Prolog Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:33 Mi 06.02.2008
Autor: webspacer

Hallo Zneques,
ich habe auch das gemacht, die richtige Regel mit verheiratet(X;Y) fallt mir nicht ein. Können Sie noch einen weiteren Tipp geben, wie ich die Wissensbasis aus der Aufgabe in die Regel umsetzen kann? Danke für die Beteiligung.

Bezug
                                                
Bezug
Prolog Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:28 Do 07.02.2008
Autor: Zneques

Das sieht schon ganz gut aus.
Soweit ich mich erinnere Funktioniert das =/= nur mit Zahlen. Für logische Verneinung müsste eigentlich "not" zu benutzen sein.
D.h. er findet keine Fakten/Regeln, dass die Aussage stimmt.
verheiratet(X,Y):- nichtverh(X,Z), w(Y), m(X), not(Y=Z).
Besser dürfte jedoch sein wenn man erstmal jedes Paar m-w als mögliches Ehepaar betrachtet :
verheiratet(X,Y):- m(X), w(Y), not(nichtverh(X,Y)).
nun sucht er erst nach einen Mann X, dann die Frau Y und kontrolliert dann, ob es Indizien gegen die Heirat gibt.

Bezug
        
Bezug
Prolog Programmierung: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:20 Mi 06.02.2008
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstige"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de