Hi Leute hat hier schonmal jemand einen Schachcomputer programmiert? Gibt es gute bekannte offene Quellcodes? Ich würde so ein Dingens gerne bauen. Auf diese Idee kam ich eigentlich nur weil ich keinen Taschenschachcomputer finden konnte, vielleicht kennt jemand nen guten, dann könnte ich mir die Arbeit sparen.
Hi Mike, schau mal Gnu Chess an: https://www.gnu.org/software/chess/ Musst du nur portieren und mit einer geeigneten HW versehen. Gruß Olaf
:
Bearbeitet durch User
Hallo, > Auf diese Idee kam ich eigentlich nur weil ich keinen > Taschenschachcomputer finden konnte, vielleicht kennt jemand nen guten, > dann könnte ich mir die Arbeit sparen. wie wäre es mit einem Smartphone? Viele Grüße Michael
ML schrieb: > wie wäre es mit einem Smartphone? Is ja todlangweilig. Ich habe ein wunderschönes Schachbrett und Figurensatz, da will ich auch nen Schachcomputer dazu ;-) Danke Olaf das sieht fürs Erste gut aus, das muss ich mir zu Gemüte ziehen.
Mike schrieb: > Hi Leute hat hier schonmal jemand einen Schachcomputer programmiert? > Gibt es gute bekannte offene Quellcodes? Ich würde so ein Dingens gerne > bauen. Kennst du den CT800? https://www.ct800.net Den gibt es auch als Platine: https://github.com/d3rvita/ct800-pcb Wenn es ein AVR sein soll, wie wäre es mit dem SHAH? (a.k.a. AVR-Schachzwerg) http://www.andreadrian.de/schach/ https://github.com/d3rvita/avr-schachzwerg Es gibt noch den Mysticum: https://miclangschach.de/index.php?n=Main.MysticumE Ansonsten gibts noch den hier: https://github.com/slashbyte/ChessComputer, RasPi in Chess Chellenger optik.
Michel schrieb: > Wenn es ein AVR sein soll, wie wäre es mit dem SHAH? Noch eine Variante davon: http://www.dietrich-kindermann.de/schachcomputer.html
Raspberry mit Display, wenn man ein Brett schon hat :) https://hackaday.com/2019/01/06/raspberry-pi-powers-this-retro-chess-computer/ oder was kleines - der CHESSuino (evtl muss man da an einer besseren Zugeingabe arbeiten): http://diego-cueva.com/projects/chessuino/
Mike schrieb: > Hi Leute hat hier schonmal jemand einen Schachcomputer programmiert? Vor 40 Jahren in APL, auf einem Mainframe. ;-)
Ist doch pillepalle: 64 Felder, 32 Spielfiguren und Regeln, die im umständlichen Menschen-Sprech auf 2 A4-Seiten mit lesbarer Schriftgröße passen. Da brauchst du noch Hilfe? Selbst IBM hat es vor wenigen Jahren geschafft, den Weltmeister "reproduzierbar" zu besiegen.
Sehr interessant zu diesem Thema und mit viel Geschichte, Teilweise Schaltungen vielen Links zu Quellen ist diese Seite: http://www.andreadrian.de/schach/#Selbstbau_Schachcomputer_SHAH Edit: edit
:
Bearbeitet durch User
Jakob schrieb: > Da brauchst du noch Hilfe? Selbst IBM hat es vor wenigen Jahren > geschafft, den Weltmeister "reproduzierbar" zu besiegen. Klar, wenn "selbst IBM" es geschafft hat, dann sollte es doch für Mike erst Recht kein Problem darstellen. Oder? ;-)
Ja, entweder geht man da unbeirrt wie Mike ran, oder es wird schon mal aus lauter Respekt vor IBM nix. WAHRSCHEINLICH ist der Respekt vor DEEP BLUE gerechtfertigt, aber wahrscheinlich sollte ein Rookie den auch vor 99,99% von dem haben, was bisher amateurmäßig geleistet wurde.
Erwin D. schrieb: > Jakob schrieb: >> Da brauchst du noch Hilfe? Selbst IBM hat es vor wenigen Jahren >> geschafft, den Weltmeister "reproduzierbar" zu besiegen. > > Klar, wenn "selbst IBM" es geschafft hat, dann sollte es doch für Mike > erst Recht kein Problem darstellen. Oder? ;-) Wenn ihm ein Smartphone zu doof ist ...
A. K. schrieb: > Mike schrieb: >> Hi Leute hat hier schonmal jemand einen Schachcomputer programmiert? > > Vor 40 Jahren in APL, auf einem Mainframe. ;-) Ja, ja, immer der neueste heiße Scheiß! FORTRAN oder Algol waren wohl nicht gut genug?
Mike schrieb: > Gibt es gute bekannte offene Quellcodes? Ich würde so ein Dingens gerne > bauen. Für dem KIM-1 gibt es ein Schachprogramm unter 1k Speichergröße - nicht übermäßig gut aber dafür überschaubar. Quellcode für 6502 ist vorhanden. http://www.benlo.com/microchess/
Das KIM Microchess habe ich mir damals für den AIM-65 umgeschrieben, (eigentlich nur die Ein/Ausgabe). Den Quelltext hatte ich irgendwoher auf einem vielfach kopiertem Ausdruck bekommen. In dem Link oben steht 1k RAM, das stimmt nicht ganz, es wurden soweit ich noch weiß auch noch die 128 Byte RAM im I/O-Port benutzt (im Sourcecode Adressen ab 1780h), und irgendwie mit dem Stackregister manipuliert, damit es reinpasst. (Sourcecode: 00B2 .SP2 : STACK POINTER FOR STACK 2 00B3 .SP1 : STACK POINTER FOR STACK 1) Der Sourcecode ist hier auch gelistet: http://www.benlo.com/microchess/Kim-1Microchess.html
:
Bearbeitet durch User
Mike schrieb: > Gibt es gute bekannte offene Quellcodes? Ist Google kaputt? "chess engine open source" findet mehr Treffer als man verarbeiten mag. > Ich würde so ein Dingens gerne bauen. "Schachcomputer" ist ein weites Feld. Aber nachdem dir "Smartphone" bzw. "Tablet" nicht gefallen haben, soll es wohl etwas aufwendiger werden. So richtig mit Schachbrett und Figuren? Die einfachste Variante wäre dann ein normales Brett und für den Computer ein einfaches Display + Keypad, wo man seine Züge eintippt bzw. er seine Züge anzeigt. Ziehen muß man von Hand. Die nächste Eskalationsstufe verwendet ein Brett mit Sensoren, die erkennen ob eine Figur auf dem Feld steht oder nicht. Ausgehend von der Anfangsstellung kann der Computer so die Stellung tracken und Züge des Spielers erkennen. Züge des Computers kann man z.B. per LED (eine pro Feld) anzeigen. Die high-end Variante verwendet dann Figuren mit individuellen Kennungen, dadurch kann der Computer jede beliebige Aufstellung erkennen, z.B. um Schachrätsel zu lösen. Aber wenn dich schon eine einfache Google-Suche überfordert, dann wird dir das alles viel zu aufwendig sein.
Axel S. schrieb: > Die high-end Variante verwendet dann Figuren mit individuellen > Kennungen, dadurch kann der Computer jede beliebige Aufstellung > erkennen, z.B. um Schachrätsel zu lösen. Eine andere Variante würde mit einer oder mehreren Kameras arbeiten so dass das Brett und die Figuren nicht verändert werden müssen. Die Figuren müssen lediglich eindeutig voneinander unterscheidbar sein. Eventuell reicht hierzu der Blick von oben. Ansonsten müssen mehrere Kameras das Brenn von allen Seiten beobachten.
Dumpfbacke schrieb: > Eine andere Variante würde mit einer oder mehreren Kameras arbeiten so > dass das Brett und die Figuren nicht verändert werden müssen. Kann ich nicht so recht ernst nehmen :-) Es ging mir darum nen Schachcomputet zu bauen der kein Schachbrett braucht, nur die Anzeige woher und wohin sozusagen.
Der Anspruch ist weniger, die Figuren zu machen und anzuzeigen, sondern eher die Strat hinter dem Spiel, sage ich mal.
Mike schrieb: > Hi Leute hat hier schonmal jemand einen Schachcomputer programmiert? Ja. Ich hatte es auf einer Micro-VAX programmiert und zum Laufen gebracht, scheiterte aber funktionell letztlich am OS und dem RAM. Es funktionierte so: Man beschreibe ein Schachspielfeld in C mit einem Array von 8x8 Feldern, welche entweder Null (frei) oder die Nummer einer Figur enthält. Anhand der Nummer ist klar, welche Figur (Typ und Farbe) es ist. Ausgangsstellung ist die Grundstellung im Schach. Man definiere eine Schleife über 8x8, die prüft, ob ein Feld frei ist oder belegt. Wenn es belegt ist, teste man mit einer weiteren Schleife alle für diese Figur zugelassenen Züge und ermittle die daraus folgenden Brettstellungen. Diese ist charakterisiert, durch eine temporäre Array-Variable, welche die Stellungen codiert enthält. Kommt es bei der Bildung eines gedachten Zugs zu einem Schlagen einer gegnerischen Figur, wird einer Variablen, die rekursiv geführt wird, ein Wert aufaddiert, der dem virtuellen Wert der Figur entspricht. Diese Variable wird als Gütewert der Stellung zugeordnet. Man ermittle nun einen weiteren Gütewert dadurch, dass die hier beschriebene Funktion mit der aktuellen neuen Stellung rekursiv ausgerufen wird und addiere den zurückgebenen Wert der Rekursion zum vorher ermittelten Gütewert aus dem Schlagen. Man gebe diesen Wert als Rückgabewert nach oben, sofern die Rekursionstiefe (mitzählen) >1 ist. Damit ist die Rekursion geschlossen und die Rückgabewerte summieren immer dann besonders hoch, wenn ein Zug zu einer Stellung führt, welche zu weiteren gut bewerteten Stellungen geführt, weil sich bei den durchgespielten Möglichkeiten ein guter Weg ergibt. Abbruchkriterium ist "keine Figur mehr da", "König gefallen" (Rückgabewert entsprechend groß) oder Rekursionstiefe > Limit. Das System funktionierte so im Jahre 1993 am Hochschulrechenzentrum der Uni Siegen und lieferte für jeden Eröffnungszug einen unterschiedlich großen Wert zurück, sobald Züge dazu führen konnten, dass sich die ersten Bauern ins Gehege kommen. Ich konnte es allerdings mit voller Besetzung des Felder nur bis zur Rekursionstiefe von 3-4 laufen lassen, weil sich der Server dann aufhängte. Mit kleiner Besetzung, wie man es im Endspiel hat, ging es deutlich weiter. Mit mehr Serverpower und RAM heutiger Rechner, müsste das weiter zu treiben sein. In der gleichen Weise müsste sich auch ein Rubik-Würfel lösen lassen.
Jürgen S. schrieb: > In der gleichen Weise müsste sich auch ein Rubik-Würfel > lösen lassen. Dafür sind diese billigen massenhaft produzierten Kleincomputer ganz praktisch, die mit Kamera und Display eine untrennbare Einheit bilden: https://www.youtube.com/watch?v=_d0LfkIut2M Ist schon älter, finde das aber immer wieder total beeindruckend.
Mike schrieb: > Kann ich nicht so recht ernst nehmen :-) Es ging mir darum nen > Schachcomputet zu bauen der kein Schachbrett braucht, nur die Anzeige > woher und wohin sozusagen. Und bei den bereits in Beitrag Beitrag "Re: Schachcomputer Eigenbau?" genannten war kein passender dabei?
Percy N. schrieb: >> Vor 40 Jahren in APL, auf einem Mainframe. ;-) > > Ja, ja, immer der neueste heiße Scheiß! > FORTRAN oder Algol waren wohl nicht gut genug? In der Schule waren recht viele Kinder von Mitarbeitern eines grösseren Unternehmens aus der Nähe. Irgendwer kam auf die prägende Idee, ein IBM Kugelkopf-Terminal mit Zugang zu dessen APL/SV System hin zu stellen. Und so fing ich eben nicht mit BASIC oder PASCAL an, sondern mit APL. Nun ist das nicht das beste Werkzeug für ein Schachprogramm, aber wenn halt sonst nichts zur Verfügung steht... Die Schule fand die Idee mit dem Schachprogramm allerdings nicht so gut, als die nächste Rechnung kam.
:
Bearbeitet durch User
Mike schrieb: > Ich habe ein wunderschönes Schachbrett und > Figurensatz, da will ich auch nen Schachcomputer dazu ;-) Dann wäre vielleicht einer dieser billigen chinesischen Einarmroboter die richtige Hardware dazu.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.