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.
Zadání 1. testíku v interní části stránek.
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))