From ada739de342db8da1c3bd28cee777d1f5090ab02 Mon Sep 17 00:00:00 2001 From: Wojtek Niedzielski Date: Mon, 7 Jan 2019 23:08:55 +0100 Subject: [PATCH 1/8] dziala rysowanie punkto, to sie mz eprzydac ;) --- szukaj.py | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/szukaj.py b/szukaj.py index 9c65867..48ecbed 100644 --- a/szukaj.py +++ b/szukaj.py @@ -1,12 +1,14 @@ import random +import math as m +import matplotlib.pyplot as plt #globals punkty = [] #miasta class miasta: nrMiasta = 0 - wspX = 0 - wspY = 0 + wspX = 0.0 + wspY = 0.0 def __init__(self,nr,wsx,wsy): self.nrMiasta = nr @@ -21,6 +23,32 @@ def generatorMiast(n): for i in range (1,n+1): punkty.append(miasta(i,random.randint(1,100),random.randint(1,100))) -generatorMiast(3) +def tabCr(): + for o in punkty: + for p in punkty: + if o.nrMiasta == p.nrMiasta: + pass + else: + dist = m.sqrt(m.pow(m.fabs(p.wspY - o.wspY),2)+m.pow(m.fabs(p.wspX - p.wspX),2)) + print("Nr: " + str(o.nrMiasta) +" to Nr: "+ str(p.nrMiasta)+ ", DIST: "+str(dist)) +def plotCr(): + plt.title("Punkty do odwiedzenia") + plt.xlabel("X") + plt.ylabel("Y") + X = [] + Y = [] + for o in punkty: + X.append(o.wspX) + Y.append(o.wspY) + plt.annotate(str(o.nrMiasta),(o.wspX,o.wspY)) + #plt.plot(X,Y) + plt.scatter(X,Y) + plt.grid() + plt.show() + +generatorMiast(15) for o in punkty: - o.allPrt() \ No newline at end of file + o.allPrt() +tabCr() +plotCr() + From 20ea0d53ce5794f36517afd90ee8c2f47b202517 Mon Sep 17 00:00:00 2001 From: Wojtek Niedzielski Date: Tue, 8 Jan 2019 00:01:25 +0100 Subject: [PATCH 2/8] dziala wysowanie punktow! i wyznacza jakas droge! --- .idea/workspace.xml | 126 +++++++++++++++++++++++++++++++++++--------- szukaj.py | 30 ++++++++--- 2 files changed, 125 insertions(+), 31 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index b6a7aa0..55b5711 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,10 +2,8 @@ - - - + @@ -135,6 +145,7 @@ @@ -152,6 +163,7 @@ + @@ -163,7 +175,6 @@ + @@ -157,8 +142,8 @@ - - + + - + - + - + - + - - + + + + - - @@ -414,14 +399,13 @@ - - + @@ -463,26 +447,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -494,9 +458,6 @@ - - - @@ -504,9 +465,6 @@ - - - @@ -524,9 +482,6 @@ - - - @@ -534,9 +489,6 @@ - - - @@ -551,9 +503,6 @@ - - - @@ -561,9 +510,6 @@ - - - @@ -581,9 +527,6 @@ - - - @@ -591,9 +534,6 @@ - - - @@ -608,9 +548,6 @@ - - - @@ -628,9 +565,6 @@ - - - @@ -638,9 +572,6 @@ - - - @@ -655,9 +586,6 @@ - - - @@ -675,9 +603,6 @@ - - - @@ -685,9 +610,6 @@ - - - @@ -698,9 +620,6 @@ - - - @@ -718,9 +637,6 @@ - - - @@ -741,9 +657,6 @@ - - - @@ -761,9 +674,6 @@ - - - @@ -784,30 +694,10 @@ - - - - - - - - - - - - - - - - - - - - @@ -815,19 +705,13 @@ - - - - + - - - @@ -838,40 +722,62 @@ + + + + + + + + + + + + + + - + - - - - + - - - - - + + - + + + + + + + + - - + + + + + + + + + - + - + - - + + diff --git a/asia.py b/asia.py new file mode 100644 index 0000000..0c7ce8f --- /dev/null +++ b/asia.py @@ -0,0 +1,5 @@ +imie = input("Podaj imie: ") +if imie.upper() == "Asia".upper(): + print(imie+" zdrwiej!") +else: + print("Spierdalaj!") \ No newline at end of file diff --git a/perceptron.py b/perceptron.py new file mode 100644 index 0000000..f80aae8 --- /dev/null +++ b/perceptron.py @@ -0,0 +1,84 @@ +class WspPR: + x=0 + y=0 + s=0 + def __init__(self,x,y,s): + self.x = x + self.y = y + self.s = s + +def predictins(obj, weights): + activat = 0 + activat += (obj.x * weights[1]) + (obj.y * weights[2]) + weights[0] + return 1 if activat >=0 else 0 + +def trening(obj, learningRate,epoch): + weigh = [0.0,0.0,0.0] + for epochNumb in range(epoch): + errorSummary = 0.0 + for objs in obj: + predictio = predictins(objs,weigh) + error = objs.s - predictio + errorSummary = error ** 2 + weigh[0] = weigh[0] + learningRate * error + #print(weigh[0] + learningRate * error) + weigh[1] = weigh[1] + learningRate * error * objs.x + weigh[2] = weigh[2] + learningRate * error * objs.y + #print(": ".join([str(epochNumb),str(learningRate),str(errorSummary)])) + #print(weigh) + return weigh + +weights = [1,2,-1] +wspNauczyciel = [] +wspTest = [] + +wspNauczyciel.append(WspPR(2,7,0)) +wspNauczyciel.append(WspPR(3,3,1)) +wspNauczyciel.append(WspPR(3,12,0)) +wspNauczyciel.append(WspPR(100,250,0)) +wspNauczyciel.append(WspPR(19,50,0)) +wspNauczyciel.append(WspPR(10, -10, 1)) +wspNauczyciel.append(WspPR(5, 0, 1)) +wspNauczyciel.append(WspPR(100, 100, 1)) +wspNauczyciel.append(WspPR(12, 20, 1)) +wspNauczyciel.append(WspPR(-1,3,0)) +wspNauczyciel.append(WspPR(-6,-10,0)) +wspNauczyciel.append(WspPR(-3,0,0)) +wspNauczyciel.append(WspPR(10,101,0)) +wspNauczyciel.append(WspPR(10,23,0)) + +wspTest.append(WspPR(-2,5,0)) +wspTest.append(WspPR(10,3,1)) +wspTest.append(WspPR(12,12,1)) +wspTest.append(WspPR(200,250,1)) +wspTest.append(WspPR(19,5,1)) +wspTest.append(WspPR(30, -10, 1)) +wspTest.append(WspPR(5, 4, 1)) +wspTest.append(WspPR(100,-100, 1)) +wspTest.append(WspPR(12, 50, 0)) +wspTest.append(WspPR(-1,-9,1)) +wspTest.append(WspPR(-6,10,0)) +wspTest.append(WspPR(-3,-10,1)) +wspTest.append(WspPR(1001,101,1)) +wspTest.append(WspPR(100,203,0)) + + +for objs in wspNauczyciel: + wynik = predictins(objs,weights) + if wynik == objs.s: + result = "PASS" + else: + result = "FAIL" + print(" ".join(["Wspolrzedne:",str(objs.x),str(objs.y),"oczekiwany",str(objs.s),"otrzymany",str(wynik),result])) + +weights = trening(wspNauczyciel,0.1,10) +print(weights) +print("--") +for objs in wspTest: + wynik = predictins(objs, weights) + if wynik == objs.s: + result = "PASS" + else: + result = "FAIL" + print(" ".join( + ["Wspolrzedne:", str(objs.x), str(objs.y), "oczekiwany", str(objs.s), "otrzymany", str(wynik), result])) \ No newline at end of file