Aktionen

Dichterisches Coden: Unterschied zwischen den Versionen

Aus exmediawiki

 
(55 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=first steps in Python=
+
[[AI@exLabIII|Seminar]], '''24.10.2019'''
=== Variablen setzen ===
 
x = 0
 
y = 1
 
  
sum = x + y
+
Präsentationsfolie:<br>
 +
[[Datei:Firstpage.png|400px|link=https://exmediawiki.khm.de/exmediawiki/images/2/29/Dichterisches_coden-slides.pdf]]
 +
----
 +
''"Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt."'' (Wittgenstein)
 +
----
 +
=Anaconda installed?=
  
=== Ausgaben mit ''print()'' ===
+
if installation == ready:
  print(sum)
+
    print("Bravo! Lass uns unser Workaround einrichten")
 +
  else:
 +
    print("Bitte nach folgender Anleitung jetzt tun: [[KI_Workaround_installieren]]")
  
print("Hallo Welt")
+
----
 +
=KHM-Wolke=
 +
'''was bietet euch diese Cloud?:'''
 +
* Filesharing zwischen eigenen und den Lab-Rechnern
 +
* Eigene Cloud
 +
* Eigener Kalender, Passwortcontainer, Mindmaps etc.
 +
* Frontend für euren E-Mail Account
 +
----
 +
'''Link zu unserem Seminars-Filesharing-Ordner:''' '''[https://wolke.khm.de/index.php/s/oqZMPmgS9M8Yw9m Seminars-Cloud]'''
 +
----
 +
'''Experimentelle Informatik - Kalender:''' https://wolke.khm.de/index.php/apps/calendar/p/n6a59z9AnKKnFgTz/exLabIII
 +
* '''''...zum Download im *.ics Format:''''' https://wolke.khm.de/remote.php/dav/public-calendars/n6a59z9AnKKnFgTz?export
  
=== Eingaben mit ''input()''===
+
==Todo==
Text:
+
bitte vollständiger Name + '''KHM-Mailadresse''' eintragen unter: https://pad.dyne.org/pad/#/2/pad/edit/dYjwTAf3tigv-6nOTw6vcsX2/
input("is eki in the house? type true for 1 or false for 0:")
 
  
Ganzzahl:
+
''Anmeldeprozedere machen wir dann nächste Woche...''
int(input("is eki in the house? type 1 for true or 0 for false:"))
 
  
Fließkommazahl:
+
----
float(input("is eki in the house? type 1.0 for true or 0.0 for false:"))
 
  
=== if Anweisung===
+
=exMediawiki=
if y == 1:
+
'''jeder Studierende bekommt einen Useraccount, mit dem er editieren, dokumentieren, etc. kann + persönlicher Page.
      print("true")
+
'''
else:
+
''Eine kleine Einführung wie, dann nächste Woche...''
      print("false")
 
  
===Kommentare===
+
<big>Beispielseiten von Studierenden:</big>
Einzeiliges Kommentar
+
* '''Studierendenseiten:'''
# mit dem Hashtag zu Beginn einer Zeile wird auskommentiert
+
** [[Benutzer:Soo_yeun]]
 +
** [[Benutzerin:Yue]]
  
mehrzeilige Kommentare:
+
* '''Projektseiten:'''
"""In 3 Anführungszeichen
+
** [[Neigungsgruppe_Medienfassade]]
können mehrzeilige Kommentare (__doc__strings)
+
** [[KHM-Garten]]
verfasst werden"""
 
  
 +
* '''Workshops:'''
 +
** [[Web_Hacking]]
 +
** [[Machtkaputtwaseuchkaputtmachtstuktur]]
  
 +
* '''Researches:'''
 +
** [[Krieg_%26_KI]]
  
 
----
 
----
  
== Vergleichsoperatoren in der Übersicht ==
+
=Das Perzeptron=
Die folgende Tabelle zeigt die von Python unterstützten Vergleichsoperatoren.
+
[[File:02_01.png|800px]]
{| class="wikitable"
+
[[File:Knn3.png|400px]][[File:perc2.png|400px]]
|-class="hintergrundfarbe5"
+
 
! width="25%" | Operator || width="25%" | Beschreibung || width="25%" | Beispiel || width="25%" | Beispielausgabe
+
==Der lineare Klassifikator==
|-
+
[[File:Lindner-short.mp4]]
|== || Testet auf Werte-Gleichheit || "Hallo" == "Welt" || False
+
===boolean===
|-
+
Boole veröffentlichte 1854 "An investigation into the Laws of Thought" (Eine Untersuchung der Gesetze des Denkens).
| != || Testet auf Werte-Ungleichheit || "Hallo" != "Welt" || True
+
 
|-
+
 
| is || Testet auf Objekt-Gleichheit || type("Hallo") is str || True
+
Der britische Mathematiker hat die Gesetze der Logik formuliert, nach denen Computer, Smartphones, Datenbanken und eben auch Internet-Suchmaschinen funktionieren. Die Boole'sche Algebra gilt als das Fundament der modernen Informationstechnologie.
|-
+
 
| is not || Testet auf Objekt-Ungleichheit || type("Hallo") is not int || True
+
'''das bool'sche Entscheidungsverfahren:'''
|-
+
* Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht.
| < || Testet auf kleineren Wert || 4 < 4 || False
+
 
|-
+
[[File:Knn1.png|200px]][[File:Boolsche-logikfunktion.png|300px]][[File:LogicGatesWorking.png|300px]] << Claude Shannon
| <= ||Testet auf kleineren oder gleichen Wert || 4 <= 4 || True
+
 
|-
+
'''Logik''' << Schlußfolgerungslehre, Denklehre:
| > || Testet auf größeren Wert || "b" > "a" || True
+
* In der Logik wird die Struktur von Argumenten im Hinblick auf ihre Gültigkeit untersucht, unabhängig vom Inhalt der Aussagen.
|-
+
 
| >= ||Testet auf größeren oder gleichen Wert || 5.9 >= 6 || False
+
 
|-
+
'''formalisierte Logik''':
|}
+
* „Formale Logik“ bezeichnet eine Notation von Schlüssen mittels einer formalen Sprache, die oftmals spezielle Symbole einführt. Dabei wird üblicherweise genau angegeben, wie wohlgeformte Ausdrücke dieser Sprache gebildet werden (Syntax).
 +
 
  
 
----
 
----
== Boolean ==
 
 
Dieser Datentyp repräsentiert '''Wahrheitswerte''' aus der Menge ''True'' und ''False''. Wahrheitswerte kann man mit Operatoren verknüpfen.  
 
Dieser Datentyp repräsentiert '''Wahrheitswerte''' aus der Menge ''True'' und ''False''. Wahrheitswerte kann man mit Operatoren verknüpfen.  
 +
====Wahrheitstabelle====
 +
Wir erlauben nur, dass die Eingabeneuronen binär aktiviert sein dürfen, sprich: es werden nur Aktivierungen von 1 oder 0 zugelassen.
 +
 +
Wir werden in diesem Semester Christian Lindner aktiv unterstützen und erstmal einen Klassifikator trainieren, der uns sagen wird, ob vor mir ein "EKI" in des Bäckers Schlange steht?
 +
 +
Dazu haben wir eine Merkmalsliste erstellt und fragen uns daraufhin, beispielsweise ob Die Person vor uns 1. '''männlich''' ist und zweitens '''eine Geldscheinklammer aus der Hosentasche zieht zum bezahlen eines 80 cent Betrages'''?
 +
 +
Wir nennen hierbei die beiden Spalten "X" und "Y" unsere Merkmale (engl. features), die wir als Eingabe verwenden, und "EKI" ist unser gesuchter Wert oder die gewünschte Ausgabe.
 +
 +
So gehen wir also einfach mal davon aus, dass wir eigentlich nicht so genau wissen, wie man einen EKI präzise definieren kann: wir haben uns nur diese 2 Merkmale (X und Y) zurechtgelegt um zum richtigen ergebnis zu kommen.
 +
 +
Später dann im Training werden wir auch wissen, was das erwartete bzw. richtige Ergebnis ist.
 +
 +
Danach wollen wir dann aber nur noch mit den Eingabe-Merkmalen zum Ziel kommen, ohne dass wir die Antwort schon im Voraus kennen. << Maschinelles Lernen
  
 
In der folgenden Tabelle sind ''logische Verknüpfungen'' zusammengefasst, wobei '''EKI''' und '''HGA'''
 
In der folgenden Tabelle sind ''logische Verknüpfungen'' zusammengefasst, wobei '''EKI''' und '''HGA'''
Zeile 77: Zeile 107:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-class="hintergrundfarbe5"
 
|-class="hintergrundfarbe5"
!colspan="6"|'''...in the backery'''
+
!colspan="6"|'''Steht da ein Entwickler Künstlicher Intelligenz (EKI) vor mir in des Bäckers Schlange?'''
 
|-
 
|-
! width="16%" | '''EKI''' || width="16%" | '''HGA''' || width="16%" | not EKI || width="16%" | EKI '''and''' HGA || width="16%" | EKI or HGA || width="20%" | EKI ^ HGA (xor)
+
! width="16%" | '''männlich''' || width="16%" | '''Geldscheinklammer''' || width="16%" | NOT || width="16%" | '''AND''' || width="16%" | OR || width="20%" | XOR
 
|-
 
|-
 
| '''False''' || '''False''' || True  || '''False''' || False || False
 
| '''False''' || '''False''' || True  || '''False''' || False || False
Zeile 89: Zeile 119:
 
| '''True'''  || '''True'''  || False || '''True'''  ||True  || False
 
| '''True'''  || '''True'''  || False || '''True'''  ||True  || False
 
|}
 
|}
 +
----
 +
 +
=Jupyter Notebook mit Tensorflow environement einrichten=
 +
see: [[KI_Workaround_installieren]]
 +
 +
----
  
==... try it by yourself @ home==
+
=erste Schritte mit Python=
Run Python Code online (without installing anything):
+
Python Code Onlione ausführen (ohne lokales Installieren eines Pythoninterpreters):
* https://trinket.io/python
+
* Online Python-Idle: https://trinket.io/python
 +
=== Variablen setzen ===
  
Pages zum praktischen Einstieg:
+
EKI = "Entwickler Künstlicher Intelligenz aus Indien"
* https://www.w3resource.com/python-exercises/
+
HGA = "Höchstens geduldeter Ausländer"
* https://hourofpython.trinket.io/a-visual-introduction-to-python#/welcome/an-hour-of-code
+
 
 +
EKI = 1
 +
HGA = 0
 +
 
 +
Summe = EKI + HGA
 +
 
 +
=== Ausgaben mit ''print()'' ===
 +
print(sum)
 +
 
 +
print("Hallo Welt")
 +
 
 +
=== Eingaben mit ''input()''===
 +
Text:
 +
input("is EKI in the house? type true for 1 or false for 0:")
 +
 
 +
Ganzzahl:
 +
int(input("is EKI in the house? type 1 for true or 0 for false:"))
 +
 
 +
Fließkommazahl:
 +
float(input("is EKI in the house? type 1.0 for true or 0.0 for false:"))
 +
 
 +
===Kontrollstrukturen===
 +
if_Anweisung:
 +
if EKI > 1:
 +
      print("true")
 +
else:
 +
      print("false")
 +
siehe auch: Übersicht von [[Vergleichsoperatoren]]
 +
 
 +
===Kommentare===
 +
Einzeiliges Kommentar
 +
# mit dem Hashtag zu Beginn einer Zeile wird auskommentiert
 +
 
 +
mehrzeilige Kommentare:
 +
"""In 3 Anführungszeichen
 +
können mehrzeilige Kommentare (__doc__strings)
 +
verfasst werden"""
  
 
----
 
----
=Jupyter Notebooks download & install=
+
==Python Tutorials==
*[[KI Workaround installieren]] (Anaconda und Jupyter Notebook mit deep learning environment)
+
 
 +
'''Onlinetutorial:'''
 +
*[https://tutorial.djangogirls.org/de/python_introduction/ Python tutorial der djangogirls (Deutsch)]
 +
 
 +
'''Book:'''
 +
*[https://exmediawiki.khm.de/exmediawiki/images/6/6d/Py-tutorial-de.pdf Das Python3.3-Tutorial (Deutsch)]
 +
 
 +
'''Videotutorial:'''
 +
*[https://www.youtube.com/playlist?list=PLbd_WhypdBbAMyFfKgSj27JO7CEpuIcEK Videotutorial von »Coding is for girls« (Englisch)]
 +
 
 +
'''Hands-on Tutroial:'''
 +
*[https://hourofpython.trinket.io/a-visual-introduction-to-python#/welcome/an-hour-of-code an hour of Code - A Visual Introduction to Python]
  
 
----
 
----
 +
 
=Code Poetry=
 
=Code Poetry=
==about Code Poetry==
+
<big>siehe: [["...Sprache"]]</big>
* Seite zur Ausstellung "p0es1s. Digitale Poesie": http://www.p0es1s.net/p0es1s/intro_d.htm
+
==lineare Klassificodichte==
* code poetry on monoskop: https://monoskop.org/Code_poetry
+
Bitte Euer eigenes Klassificodicht hier eintragen: https://pad.freifunk.net/p/lineare-klassificodichte
* wohl eine der umfangreichsten Onlinedatabaes über Netzliteratur: https://netzliteratur.net
 
** Netzliteratur (Projekte): https://netzliteratur.net/netzliteratur_projekte_a.php
 
 
 
Veröffentlichungen von Florian Cramer:
 
* https://www.netzliteratur.net/cramer/poetische_kalkuele_und_phantasmen.pdf
 
* https://www.netzliteratur.net/cramer/wordsmadefleshpdf.pdf
 
 
 
==Python Poetry Example==
 
  
#that poem do nothing, but can be compile! =D
+
[[Category:Seminar]]
##http://code.activestate.com/recipes/576413-the-poem-in-python/
+
[[Category:KI]]
+
[[Category: Natural Language Processing]]
#!/usr/bin/env python
+
[[Category:Programmierung]]
#
+
[[Category:Python]]
########  The Poem  #########
+
[[Category:Logik]]
###############################
+
[[Category:Perzeptron]]
#            by              #
+
[[Category:Boolean]]
# Marcello Bontempo Salgueiro #
+
[[Category:WS2019-20]]
#  08/08/08 - 04:16 AM        #
 
###############################
 
def ining(the_poem):
 
the_poem='is love'
 
the_poem is True
 
but , have, some = 'sadness', 'passion', 'love'
 
the_poem and 'love' is True
 
class Ify:
 
is_=('the', 'only', 'way','to')
 
try:
 
felling='real love'
 
except:
 
you={'are':'a frozen'}
 
the_poem; return '%s'%'ome explanation'
 
everything=['is like','a poem']
 
for felling_it_go in the_poem:
 
writing, your= 'felling','your thoughts';  your_love and fly
 
return str('ing of happiness')
 
belive, this = 'is', 'True'
 
 
nothing='is';w=ining('!')
 
just='love.'
 

Aktuelle Version vom 31. Mai 2020, 14:02 Uhr

Seminar, 24.10.2019

Präsentationsfolie:
Firstpage.png


"Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt." (Wittgenstein)


Anaconda installed?

if installation == ready:
   print("Bravo! Lass uns unser Workaround einrichten")
else:
   print("Bitte nach folgender Anleitung jetzt tun: KI_Workaround_installieren")

KHM-Wolke

was bietet euch diese Cloud?:

  • Filesharing zwischen eigenen und den Lab-Rechnern
  • Eigene Cloud
  • Eigener Kalender, Passwortcontainer, Mindmaps etc.
  • Frontend für euren E-Mail Account

Link zu unserem Seminars-Filesharing-Ordner: Seminars-Cloud


Experimentelle Informatik - Kalender: https://wolke.khm.de/index.php/apps/calendar/p/n6a59z9AnKKnFgTz/exLabIII

Todo

bitte vollständiger Name + KHM-Mailadresse eintragen unter: https://pad.dyne.org/pad/#/2/pad/edit/dYjwTAf3tigv-6nOTw6vcsX2/

Anmeldeprozedere machen wir dann nächste Woche...


exMediawiki

jeder Studierende bekommt einen Useraccount, mit dem er editieren, dokumentieren, etc. kann + persönlicher Page. Eine kleine Einführung wie, dann nächste Woche...

Beispielseiten von Studierenden:


Das Perzeptron

02 01.png Knn3.pngPerc2.png

Der lineare Klassifikator

boolean

Boole veröffentlichte 1854 "An investigation into the Laws of Thought" (Eine Untersuchung der Gesetze des Denkens).


Der britische Mathematiker hat die Gesetze der Logik formuliert, nach denen Computer, Smartphones, Datenbanken und eben auch Internet-Suchmaschinen funktionieren. Die Boole'sche Algebra gilt als das Fundament der modernen Informationstechnologie.

das bool'sche Entscheidungsverfahren:

  • Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht.

Knn1.pngBoolsche-logikfunktion.pngLogicGatesWorking.png << Claude Shannon

Logik << Schlußfolgerungslehre, Denklehre:

  • In der Logik wird die Struktur von Argumenten im Hinblick auf ihre Gültigkeit untersucht, unabhängig vom Inhalt der Aussagen.


formalisierte Logik:

  • „Formale Logik“ bezeichnet eine Notation von Schlüssen mittels einer formalen Sprache, die oftmals spezielle Symbole einführt. Dabei wird üblicherweise genau angegeben, wie wohlgeformte Ausdrücke dieser Sprache gebildet werden (Syntax).



Dieser Datentyp repräsentiert Wahrheitswerte aus der Menge True und False. Wahrheitswerte kann man mit Operatoren verknüpfen.

Wahrheitstabelle

Wir erlauben nur, dass die Eingabeneuronen binär aktiviert sein dürfen, sprich: es werden nur Aktivierungen von 1 oder 0 zugelassen.

Wir werden in diesem Semester Christian Lindner aktiv unterstützen und erstmal einen Klassifikator trainieren, der uns sagen wird, ob vor mir ein "EKI" in des Bäckers Schlange steht?

Dazu haben wir eine Merkmalsliste erstellt und fragen uns daraufhin, beispielsweise ob Die Person vor uns 1. männlich ist und zweitens eine Geldscheinklammer aus der Hosentasche zieht zum bezahlen eines 80 cent Betrages?

Wir nennen hierbei die beiden Spalten "X" und "Y" unsere Merkmale (engl. features), die wir als Eingabe verwenden, und "EKI" ist unser gesuchter Wert oder die gewünschte Ausgabe.

So gehen wir also einfach mal davon aus, dass wir eigentlich nicht so genau wissen, wie man einen EKI präzise definieren kann: wir haben uns nur diese 2 Merkmale (X und Y) zurechtgelegt um zum richtigen ergebnis zu kommen.

Später dann im Training werden wir auch wissen, was das erwartete bzw. richtige Ergebnis ist.

Danach wollen wir dann aber nur noch mit den Eingabe-Merkmalen zum Ziel kommen, ohne dass wir die Antwort schon im Voraus kennen. << Maschinelles Lernen

In der folgenden Tabelle sind logische Verknüpfungen zusammengefasst, wobei EKI und HGA in diesem Falle Bool'sche Variablen darstellen, die nur die Werte

  • 0 bzw. False

oder

  • 1 bzw. True

annehmen können:

Steht da ein Entwickler Künstlicher Intelligenz (EKI) vor mir in des Bäckers Schlange?
männlich Geldscheinklammer NOT AND OR XOR
False False True False False False
False True True False True True
True False False False True True
True True False True True False

Jupyter Notebook mit Tensorflow environement einrichten

see: KI_Workaround_installieren


erste Schritte mit Python

Python Code Onlione ausführen (ohne lokales Installieren eines Pythoninterpreters):

Variablen setzen

EKI = "Entwickler Künstlicher Intelligenz aus Indien"
HGA = "Höchstens geduldeter Ausländer"
EKI = 1
HGA = 0
Summe = EKI + HGA

Ausgaben mit print()

print(sum)
print("Hallo Welt")

Eingaben mit input()

Text:

input("is EKI in the house? type true for 1 or false for 0:")

Ganzzahl:

int(input("is EKI in the house? type 1 for true or 0 for false:"))

Fließkommazahl:

float(input("is EKI in the house? type 1.0 for true or 0.0 for false:"))

Kontrollstrukturen

if_Anweisung:

if EKI > 1:
     print("true")
else:
     print("false")

siehe auch: Übersicht von Vergleichsoperatoren

Kommentare

Einzeiliges Kommentar

# mit dem Hashtag zu Beginn einer Zeile wird auskommentiert

mehrzeilige Kommentare:

"""In 3 Anführungszeichen
können mehrzeilige Kommentare (__doc__strings)
verfasst werden"""

Python Tutorials

Onlinetutorial:

Book:

Videotutorial:

Hands-on Tutroial:


Code Poetry

siehe: "...Sprache"

lineare Klassificodichte

Bitte Euer eigenes Klassificodicht hier eintragen: https://pad.freifunk.net/p/lineare-klassificodichte