Deutsch
Forum

Intelligenz

 
- Seite 1 -



Inzip
Allso ich ahbe mal eine Frage ,aber mir fehlt das nötige Vorstellungskraft Wie soll eine Künstliche Intiligenz aussehen Aber bitte nicht wieder löchen
 
Zip :@)
04.12.2004  
 



 
- Seite 2 -



Dietmar
Horn
Hallo Inzip,

ich versuche es mal so:

Wenn Du z.B. das Autofahren erlernen möchte, dann solltest Du zuvor wenigstens das Laufen gelernt haben - andersrum wird das nix - sonst fällst Du schon beim Versuch, früh aus dem Bett aufstehen zu wollen, jämmerlich auf die Nase..

Und wenn Du dann jemandem, der Dir trotzdem weiterhelfen möchte, dafür nur dumm und dämlich kommst (z.B. Frank), dann ist eigentlich jede Sekunde Freizeit die reinste Zeitverschwendung, die hier aufgebracht wird, um Dir trotzdem weiterhelfen zu wollen.

Einerseits gibt es offensichtlich Leute, die können bestimmte Hinweise und Ratschläge (siehe meine Empfehlung im letzten Posting, sich zunächst die Grundlagen der strukturierten Programmierung anzueignen) nicht verstehen, weil ihnen die menschliche Intelligenz hierfür fehlt - andererseits werden solche Möchtegern-Programmierer warscheinlich nie aussterben, die als Allererstes möglichst schon nach 4 Wochen mit Profan ein Betriebssystem erstellen möchten, obwohl sie noch nicht mal dazu in der Lage sind, die einfachsten Demos von der Profan-CD ordentlich nachzuprogrammieren bzw. sinnvoll zu erweitern.

Gruß
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
06.12.2004  
 




Inzip

KompilierenMarkierenSeparieren
Satzzeichen$ = @Right$(Antwort$, 1)

If ((Satzzeichen$ = ".") | (Satzzeichen$ = "!"))

    Aussagesatz

ElseIf (Satzzeichen$ = "?")

    Frage

EndIf


KompilierenMarkierenSeparieren
Declare Worte$[10], i%

While (i% < 9)

    Worte$[i%] = @SubStr$(Antwort$, " ", i%)
    inc i%

Wend


KompilierenMarkierenSeparieren
WhileLoop 10

    Worte$[&loop] = @SubStr$(Antwort$," ",i%)

Wend


KompilierenMarkierenSeparieren
Else    Ich hab nix gecheckt.
n% = @Rnd(9)
Print Ausreden$[n%]

EndIF

Ich weiß net wie ich daraus ein Programm entwerfe - Ich wil nur wissen wie ich aus den Code schnipsel das Programm macht ein Paln ahbe ich schon also P.S Ich habe mich sehr darüber gefreut
KompilierenMarkierenSeparieren
WindowStyle 31
WindowTitle "KI"
CLS
. . .
Aber weiter weiß ich jetzt net
 
Zip :@)
06.12.2004  
 




Michael
Dell
Du möchtest also einen fertigen Quellcode unter den du nur noch deinen P.M. setzen mußt ~?~

Salu...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
06.12.2004  
 




Inzip
[quote:94f553b578=Michael Dell]Du möchtest also einen fertigen Quellcode unter den du nur noch deinen P.M. setzen mußt ~?~

Salu...[/quote:94f553b578]Welche PM
 
Zip :@)
06.12.2004  
 




Dennis
Schulmeister
Joah, mit dem Grundlagen der strukturierten Programmierung ist es da wirklich nicht sehr weit, Inzip. Und meinen Beitrag, den ich dir als Einstiegshilfe von ein paar Monaten im Einsteigerforum verfasst habe, über den du doch so riesig gefreut hast, hast do wohl auf vergessen.

Gehen wirs mal einfach an, den Rest musst aber du machen:
KompilierenMarkierenSeparieren
Beenden durch Eingabe von Ende!
 $O+
Declare DerComputerSagt$, Antwort$, SatzZeichen$, Worte$[10]
WindowTitle "Ruf mich an!"
CLS
DerComputerSagt$ = "Tach auch! Wie gehts wie stehts? Was liegt an, Alter?"

While (@Upper$(Antwort$) <> "ENDE")

    Print DerComputerSagt$
    Input Antwort$
    Satzzeichen$ = @Right$(Antwort$,1)
    Hier der Code um alle Wörter in ein Array zu speichern
    Hier der Abfrageblock, wie ich ihn grob skizziert habe
    Verwende statt (Worte$[] =) lieber @InStr(Worte$[],…) um Satzzeichen zu ignorieren

Wend


So den Rest musst du machen. Frage dich, was jede einzelne Zeile macht und warum sie das tut. Dann fange an, den Abfrageblock zu erweitern. Sooo schwer kanns nicht sein, nur ich habe gerade keine Zeit, und ich will, dass du es selber hin bekommst.

Gruß,
Dennis
 
(Fast) alle Profan²-Versionen seit Version 2.6, sowie (fast) alle Windows-Versionen seit Windows 3.1
06.12.2004  
 




Inzip

KompilierenMarkierenSeparieren
Beenden durch Eingabe von Ende!
 $O+
Declare DerComputerSagt$, Antwort$, SatzZeichen$, Worte$[10]
WindowTitle "Ruf mich an!"
CLS
DerComputerSagt$ = "Tach auch! Wie gehts wie stehts? Was liegt an, Alter?"

While (@Upper$(Antwort$) <> "ENDE")

    Print DerComputerSagt$
    Input Antwort$
    Satzzeichen$ = @Right$(Antwort$,1)
    Hier der Code um alle Wörter in ein Array zu speichern
    Hier der Abfrageblock, wie ich ihn grob skizziert habe

Wend


KompilierenMarkierenSeparierenwas soll ich da hinschreiben und wo soll das hin
KompilierenMarkierenSeparieren
Verwende statt (Worte$[] =) lieber @InStr(Worte$[],…) um Satzzeichen zu ignorieren
 
Zip :@)
06.12.2004  
 




Dennis
Schulmeister
der Code steht in einem meiner früheren Beiträge.

Bite, bitte, bitte, bitte, bitte. Pevor du nochmal was postest, lese in der Profanhilfe folgende Begriffe nach und übe sie an kleinen Progrämmchen:

IF, ELSEIF, ELSE, ENDIF
CASE, CASENOT
WHILE, WHILENOT, WHILELOOP, WEND/WHILENOT

Du hast es hierbei mit sogenannten Kontrollstrukturen zu tun. Diese sind das A und O eines jeden Programmes, ist es noch so klein. Wenn dein nächstes Posting nicht zu jeder Befehlsgruppe mindestens zwei eigene Beispiele enthält, werde ich dir nie wieder antworten! Wer schließt sich mir an?

Dennis
 
(Fast) alle Profan²-Versionen seit Version 2.6, sowie (fast) alle Windows-Versionen seit Windows 3.1
07.12.2004  
 



 
- Seite 3 -



Dietmar
Horn
Hallo Inzip,

[quote:134210be41=Dennis Schulmeister]der Code steht in einem meiner früheren Beiträge.

Bite, bitte, bitte, bitte, bitte. Pevor du nochmal was postest, lese in der Profanhilfe folgende Begriffe nach und übe sie an kleinen Progrämmchen:

IF, ELSEIF, ELSE, ENDIF
CASE, CASENOT
WHILE, WHILENOT, WHILELOOP, WEND/WHILENOT

Du hast es hierbei mit sogenannten Kontrollstrukturen zu tun. Diese sind das A und O eines jeden Programmes, ist es noch so klein. Wenn dein nächstes Posting nicht zu jeder Befehlsgruppe mindestens zwei eigene Beispiele enthält, werde ich dir nie wieder antworten! Wer schließt sich mir an?

Dennis [/quote:134210be41]
Dieser Meinung von Dennis kann man sich vorbehaltlos anschließen, oder???

Gruß
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
07.12.2004  
 




Michael
Dell
Hör ruhig auf Dietmar, erst Nachdenken dann in die Hilfe schaun und das Phorum durchblätter.
Du kannst dir auch die Beispiele aus PrFellow vornehmen. Spiel mit den Beispielen herum,
so lernst du leichter und das macht sogar ne menge Spass.

Hier noch ein Tip, da gibst ne Linkliste nach Themen geordnet: (noch einfacher gehts kaum!)
[...] 

Hier noch die Linksammlung von meiner Homepage:
[...] 

Also, ne menge Möglichkeiten wie du dir selbst weiterhelfen kannst wenn du die Augen aufmachst.

viel Spass

Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
07.12.2004  
 




Inzip

KompilierenMarkierenSeparieren
Beenden durch Eingabe von Ende!
 $O+
Declare DerComputerSagt$, Antwort$, SatzZeichen$, Worte$[10]
WindowTitle "Ruf mich an!"
CLS
DerComputerSagt$ = "Tach auch! Wie gehts wie stehts? Was liegt an, Alter?"

While (@Upper$(Antwort$) <> "ENDE")

    Print DerComputerSagt$
    Input Antwort$
    Satzzeichen$ = @Right$(Antwort$,1)
    Hier der Code um alle Wörter in ein Array zu speichern
    Hier der Abfrageblock, wie ich ihn grob skizziert habe

Wend

Wo schreibe ich da meine möglischen Antworten hin ??? und ich ahbe s gemacht aber es geht nciht immer kommt das hier : Tach auch! Wie gehts wie stehts? Was liegt an, Alter? [...]  Bitte mein feheler heir rein schreiben - Danke
 
Zip :@)
07.12.2004  
 




Jörg
Sellmeyer
Hallo Inzip,
Hier ist ein lauffähiger Code, der ganz grob die Struktur eines solchen Programms andeutet.
Es bedarf aber eines großen Wissens über Sprache und Komunikation, um so etwas halbwegs vernünftig auf die Beine zu stellen.
KompilierenMarkierenSeparieren
Declare AntwortListe&,GesprächsListe&,Button&,EingabeBox&,AusgabeBox&,SatzPartner$,AlterSatzPartner$

Proc Denken

    Declare denk$

    WhileLoop 50

        denk$="." + denk$
        WindowTitle denk$
        Sleep 10

    Wend

    WindowTitle "Der virtuelle Gesprächspartner"

EndProc

Proc PartnerAntworten

    Parameters Position%
    Declare Satz$
    Satz$=GetString$(AntwortListe&,Position%)
    InsertString(GesprächsListe&,0,Satz$)

EndProc

Proc PartnerAnalysieren

    Du siehst man muß eine Menge Sachen abfragen und auch viele Antworten gespeichert haben
    um ein halbwegs glaubhaftes Gespräch hinzukriegen. Viele dieser Programme nutzen
    solche nichtssagenden Floskeln, wie die Antworten 4-6 (einige Psychologen auch).
    Parameters Satz$
    Declare Antwort%
    Antwort%=-1

    If InStr("intelligen",Lower$(Satz$))

        Antwort%=0

    ElseIf InStr("fußball",Lower$(Satz$))

        Antwort%=1

    ElseIf InStr("beckenbauer",Lower$(Satz$))

        Antwort%=1

    ElseIf InStr("sport",Lower$(Satz$))

        Antwort%=1

    ElseIf InStr("programmieren",Lower$(Satz$))

        Antwort%=2

    ElseIf InStr("quelltext",Lower$(Satz$))

        Antwort%=2

    ElseIf And(InStr("ich",Lower$(Satz$)),InStr("erlebt",Lower$(Satz$)))

        Antwort%=4

    ElseIf And(InStr("ich",Lower$(Satz$)),InStr("gefühl",Lower$(Satz$)))

        Antwort%=5

    ElseIf And(InStr("ich",Lower$(Satz$)),InStr("freund",Lower$(Satz$)))

        Antwort%=5

    EndIf

    Case Antwort%=-1:Antwort%=6 + Rnd(2)damit nicht immer die gleiche Reaktion kommt
    Case And(Antwort% < 6,Rnd(10) = 0):Antwort%=3
    Return Antwort%

EndProc

WindowStyle $21B
Window 10,10-600,600
WindowTitle "Der virtuelle Gesprächspartner"
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
GesprächsListe&=CreateListBox(%hwnd,"",10,10,560,300)
AntwortListe&=CreateListBox(%hwnd,"",10,320,560,200)die muß natürlich unsichtbar sein
also so: AntwortListe&=CreateListBox(%hwnd,"",0,0,0,0)
Button&=CreateButton(%hwnd,"abschicken",272,545,67,24)
EingabeBox&=CreateEdit(%hwnd,"",7,545,252,25)
dies ist das Array von möglichen Antworten, die natürlich beliebig erweitert werden kann.
normalerweise sind das Satzbausteine, die nach den Regeln der Gramatik zusammengesetzt werden.
vorher muß der Inhalt des Satzes vom Benutzer analysiert werden. Dafür sollte man aber
einige Kenntnisse der kommunikationstheoretischen Grundlagen haben.
um ein bischen Spaß zu haben, kann man aber auch versuchen, möglichst viele Frage voraus zu ahnen.
erheblicher Programmieraufwand ist es so oder so.
AddString "Nein, Intelligent bin ich nicht, ich tue nur so."
AddString "Beckenbauer finde ich auch blöd."
AddString "Programmieren kann ich nicht, aber man kann es sich ja durch lesen aneignen"
AddString "Letzten Endes muß das Jeder selber entscheiden!"
AddString "Das hört sich interessant an. Kannst Du mir mehr darüber erzählen?"
AddString "Ja, das sehe ich genauso, aber was hat das mit Dir zu tun?"
AddString "Das habe ich nicht verstanden. Kannst Du das bitte anders formulieren?"
AddString "Tut mir leid, über das Thema weiß ich nicht Bescheid."
MoveListToList(AntwortListe&)
Randomize
Declare ende%

WhileNot ende%

    WaitInput

    IF Equ(%key,2)

        Let ende%=1

    ElseIf GetFocus(Button&)

        AlterSatzPartner$=SatzPartner$
        SatzPartner$=GetText$(EingabeBox&)

        If And(SatzPartner$ <> AlterSatzPartner$,SatzPartner$ <> "")

            InsertString(GesprächsListe&,0,SatzPartner$)
            Denken nur als Imitation natürlich, damit die Antwort nicht zu schnell kommt.
            PartnerAnalysieren SatzPartner$
            PartnerAntworten %(0)

        EndIf

    EndIf

Wend

End

Wenn Du jetzt noch weitere Fragen hast, die über wie soll ich denn jetzt noch Antworten hinzufügen
hinausgehen, werde ich Dir gerne antworten. Ansonsten kann ich Dir nur empfehlen, ganz simple
Programme auszuprobieren und die Hilfe lesen. Außerdem die Hilfe lesen und dann kannst Du nochmal die
Hilfe lesen. Und wenn dann noch nicht alles klar ist lies nochmal die Hilfe... und programmier
einfache Sachen. Wandle bestehende Quelltexte um, lies was der Autor dazugeschrieben hat und lies die
Profanhilfe durch. Dann kannst Du immer noch mal in der Hilfe lesen...
Und mal ganz ehrlich - wenn ich mir Deine Rechtschreibfehler ansehe, solltest Du Dich nicht unbedingt
um dieses Thema bemühen..
Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.12.2004  
 




Inzip
[size=24:ce1c4894ea]An diesen Code arbeitet ich 1 Woche aber wenn cih es bearbeitet kommt immer die selbe Antwort ~koch~ : Kenne ich nicht*Gibt es kein einfacher - Skript zum modefiezieren ?? SCHEI? SKRIPT - 1 Woche umsonst ~koch~ ~koch~ ~koch~ [/size:ce1c4894ea]
KompilierenMarkierenSeparieren
Declare AntwortListe&,GesprächsListe&,Button&,EingabeBox&,AusgabeBox&,SatzPartner$,AlterSatzPartner$

Proc Denken

    Declare denk$

    WhileLoop 50

        denk$="." + denk$
        WindowTitle denk$
        Sleep 10

    Wend

    WindowTitle "Der virtuelle Gesprächspartner"

EndProc

Proc PartnerAntworten

    Parameters Position%
    Declare Satz$
    Satz$=GetString$(AntwortListe&,Position%)
    InsertString(GesprächsListe&,0,Satz$)

EndProc

Proc PartnerAnalysieren

    Du siehst man muß eine Menge Sachen abfragen und auch viele Antworten gespeichert haben
    um ein halbwegs glaubhaftes Gespräch hinzukriegen. Viele dieser Programme nutzen
    solche nichtssagenden Floskeln, wie die Antworten 4-6 (einige Psychologen auch).
    Parameters Satz$
    Declare Antwort%
    Antwort%=-1

    If InStr("intelligen",Lower$(Satz$))

        Antwort%=0

    ElseIf InStr("fußball",Lower$(Satz$))

        Antwort%=1

    ElseIf InStr("beckenbauer",Lower$(Satz$))

        Antwort%=1

    ElseIf InStr("sport",Lower$(Satz$))

        Antwort%=1

    ElseIf InStr("programmieren",Lower$(Satz$))

        Antwort%=2

    ElseIf InStr("quelltext",Lower$(Satz$))

        Antwort%=2

    ElseIf And(InStr("ich",Lower$(Satz$)),InStr("erlebt",Lower$(Satz$)))

        Antwort%=4

    ElseIf And(InStr("ich",Lower$(Satz$)),InStr("gefühl",Lower$(Satz$)))

        Antwort%=5

    ElseIf And(InStr("ich",Lower$(Satz$)),InStr("freund",Lower$(Satz$)))

        Antwort%=5

    EndIf

    Case Antwort%=-1:Antwort%=6 + Rnd(2)damit nicht immer die gleiche Reaktion kommt
    Case And(Antwort% < 6,Rnd(10) = 0):Antwort%=3
    Return Antwort%

EndProc

WindowStyle $21B
Window 10,10-600,600
WindowTitle "Der virtuelle Gesprächspartner"
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
GesprächsListe&=CreateListBox(%hwnd,"",10,10,560,300)
AntwortListe&=CreateListBox(%hwnd,"",10,320,560,200)die muß natürlich unsichtbar sein
also so: AntwortListe&=CreateListBox(%hwnd,"",0,0,0,0)
Button&=CreateButton(%hwnd,"abschicken",272,545,67,24)
EingabeBox&=CreateEdit(%hwnd,"",7,545,252,25)
dies ist das Array von möglichen Antworten, die natürlich beliebig erweitert werden kann.
normalerweise sind das Satzbausteine, die nach den Regeln der Gramatik zusammengesetzt werden.
vorher muß der Inhalt des Satzes vom Benutzer analysiert werden. Dafür sollte man aber
einige Kenntnisse der kommunikationstheoretischen Grundlagen haben.
um ein bischen Spaß zu haben, kann man aber auch versuchen, möglichst viele Frage voraus zu ahnen.
erheblicher Programmieraufwand ist es so oder so.
AddString "Nein, Intelligent bin ich nicht, ich tue nur so."
AddString "Beckenbauer finde ich auch blöd."
AddString "Programmieren kann ich nicht, aber man kann es sich ja durch lesen aneignen"
AddString "Letzten Endes muß das Jeder selber entscheiden!"
AddString "Das hört sich interessant an. Kannst Du mir mehr darüber erzählen?"
AddString "Ja, das sehe ich genauso, aber was hat das mit Dir zu tun?"
AddString "Das habe ich nicht verstanden. Kannst Du das bitte anders formulieren?"
AddString "Tut mir leid, über das Thema weiß ich nicht Bescheid."
MoveListToList(AntwortListe&)
Randomize
Declare ende%

WhileNot ende%

    WaitInput

    IF Equ(%key,2)

        Let ende%=1

    ElseIf GetFocus(Button&)

        AlterSatzPartner$=SatzPartner$
        SatzPartner$=GetText$(EingabeBox&)

        If And(SatzPartner$ <> AlterSatzPartner$,SatzPartner$ <> "")

            InsertString(GesprächsListe&,0,SatzPartner$)
            Denken nur als Imitation natürlich, damit die Antwort nicht zu schnell kommt.
            PartnerAnalysieren SatzPartner$
            PartnerAntworten %(0)

        EndIf

    EndIf

Wend

End
 
Zip :@)
07.12.2004  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

11.094 Betrachtungen

Unbenanntvor 0 min.
H.Brill27.09.2015
H.Hackl05.02.2015

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie