Seite 1 von 1

Was muss man der KI verbieten?

BeitragVerfasst: 2. Sep 2008 09:45
von Chevalier
Könntet Ihr einem Skatprogramm sagen, was es mit Gewissheit "nie" machen darf bzw. soll, was würdet Ihr dem Programm verbieten, wenn es als Gegenspieler in VH sitzt und Aufschlag gegen ein Farbspiel hat (Position des AS sei dabei egal, d.h. die Verbote sollten für den kurzen und den langen Weg gelten)? Wenn Ihr keine 100% Verbote findet, dann ersatzwesie auch ein 95% Verbot.

Lockere Aufzählung, gerne auch Beispiele, erwünscht. Eine Begründung ist nicht erforderlich.

BeitragVerfasst: 2. Sep 2008 13:23
von Skatfuchs
Hallo chevi,

mir fallen da auf Anhieb die so genannten 10 "Totsünden" ein, die ein Programm nicht machen sollte:
Die folgenden 10 Totsünden beim Skatspiel sind unbedingt im Programm zu vermeiden:
• Nicht Mitzählen (Augen und Trümpfe) – muss Computer automatisch machen!
• Falsch drücken
• Skat vergessen (dürfte eigentlich einem Computer nicht passieren!)
• Falsch ein Spiel (aus mehreren Möglichkeiten) taufen
• Blankes Anspiel (5 Einschränkungen beachten!)
• Auf Reizwert des Mitspielers nicht eingehen
• Schneiden auf den eigenen Mann im 1.Stich
• Farbe nicht zurückspielen (Auf Gegenspiel vom MS nicht eingehen)
• Die dritte Farbe aufmachen
• Die 7.Karte sticht man nicht!
Das kann und muss man natürlich weiter präzisieren- aber vielleicht ist es mal ein Anfang für eine Diskussion? :wink:

BeitragVerfasst: 2. Sep 2008 19:30
von Chevalier
Mal abgesehen davon, dass ich die Wert dieser Empfehlungen bezweifle (nicht nur weil sie sich z.T. gegenseitig widersprechen), ein PC-Programm könnte damit kaum was anfangen. Da könntest Du auch allgemein verbieten "11. Unkonzentriert sein und nicht optimal spielen". Einem Programm müsste man schon etwas präziser sagen was es nicht darf, und um die Frage zu wiederholen:

Was würdet Ihr dem Programm verbieten, wenn es als Gegenspieler in VH sitzt und Aufschlag gegen ein Farbspiel hat ?

Es geht also nur um das Ausspiel zum ersten Stich. Die Position des AS sei egal.

Würdet Ihr z.B. verbieten, von 10-7 einer Nebenfarbe die 10 auszuspielen, wenn es sich nicht um die Reizfarbe des Partners handelt? Oder könnte man sowas unter Umständen als spielbaren Zug durchgehen lassen (unabhängig davon, ob der Zug im Einzelfall erfolgreich ist oder nicht)?

BeitragVerfasst: 3. Sep 2008 07:53
von Skatfuchs
Chevalier hat geschrieben:Was würdet Ihr dem Programm verbieten, wenn es als Gegenspieler in VH sitzt und Aufschlag gegen ein Farbspiel hat ?

Es geht also nur um das Ausspiel zum ersten Stich. Die Position des AS sei egal.


Hallo,

entweder man macht es allgemein und präzisiert es von Fall zu Fall- oder man lässt es sein! :wink:
Wie du weißt, ist nämlich die Position des AS nicht egal, wenn ein GS aufschlagen soll!

BeitragVerfasst: 3. Sep 2008 10:56
von Chevalier
Skatfuchs schreibt: Wie du weißt, ist nämlich die Position des AS nicht egal, wenn ein GS aufschlagen soll!

Ja, danke für die Aufklärung, mich interessieren aber nur die Ausnahmefälle, bei denen die Position des AS egal ist, also die absolut verbotenen Sachen, wie etwa in meinem Beispiel. So wie ich es formuliert habe.

Wenn Du meinst, dass die Position trotzdem nie egal wäre, dann ist das natürlich eine Meinung. Und wenn Du meinst, dass ich das dann lassen soll, dann ist das eben Deine Meinung. :lol:

Aber spielt die Position des AS wirklich eine Rolle, wenn er für 18 ans Spiel gekommen ich in VH nur einen Trumpf,
nämlich das blanke pias habe? Soll man dem PC-Programm "sagen":

Ein blankes Trumpf-Ass (blankes Trumpf-Volles) darf man in genau solchern Situationen (Trumpffarbe wurde nicht gereizt) nie zum ersten Stich ausspielen. Oder sollte man solche Züge prinzipiell zulassen?

Übrigens hat das Thema und die Frage durchaus einen programmtechnischen Sinn.

BeitragVerfasst: 3. Sep 2008 11:29
von Kannnix18
...Ist doch ggf. ein Superzug ...das blanke Trumpfvolle..., z.B. wenn du
:arrow: dreimal ,Ass,König .Lusche dabei hast ..

:arrow: oder dreimal: 10, Bild ,Lusche,

oder Kombinationen aus Dreierblöcken;

Alle anderen Karten könnten zuviel ..
oder zuwenig oder sowieso falsch sein!!

Freunde beim Skat

Kannnix18

Verbotenes Anspiel

BeitragVerfasst: 3. Sep 2008 12:46
von gustav2207
Hallo,
der chevi meint wohl Beispiele wie Anspiel des einzigen Vollen bei nur einem oder sogar keinem Trumpf.
Diese "Abfrage" lässt sich doch programmtechnisch leicht einbauen.
Gruß
gust

BeitragVerfasst: 3. Sep 2008 14:24
von Karlzberg
ich finde diese allgemeine frage zu schwierig zu beantworten. es gibt wohl kaum etwas, was ich der k.i. generell verbieten würde, das meiste ist fall-abhängig.

eine idee für ein verbot wäre z.b.:
bei drei trümpfen im farbspiel nciht krbu anziehen. aber auch hierfür gibt es wieder ausnahmen, sehr wenige, aber immerhin.

BeitragVerfasst: 3. Sep 2008 20:45
von Chevalier
Die Einschränkungen von kannix sind genau das, was ich mir von diesem Thema verspreche. Ich suche Züge, die immer schwach sind. Für den AS in Vorhand könnte ich mir da so einges vorstellen. Aber wir sind ja noch bei der Gegenpartei. Und zwar beim Aufschlag.

Wenn wir am Ende zu dem Schluss kommen, dass man einem Programm in dieser Position (GP Vorhand, Ausspiel zum 1. Stich) prinzipiell alles erlauben muss, d.h. dass jeder Zug stark sein kann, dann ist das auch ein Ergebnis.

Wie sieht es aus z.B., wenn der GS in Vorhand (Pik ist Trumpf, Reizung nicht über 22) folgende Gegentrümpfe hält:

pibu hebu kabu pi10 pi07 und 5 Nichttrumpf-Karten

Gibt es Nebenfarbenkombinationen, die hier das Ausspiel der pi10 rechtfertigen könnten? Oder ist der Zug grundsätzlich schwach?

BeitragVerfasst: 3. Sep 2008 21:10
von marvin
Obwohl es schon mehrfach hin und her ging, fällt es mir schwer zu erkennen, was du dir von dieser Diskussion versprichst. Ich kann mir nämlich nur eine Sammlung von sehr konkreten Situationen vorstellen, in denen bestimmte Karten Tabu sind. Von diesen Situationen wiederum kommt jede einzele nur alle Jubeljahre mal vor. Also nicht sehr hilfreich, wenn man ein Skatprogramm schreiben will. Wann hat man schon mal als Gegenspieler eine solche Trumpfflotte, wie in deinem Beispiel?

Ich würde dem Programm zunächst generell verbieten, im ersten Stich als Gegenspieler Trumpf auszuspielen. Die wenigen Ausnahmen, in denen das gerechtfertigt sein könnte, kommen so selten vor, dass ich als Programmierer erst dann darüber nachdenken würde, wenn das Programm in den häufigeren Situationen gut spielt.

BeitragVerfasst: 4. Sep 2008 06:56
von Chevalier
Marvin, Du liegst vollkommen richtig. Das Thema dient dazu, anhand von Einzelbeispielen auszuloten, ob es sich lohnt, allgemeine Verbote zu erlassen. Selbstverständlich müssen die Beispiele nachher auf Gemeinsamkeiten untersucht und abstrahiert werden, um mit einem Algo möglichst "breit" zu wirken und viele analoge Varianten abzufangen.

"Nie Trumpf" - wie Du es vorgeschlagen hast - ist meistens gut (ich schätze klar über 95 %), könnte aber noch etwas eingeschränkt werden

"Nie Trumpf, es sei denn..." z.B. "ich habe selbst 6 Trumpf"

Die Einschränkung bedeutet ja nicht, dass das Programm in diesem Fall Trumpf ziehen soll, sondern nur, dass der Trumpfzug in diesem Fall nicht gänzlich verboten wäre.

Sinn und Zweck der Sache ist es, Granatenzüge zu verhindern und den Pool der spielbaren Karten etwas kleiner zu machen, damit die KI weniger Karten untersuchen muss.

Du hast Recht, dass solche 5 Gegentrümpfe wie im Beispiel genannt sehr selten sind.

Deshalb mal ein Beispiel, das häufiger vorkommt. In Vorhand als Alleinspieler ist ein Standardfall z.B.

Bube-Bube-Bube-Trumpfvolles-Trumpf-Trumpf oder
Bube-Bube-Trumpfvolles-Trumpf-Trumpf oder
Bube-Trumpfvolles....

Hier würde ich mindestens das Trumpfvolle rausnehmen (darf man nicht zum ersten Stich ausspielen). Verallgemeinert könnte das so aussehen:

Wenn mindestens eine stärkere Karte draußen ist, darf das Trumpfvolle nicht (zum ersten Stich) ausgespielt werden. Man könnte noch breiter regulieren und die Trumpfbilder (K und D) in das Verbot mit reinnehmen, müsste dann allerdings prüfen, ob das jeweilige Trumpfbild einen direkten Tiefnachbarn hat usw (das würde jetzt zu weit führen).

Ich hoffe mal, dass deutlich geworden ist, wozu die gesuchten Verbote nützlich sein können.

BeitragVerfasst: 4. Sep 2008 12:02
von Karlzberg
Chevalier hat geschrieben:
Sinn und Zweck der Sache ist es, Granatenzüge zu verhindern und den Pool der spielbaren Karten etwas kleiner zu machen, damit die KI weniger Karten untersuchen muss.



wäre es dann aber nicht sinnvoller, der k.i. gleich "erlaubte" züge "beizubringen"?

BeitragVerfasst: 4. Sep 2008 19:23
von Chevalier
wäre es dann aber nicht sinnvoller, der k.i. gleich "erlaubte" züge "beizubringen"?

Sinnvoller? Klar! Wenn eine Skat-KI sehr gut wäre (davon sind Skatprogramme noch weit entfernt), dann wäre das sicher die einfachste Lösung. Eine sehr gute KI würde immer einen sehr guten Zug finden und hätte fast nie einen Aussetzer (Granatenzug).

Aber die KI stößt (auch) wegen der notwendigen Suchtiefe an Grenzen. Eine gute KI könnte etwas besser sein, wenn sie weniger untersuchen müsste. Wir entlasten die KI, wenn wir die regeltechnisch erlaubten Züge um die "unsinnigen" reduzieren, und schlagen zwei Fliegen mit einer Klappe: Das Risiko eines Granatenzuges wird geringer und die KI kann die verbleibenden relevanten Varianten besser (tiefer) untersuchen.

Mithin sind diese Filter so was wie Krücken, mit deren Hilfe gewisse KI-Schwächen ausgeglichen werden können: Eine praktische und praktikable Lösung.

BeitragVerfasst: 4. Sep 2008 23:38
von Ast
Eins fällt mir spontan ein:

von as-10 - K- D- 7 oder auch ohne die Dame
mit der 7 eröffnen.

BeitragVerfasst: 5. Sep 2008 06:56
von Chevalier
Eins fällt mir spontan ein:
von as-10 - K- D- 7 oder auch ohne die Dame
mit der 7 eröffnen.


Danke Ast, aber gilt das auch, wenn man keinen Trumpf hat und/oder wenn diese lange Farbe die Reizfarbe des Partners ist?

Beispiel: AS in Hinterhand spielt Kreuz, der Partner in MH hat auf 22 gepasst

VH führt
pias pi10 piko pi07 kako ka09 ka08 heda he09 he08