Na początku mam oczywiście 5 kart losowo. Tylko raz mogę się zmienić, a także już nauczyłem [programu] zasad pokera w moim systemie. Mój problem polega na tym, w jaki sposób mogę wybrać "Nie potrzebuję tej karty, czy są karty?". Mogę się zmienić sam, ale komputer nie wie. Myślę, że może to trudne, ale czy macie jakąś pomoc do zaoferowania?Jak mogę nauczyć system komputerowy, jak grać w pokera?
Odpowiedz
Będziesz chciał zbadać projekt Expert System. I zastosuj go do swojej domeny problemowej.
Jeśli wydaje się przytłaczająca, zacznij od małej. Stwórz podstawową bazę wiedzy o regułach, które sprawią, że twój poker poker łapczywie poszukuje par (i 3 lub 4 rodzaju). Kiedy to się uda, dodaj reguły, by spróbować zbudować proste, i reguły, kiedy faworyzować budowanie proste, a nie kiedy szukają pary, a potem, gdy to działa dobrze, dodaj spłuczki. Ciągła i mała inkrementacja jest kluczem do tego procesu.
Co powiesz na skontaktowanie się z The University of Alberta Computer Poker Research Group?
+1 dla mojej alma mater :) –
+1, skontaktowałem się z jednym z nich na moją dysertację i byli bardzo pomocni i szczerze zainteresowani tym, co robię. –
Spójrz na How I Built a Working Poker Bot Series (części 1, 2, 3, 4, 5, 6, 7, 8), która ma wielkie informacji dla osób początkujących w pokera botów.
W szczególności spójrz na numer Part 8, w którym szczegółowo opisano, jak ocenić wartość ręki. Co chcesz zrobić, to statystycznie ocenić karty w ręce i stamtąd określić, które karty mają największe prawdopodobieństwo zdobycia zwycięskiej ręki. Następnie możesz odrzucić karty, których nie potrzebujesz.
Wygląda na to, że teoria gier i sztuczna inteligencja są potrzebne do zbadania tutaj.
Czy nie byłoby lepiej zacząć od czegoś prostszego i pracować od tego miejsca? Jak blackjack, który, jak zakładam, byłby stosunkowo łatwy w wielkim schemacie?
Jeśli chcesz po prostu zbudować program do gry w pokera, powyższe sugestie są pomocne. Jeśli chcesz zbudować system, który nauczy się grać w pokera, musisz skorzystać z technik uczenia maszynowego/uczenia indukcyjnego, takich jak sieci neuronowe, drzewa decyzyjne, algorytmy genetyczne. Samuel napisał wczesny program do gry w warcaby, który nauczył się poprawiać jego wydajność.
http://en.wikipedia.org/wiki/Arthur_Samuel
Jest też miejsce na uczenie maszynowe i gier:
Należy uważać, aby nie zrobić zbyt dobrą pracę na to, czy może skończyć się utratą dużo pieniądze.
Computer Gamesmanship David Levy
alt text http://ecx.images-amazon.com/images/I/616X%2BHJmE7L._SL500_AA240_.jpg
Pokrywy kołek i rysować. Zdasz sobie sprawę, jak ciężko jest, zanim skończysz czytać.
Należy pamiętać, że książka ma ponad 25 lat, ale to dobry początek.
Rzeczy, które chcesz studiować, to teoria gier i eksploracja danych.Najlepsze programy korzystają z dużej symulacji teoretycznej gry, aby wytworzyć tolerancję dla systemu eksperckiego, który jest wykorzystywany do losowego grania gry w taki sposób, że popełnia jak najmniej systematycznych błędów. Jeśli dobrze przeszukasz internet, znajdziesz pełne implementacje kilku tego typu rozwiązań, ale często brakuje im kodu, który je wygenerował. Wadą akceptacji jednego z tych rozwiązań jest to, że nie wykorzystują oni w pełni błędów popełnianych przez przeciwników, na co większość dzisiejszych badań kieruje się w tej sprawie.
Istnieje wiele sposobów na tworzenie rozwiązań teoretycznych dotyczących gier, jednak przy użyciu niemal każdego możliwego algorytmu sztucznej inteligencji.
Sprawdź ewaluatora pokera. http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup Skorzystaj z analizy Monte Carlo, aby znaleźć karty, które mają zostać rozładowane, aby zmaksymalizować oczekiwania.
- 1. Jak programowo obliczyć kursy pokera?
- 2. Jak mogę się nauczyć Visual C++?
- 3. Jak mogę wdrożyć system głosowania?
- 4. Jak się nauczyć ADO.NET
- 5. jak się nauczyć EXTJS
- 6. grać flv w html
- 7. Jak nauczyć się notacji matematycznej?
- 8. Jak się nauczyć .NET Framework
- 9. Jak szybko nauczyć się WebGL?
- 10. Jak mogę się nauczyć korzystać z kolekcji Java commons?
- 11. Jestem kompletną nowicjuszką, jak mogę się nauczyć Node.Js + Express + MongoDB?
- 12. Jak static_assert grać ładny z SFINAE
- 13. Powiadomienie Android push, jak grać domyślny dźwięk
- 14. jak nauczyć się podstawowych API javascript?
- 15. Jak grać w gif w Androidzie z adresu URL?
- 16. Jak mogę zaimplementować system rozpoznawania gestów w systemie OS X?
- 17. Jak mogę przekonwertować system millisecond na Date w celu-c
- 18. Jak nauczyć się kompilacji Just-in-Time?
- 19. Grać w ramy, jak działają sesje i pliki cookie?
- 20. Jak grać w mp3 + g na Androidzie mediaplayer
- 21. Jak mogę pobrać system plików na żywo mojej aplikacji Appfog?
- 22. Projekty nauczyć Python
- 23. Android - Ringtone nie przestanie grać
- 24. Jak używać BLOBa z eBean i grać 2?
- 25. Jak zbadać drzewo decyzyjne zbudowany przy użyciu scikit nauczyć
- 26. uczenie maszynowe w Pythonie, aby grać w warcaby?
- 27. grać 2.3.8 sbt bez logback
- 28. Jak szybko nauczyć się Autofac do rozwoju Windows?
- 29. Jaki (rodzaj) projektu mogę utworzyć, aby nauczyć się JavaScript?
- 30. Jak działa system gwintowania Perl?
Właśnie sprawdziłem "Projekt systemu eksperckiego" ... Powodzenia z tym Tony ... :-) –
Z pewnością nie jest to łatwy problem. Prawdopodobnie największym problemem związanym z tworzeniem systemu eksperckiego jest to, że potrzebujesz dostępu do prawdziwego eksperta, abyś mógł zdefiniować dobry zestaw reguł. –
Doens't wydaje się jak droga. –