Search
Příklady řešení minulého domácího úkolu. Diskuse nad některými problémy.
Za domácí úkol jste si měli projít kapitoly 3 - 9 z knihy [Kubias2008]. Pokud máte dotazy k probírané látce, zeptejte se.
Zkuste nahrát vašeho triviálního PD hráče, nemusí být úplně funkční, ale měli byste mít jasný plán jak ho zprovoznit.
1. online test na porozumění kódu. Řeší se na cvičení podle pokynů cvičícího.
Naimplementujte triviálního hráče, hrajícího R-P-S game a vhodně otestujte. Nechte to zahrát proti sobě například hru “2 ze 3” a vyhodnoťe vítěze. Zkuste vytvořit dva hráče, např náhodného a konstantního a vyhodnoťte úspešnost při více opakování. Zkuste nejprve algoritmus řízení hry rozmyslet na papíře a pak teprve začněte programovat.
Nadcházející neděli do 23:59:59 je třeba odevzdat první verzi hráče: Jednoduchý hráč.
Pokud vám něco není jasné, váš triviální hráč není schopen hrát, je nejvyšší čas to řešit.
Pokračujte ve čtení a zkoušejte programovat. Dokončete pokročilého hráče pro vězňovo dilema - na dalším cvičení bude poslední možnost diskutovat nejasnosti před turnajem.
Modul vectors.py respektive, třídu MyVector doplňte o metodu is_perpendicular_to(self, other) a vhodně otestujte. Zkuste si i složitější metodu cross_product(self, other), která, pokud to jde, vytvoří nový objekt stejného typu - vektorový součin.
vectors.py
MyVector
is_perpendicular_to(self, other)
cross_product(self, other)
if __name__ == "__main__": vec1 = MyVector([1,2,3]) # vektory mohou byt i jine dimenze nez 3! vec2 = MyVector([3,4,5]) if vec1.is_perpendicular_to(vec2): print('vectors are perpendicular') print(vec1.cross_product(vec2))