[SOLVED] Artifical Intelligence Lab 5

25.00 $

Programming resource
Digital learning resource
Practical programming resource
Suitable for guided study and reference
Tutor guidance available when needed

Description

5/5 - (1 vote)

Joc: (generalizare Mastermind) Jucătorul A are bile de n culori diferite, câte m bile de fiecare culoare.
Jucătorul A alege k bile, fără ca alegerea să fie vizibilă pentru jucătorul B. Un pas al jocului constă în:
● Jucătorul B propune o secvență de k culori. O culoare se poate repeta de cel mult m ori.
● Jucătorul A indică o valoare între 0 și k corespunzătoare numărului de potriviri de culori și poziții între secvența propusă de B și bilele alese la începutul jocului.
Dacă după cel mult 2*n pași jucătorul B a propus secvența de culori corespunzătoare secvenței de k bile alese de jucătorul A, jucătorul B câștigă jocul. Altfel, câștigă jucătorul A.
Demo online pentru n=8, k= 4,6 sau 8 care include și indicarea culorii corecte fără a fi și poziția corectă (cerință care nu e inclusă mai sus): https://www.webgamesonline.com/mastermind/index.php
Etape de rezolvare:
1. (0.2) Implementați funcția de inițializare (primește ca parametrii n, m și k, întoarce starea inițială) și funcția care verifică dacă o stare primită ca parametru este finală, caz în care întoarce câștigătorul.
2. (0.2) Implementați o funcție care alege aleator k bile din cele m*n disponibile.
3. (0.2) Implementați o funcție care compară o secvență de k culori cu secvența generată de funcția anterioară și întoarce o valoare între 0 și k corespunzătoare numărului de potriviri între cele două șiruri.
4. (0.3) Implementați o interfață pentru jucătorul B uman, cu posibilitatea introducerii unei secvențe de culori, afișarea numărului de potriviri și afișarea câștigătorului jocului.
5. (0.7) Implementați o strategie pentru jucătorul B folosind algoritmul MINIMAX cu retezarea ALPHA-BETA.
Bonus: Implementați o strategie pentru mastermind care câștigă cel puțin două din trei partide, folosind interfața de aici (selectați Mastermind din meniul Select Game Type, editați codul, dați Run din dreapta sus): Demo Online Code Editor – aigaming.com
Informații suplimentare:
● https://drive.google.com/file/d/1Ai51BfWuuqGXS86MZXJATxKXM0W2s6JH ● https://github.com/adjl/Mastermind
Pentru laboratorul 5: Punctele 1 și 2.
Pentru laboratorul 6: Punctele 3 și 4.

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.