[Episode 3] Anfänger haben Numeron AI mit Python ausprobiert

0th 1. 2. 3. Letzte Geschichte

Über diesen Artikel

Schließlich werden wir den KI-Teil erstellen. Vielen Dank> <

Bestätigung des AI-Flusses

Wie in Teil 1 erwähnt, wählt der Computer grundsätzlich die "Hand mit der geringsten Anzahl der schlechtesten Kandidaten" aus.

Erforderliches Programm

Das Ziel ist eine Funktion, um die "schlechteste Kandidatennummer" zu finden. So finden Sie den schlechtesten Kandidaten, aber Sie benötigen eine Liste mit Nummern, die die Ergebnisse Ihrer bisherigen Anrufe erfüllen. Es wäre auch nützlich, eine Liste mit 720 Nummern von 012 bis 789 zu haben. Und es scheint Spaß zu machen, eine Liste zu erstellen, die alle Kombinationen von EAT und BITE enthält. Deshalb werde ich zuerst diese drei Listen und Funktionen erstellen.

Nummernliste von 012 bis 789

Ich habe es wie folgt implementiert

def change(a,b,c):
    return [[a,b,c],[a,c,b],[b,a,c],[b,c,a],[c,a,b],[c,b,a]]
ALL=[]
for i in range(0,10):
    for j in range(i+1,10):
        for k in range(j+1,10):
            ALL+=change(i,j,k)

Um den Ablauf kurz zu erklären Erstellen Sie eine Funktion, die eine Liste von 3! Sortiert aus 3 Zahlen zurückgibt Ich habe alle Kombinationen so gemacht, dass die Zahlen nicht von für, für, für abgedeckt werden. Bitte lassen Sie mich wissen, ob es eine bessere Implementierung gibt (überlassen Sie es anderen)

Liste aller Kombinationen von EAT und BITE

Da die Anzahl klein ist, werde ich es ehrlich schreiben

EB=[[3,0],[2,1],[2,0],[1,2],[1,1],[1,0],[0,3],[0,2],[0,1],[0,0]]

Kandidatenliste

Als nächstes definieren wir eine Funktion, die Zahlen sammelt, die die bisherigen Ergebnisse von EAT und BITE erfüllen. Der erste Zug ist der gleiche wie ALL, also zuerst

KOUHO=ALL

Lass es uns kopieren. Und jedes Mal, wenn ich EAT, BITE kenne

def CHECK(CALL,EAT,BITE,KOUHO):
    X=len(KOUHO)
    group=[]
    for i in range(X):
        if NUMERON(CALL,KOUHO[i])==[EAT,BITE]:
            group.append(KOUHO[i])
    return group

KOUHO

KOUHO=CHECK(CALL,EAT,BITE,KOUHO)

Sie können es mit aktualisieren.

Jetzt sind Sie bereit, die "schlechteste Anzahl von Kandidaten" zu finden.

Funktion zum Finden der schlechtesten Kandidatennummer in einem Anruf

def BAD(CALL,KOUHO):
    CHECK_LIST=[0]*10
    for i in range(10):
        EAT=EB[i][0]
        BITE=EB[i][1]
        CHECK_LIST[i]=len(CHECK(CALL,EAT,BITE,KOUHO))
    return max(CHECK_LIST)

Sie müssen also nur von [0,1,2] bis [7,8,9] suchen. Die Liste der COM-Aufrufe kann also wie folgt geschrieben werden:

Erstellen einer Liste von Com-Call-Kandidaten

def CALL_LIST(KOUHO):
    LIST=[]
    EATLIST=[]
    cnt=1000
    for i in range(720):
        if BAD(ALL[i],KOUHO)<cnt:
            cnt=BAD(ALL[i],KOUHO)
            LIST=[]
            EATLIST=[]
            if len(CHECK(ALL[i],3,0,KOUHO))>=1:
                EATLIST.append(ALL[i])
            else:
                LIST.append(ALL[i])
        elif BAD(ALL[i],KOUHO)==cnt:
            if len(CHECK(ALL[i],3,0,KOUHO))>=1:
                EATLIST.append(ALL[i])
            else:
                LIST.append(ALL[i])
    if len(EATLIST)==0:
        return LIST
    else:
        return EATLIST

Wenn Sie versuchen, in der Situation zu bestätigen, dass die verbleibenden Kandidaten [1,2,3], [1,3,2], [2,4,1] sind

print(CALL_LIST([[1,2,3],[1,3,2],[2,4,1]]))
#[[1, 2, 3], [1, 3, 2]]

Ist zurückgekommen. Klingt richtig.

Jetzt, da Sie die Köpfe von com haben, lassen Sie uns eine Kampfumgebung schaffen !!

Recommended Posts

[Episode 2] Anfänger haben Numeron AI mit Python ausprobiert
[Episode 3] Anfänger haben Numeron AI mit Python ausprobiert
[Episode 0] Anfänger haben Numeron AI mit Python ausprobiert
[Episode 1] Anfänger haben Numeron AI mit Python ausprobiert
[Letzte Geschichte] Anfänger haben Numeron AI mit Python ausprobiert
3. 3. KI-Programmierung mit Python
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Erstelle Puyopuyo AI mit Python
Mayungos Python-Lernfolge 1: Ich habe versucht, mit Druck zu drucken
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
[IPdb] Anfänger in der Webentwicklung haben versucht, das Debuggen mit Python zusammenzufassen
Mayungos Python Learning Episode 3: Ich habe versucht, Zahlen zu drucken
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Python-Anfänger versuchten es herauszufinden
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
[Pandas] Ich habe versucht, Verkaufsdaten mit Python zu analysieren. [Für Anfänger]
Mayungos Python Learning Episode 7: Ich habe versucht, mit if, elif, else zu drucken
INSERT in MySQL mit Python [Für Anfänger]
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
Ich habe eine funktionale Sprache mit Python ausprobiert
Ich habe versucht, mit Python ② (Fibonacci-Zahlenfolge) aufzuklären.
[Python] Bilder mit OpenCV lesen (für Anfänger)
Mayungos Python Learning Episode 8: Ich habe versucht, Eingaben zu machen
WebApi-Erstellung mit Python (CRUD-Erstellung) Für Anfänger
Wie Python-Anfänger mit Progete beginnen
Aufbau einer KI / maschinellen Lernumgebung mit Python
[Für Anfänger] Versuchen Sie Web Scraping mit Python
# Ich habe so etwas wie Vlookup mit Python # 2 ausprobiert
Mayungos Python Learning Episode 2: Ich habe versucht, Zeichen mit Variablen zu löschen
Ich überarbeitete "Ich habe versucht, Othello AI zu machen, als Programmieranfänger Python studierten"
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe Hunderte Millionen SQLite mit Python ausprobiert
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Kausales Denken und kausale Suche von Python (für Anfänger)
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Scraping mit Python
Python mit Go
Mayungos Python Learning Episode 5: Ich habe versucht, vier Regeln mit Zahlen zu machen
Python-Anfänger haben versucht, einen Energy-Drink zu codieren
Twilio mit Python
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
In Python integrieren
Spielen Sie mit 2016-Python
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
AES256 mit Python
~ Tipps für Python-Anfänger mit Liebe von Pythonista ① ~
Ich habe Funktionssynthese und Curry mit Python versucht
Getestet mit Python
Ich habe versucht, LLVM IR mit Python auszugeben
Ein Anfänger des maschinellen Lernens versuchte, mit Python ein Vorhersagemodell für Pferderennen zu erstellen