(ad acta) Datenbankdarstellung für Mischkultur (Kleingarten)

Smalltalk
Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von Huo » 20.03.2023 10:02:53

hikaru hat geschrieben: ↑ zum Beitrag ↑
20.03.2023 09:17:51
(Möglicherweise) Nicht ganz ernstgemeinter Lösungsansatz: Debianpakete

Code: Alles auswählen

Package: erbsen
Suggests: karotten, fenchel

Package: karotten
Suggests: erbsen
Conflicts: fenchel

Package: fenchel
Suggests: erbsen
Conflicts: karotten
Dann schickt man aptitude über das Beet.
Köstlich! :lol:

Für alle, die statt aptitude lieber ihren Grips anstrengen: In der folgenden Tabelle sind für die Pflanzen 1 - 6 die verträglichen Paarungen mit "x" gekennzeichnet. Ein Gärtner möchte eine maximal große Mischkultur anlegen, in der jede Pflanze sich mit allen anderen verträgt. Wer kann ihm helfen? Hinweis: Falls ich nichts übersehen habe, gibt es nur eine Lösung.

- | 1 | 2 | 3 | 4 | 5 | 6 |
1 | - | x | x | - | x | - |
2 | x | - | x | x | - | x |
3 | x | x | - | x | - | x |
4 | - | x | x | - | x | x |
5 | x | - | - | x | - | - |
6 | - | x | x | x | - | - |

Benutzeravatar
TRex
Moderator
Beiträge: 8079
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von TRex » 20.03.2023 11:27:32

Da erwarte ich eigentlich eine Lösung mit awk von Meillo... aber danke für die Darstellung, die die Intention und Motivation vom TE nochmal schön darstellt 8)
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 20.03.2023 16:01:14

TRex hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 11:13:34
...Du könntest auch die Mischtabelle daraus erzeugen *duck und weg* :lol:
Da tust du gut daran!!! 8)
TRex hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 11:13:34
Sieht dann beispielsweise so aus: https://neo4j.com/developer/_images/gra ... xample.png
Ginge vllt. in die richtige Richtung, aber das wichtige, die relation der direkten NAchbarn untereinander ist ja der Punkt auf den es ankäme. Und das leistet zumindest das beispiel nicht.
TRex hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 11:13:34
tl;dr: Du brauchst hier nicht mehr Informationen erfassen als Paare von Pflanzen und ihre Relation,
Das beschreibt exakt den Startpunkt meines Anliegens und war Teil meines Ausgangspostings
TRex hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 11:13:34
alles weitere ist ne Aggregationsschicht auf diesen Daten (und du brauchst einen Startpunkt als Fragestellung, z.B. "was passt zu Pflanze A" - die Optimierung auf Beetgröße ist ein nachgelagertes Problem).
Ich freue mich dass hier zum Ausdruck kommt dass du meine Ausgangsfrage verstanden hast und sie hier in deinen Worten wiedergibst. Vielleicht regt das ja jemanden an darauf zu antworten soweit dies kompetent möglich ist. :mrgreen:
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 20.03.2023 16:02:44

Huo hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 23:26:38
dasebastian hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 22:02:31
Ich werf's nochmal ein, das ist ein Klassiker, hier ein Beispiel, nennt sich "Mischkulturtabelle".
Die von dir verlinkte Tabelle erscheint mir fragwürdig. ... Glaub mir, trotz Tabelle wird die Mama im Allgemeinen ob dieser Aufgabe leicht ins Schwitzen geraten.
Danke!!!
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 20.03.2023 16:11:10

curt123 hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 16:03:22
Bei den Pflanzen würde mich auch der Hintergrund interessieren, ob da verschiedene Eigenschaften (Bedarfe) zugeordnet werden können. Etwa pH-Wert des Bodens, Wassermenge, Nährstoffdichte, Feuchte der Erde, Licht o.ä... Sich ergänzende Stoffwechsel wären dann nochmal besonders interessant (störende ggf. natürlich auch), oder Konkurrenz trotz oder wegen Ähnlichkeiten, Wuchsgeschwindigkeit. Wenn es öfters Kombinationen gibt wie "A wächst gut im Halbschatten bei B, während B in der Sonne stehen sollte, evtl. noch Himmelrichtung berücksichtigen", bringt der Ansatz vielleicht nicht genug.
Ähm ... selbst wenn ich wollte was du hier beschreibst (und ich will es definitiv nicht) ist das Ausgangsproblem offensichtlich kompliziert genug. Es noch weiter zu verkomplizieren erscheint mir keine gute Lösunghsstrategie. Hier passe ich.

Vielleicht können da Beziehungen auch noch über Pfeilrichtungen oder Farben dargestellt werden.

Jaja, könnte mann alles. Ich will keinen Zeichenkurs sondern einmal Mühe aufwenden und zukünfig das Problem jedes Frühjahr auf knopfdruck variabel lösen können.
curt123 hat geschrieben: ↑ zum Beitrag ↑
18.03.2023 16:03:22
... Überschneidungen von Gruppen, sollte grundsätzlich auch per Algorithmus möglich sein.
Du meine Güte, die 100.000$ Frage hast du nun gestellt. Prima! Fleißkärtchen. :THX:
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

dasebastian
Beiträge: 1885
Registriert: 12.07.2020 11:21:17

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von dasebastian » 20.03.2023 16:14:59

michaa7 hat geschrieben: ↑ zum Beitrag ↑
20.03.2023 16:11:10
Jaja, könnte mann alles. Ich will keinen Zeichenkurs sondern einmal Mühe aufwenden und zukünfig das Problem jedes Frühjahr auf knopfdruck variabel lösen können.
Du weisst aber schon, dass einen gerade in diesem Bereich, das Tüfteln, Ausprobieren, selber mitdenken und Scheitern weiter bringt?

Jeder, wie er meint... :facepalm:

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von uname » 20.03.2023 16:50:08

Wie wäre ein Tupel-Ansatz. Hier mal aufgrund der Tabelle von oben die erlaubten Tupel (evtl. noch mal kontrollieren).
Da kann man doch bestimmt irgendwas draus programmieren, oder?

Code: Alles auswählen

(1,2)
(1,3)
(1,5)
(2,3)
(2,4)
(2,6)
(3,4)
(3,6)
(4,5)
(4,6)
Wenn ich es richtig sehe muss die Software nur (1,2,3,4,6) ausspucken.
Zuletzt geändert von uname am 20.03.2023 16:52:30, insgesamt 2-mal geändert.

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von Huo » 20.03.2023 16:51:40

Für Python gibt es das Modul Debianpython3-networkx. Es stellt u.a. die Funktion find_cliques zur Verfügung, die alle Cliquen innerhalb eines Graphen findet.

Damit habe ich zu meiner oben gestellten Knobelaufgabe (mit 6 Pflanzen) spaßeshalber ein kleines Pythonprogramm geschrieben, das die möglichen Cliquen, sprich: Mischkulturen ausgibt:

Code: Alles auswählen

# Python3-Programm zur Ermittlung von "Mischkulturen"
# benötigt networkx (Debian-Paket python3-networkx)

import networkx as nx

# Verträgliche Pflanzenpaare
pairs = [(1,2), (1,3), (1,5), (2,3), (2,4), (2,6), (3,4), (3,6), (4,5), (4,6)]

# Erzeugung des Graphen
G = nx.Graph()
G.add_edges_from(pairs)

# Liste der Mischkulturen
mischkulturen = list(nx.find_cliques(G))
sorted_mischkulturen = [sorted(sublist) for sublist in mischkulturen]

# Ausgabe der Mischkulturen (sortiert nach Größe)
print(sorted(sorted_mischkulturen, key=len))
Die Ausgabe des Programms:

Code: Alles auswählen

$ python mischkultur6.py
[[1, 5], [4, 5], [1, 2, 3], [2, 3, 4, 6]]
Die maximal mögliche Mischkultur besteht also aus den vier Pflanzen 2, 3, 4 und 6. :wink:
Zuletzt geändert von Huo am 20.03.2023 17:01:39, insgesamt 1-mal geändert.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 20.03.2023 16:57:38

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.03.2023 08:13:51
Ich finde auch, dass das eine wunderbare Aufgabe ist, um Software einzusetzen,...
Freut mich.
Meillo hat geschrieben: ↑ zum Beitrag ↑
19.03.2023 08:13:51
... Den groessten Problempunkt sehe ich in der Wahl der Tabellenkalkulation,
Das ist keine Bedingung, nur ein naiver Vorschlag weil ich nicht weiß sie sonst ...

Aufgabe: Ich gebe in eine Tabelle (oder wie auch immer) die Zweierbeziehungen ein ( da darf sich jeder vorstellen was er will, der eine "Tom mag Ute", "Tom mag Uwe", "Ute hasst Uwe", der andere "Tomate mag Petersilie", "Tomate mag Koriander", "Koriander will nicht mit Petersilie".

Es existiert eine Auswertungscode der ausgehend von einer gewählten (Haupt-) Pflanze deren gute Nachbarn listet SOWIE deren (Un-) Verträglichkeit untereinander. Es soll dann eine einfache Möglichkeit geben gezielt einen oder mehrere Streithansel zu eliminieren um zu einem möglichst konfliktfreien Anbau (bzw zusammenleben im anderen Fall) zu kommen.
Meillo hat geschrieben: ↑ zum Beitrag ↑
19.03.2023 08:13:51
Aus meiner Sicht ist die Frage der Berechnung wichtiger als die Frage des Formats der Datenbasis (weil ich derzeit nicht sehe, dass eine Form der Datenspeicherung grosse Vorteile gegenueber einer anderen haette).
Meine Erwähnung von LO und CALC war ein Beispiel von dem ich dachte dass es brauchbar wäre. Aber, jede Lösung ist mir recht solange der Aufwand begrenzt ist. Eine Datenbank füttern und mir *gezielt* auf Basis von fachlich kompetetem Hinweis bestimmte formeln in LO anschauen kann ich, awk lernen dafür kann ich nicht, da bräuchte es einen sehr problemverliebten awk-Enthusiasten der garade nichts besseres zu tun hat ...
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 20.03.2023 17:08:08

hikaru hat geschrieben: ↑ zum Beitrag ↑
20.03.2023 09:17:51
(Möglicherweise) Nicht ganz ernstgemeinter Lösungsansatz: Debianpakete

Code: Alles auswählen

Package: erbsen
Suggests: karotten, fenchel

Package: karotten
Suggests: erbsen
Conflicts: fenchel

Package: fenchel
Suggests: erbsen
Conflicts: karotten
Dann schickt man aptitude über das Beet.
Ich find es gar nicht soooo schlecht, das Wort "Tabelle" kommt nicht vor, extra Pluspunkte dafür und der gedankliche Ansatz zeigt dass das Problem grundsätzlich richtig erfasst wurde. ... und ich überlege einen Wishbug an die aptitude Entwickler zu schicken der "aptitude loves tomate" umsetzt, und um eine Ausschlußoption ergänzt: "aptitude loves tomate --exclude Koriander,<nochwas>,<nochwasanderes>"

Und jeder der gedanklich versucht das mit awk (oder was auch immer) umzusetzen hat zumindest das Problem verstanden. Wer mir den fertigen Code posted bekommt im Sommer ein Foto einer Tomate ...

...und das ist ernst gemeint :)
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 21.03.2023 00:37:43

Für alle die nicht endgültig abgeschreckt wurden noch mal der Versuch

***meine***

Frage in den Mittelpunkt zu stellen:

Wer kann gut mit "X" UND wer von denen kann mit irgendjemand von denen nicht.

Zeige mir beides, und Stelle eine simple Option bereit, den oder die Streithansl aus der Frage auszuschließen.

Das ist meine Frage, nichts anderes. Jeder der das Problem anders lösen wollte soll das tun, aber nicht hier.

Und was ich zu dem Scherzposting von hikaru mit der "aptitude"-Lösung gesagt habe ist vollkommen ernst gemeint: Wenn mir jemand erklärt wie eine Datei, Tabelle, DB, <wasauchimmer> aufgebaut sein muss damit welches (Kommandozeilen-?) Programm mir eine Ausgabe liefert wie im Ausgangspoting dargestellt dann ist das für mich eine Lösung.

Und als Pseudocode bekomme ich das vielleicht sogar hin.

Gegeben eine Textdatei, welche die die Beziehung der Elemente darstellt. Diese ist wechselseitig entweder gut (+) oder schlecht (-).

beziehung.txt

Code: Alles auswählen

A,B,+
C,D,+
E,F, +
B,C,-
D,F,-
H,j,+
...
...
...
Z,K,-
A,B,C,...... repräsentieren (Planzen-) Namen. Man kann von 50-100 Namen ausgehen, wobei jeder Name zu 3-10 anderen Namen gute, und zu 2-5 schlechte Beziehungen haben. [1]

Gesucht ist ein Programm / eine Funktion / ein Script welches nach dem Muster "Programm Name" die Datei
beziehung.txt zeilenweise durchgeht und alle Zeilen ausgibt (in eine temp-Datei "Name+.txt" schreibt), die "Name" und "+" enthalten (und in eine Datei "Name-.txt" auch alle Zeilen ausgibt die "Name" und "-" enthalten).

Das ist aber nur das erste Zwischnergebnis.

Im nächsten Schritt ginge das Progamm die Datei "Name+.txt" durch, bildet alle möglichen Paare und vergleicht mit beziehung.txt ob und bei welche Paaren ein "-" angegeben ist. Wird ein solches Paar gefunden werden die jeweiligen Einzeleinträge in "Name+.txt" gelöscht (die stehen da ja zeilenweise oder getrennt durch Komma) und durch "Name1,Name2,-" in Name+Ergebnis.txt ersetzt und am Bildschirm ausgegeben.

Wenn es mehrere solche Einträge gibt möchte man gerne einzelne Elemente (Namen) ausschließen. Also gibt man ein:
"Programm Name --excl Name1,<ggf.nocheinen>"
Und der Prozess läuft nochmals durch unter Ausschluß der Paarung "Name,Name1,+" in "beziehung.txt

Das sind logische Schritte die sich irgendwie mit dieser "Computer" genannten Kiste abarbeiten lassen können müssen. :mrgreen:

Ob es in LO irgendeine Funktion gibt die aus Tabelle1, oder DB1 den Kram sucht und in temp1 im ersten Schritt verarbeitet in in das temp-Tabellenblatt Temp1+ schreibt und damit eine andere Funktion den oben beschriebenen Quark zusammensucht *weiß ich nicht*. Ob das jemand scriptet oder mit awk was bastelt und einfach aus lust und LAune postet (ich habe 0,0 Script oder awk Kenntnisse) ... natürlich wäre das schön.

LO habe ich einzig aus dem Grund angeführt weil es das einzige ist mit dem ich mir (vllt) vorstellen könnte etwas sinnvolles anzufangen. Ganz naiv hatte ich gehofft dass es jemanden gibt der mir sagt: Die Beziehungs DB baust du am besten so und so auf (dann wäre das Ausgangsmaterial als solide Basis vorhanden) und dann schau mal die und die Funktion in Calc an, damit kann man rekursiv, iterativ, xyz-iv das Problem lösen.

Mir ist das jetzt völlig wurscht ob andere meinen ist sollte mir eine der (Mischkultur-) Tabellen im Netz anschauen. Nur weil ihr gestern zum erstem mal gelesen habt was ich seit mehr als 10 Jahren durchblättere (und JA, das führt zu einem brauchbaren Ergebnis) heißt das eben nicht dass es das ist was ich auch zukünftig machen will.

Mitgedacht haben meiner ansicht nach:
Huo, uname, TRex, hikaru, curt123, Meillo,

Die anderen dürfen mir bei anderer Gelegenheit gerne weiterhelfen aber hier habt ihr frei ...



[1] Hier sehe ich jetzt allerdings möglicherweise Bedarf von Gruppenbildung um ein Ausufern der "+" und "-" Beziehungen pro Pflanze *in Einzelfällen zu verhindern. Vermutlich läßt sich das aber verhindern wenn man einzelne Gruppen einfach als Namen ansieht (Pflanze X verträgt sich mit keinem (K)ohl, "K" repäsentiert dann eine Gruppe, aber es reicht dann wohl der DB Eintrag "X,K,-"


(Uneindeutige Angaben aus dem Netz zu Pflanzen bitte ich nicht hier zu diskutieren.)
Wem Pflanzen zu blöd, und Huo's Geburtsagsbeispiel zu ... ist kann von duzenden Startreck Völkern, Rassen, Lebensformen phantasieren die eine Allianz bilden sollen. Dann muss man dann halt zu der aus der Serie bekanten noch mehrerer Dutzend dazu erfinden damit das ausreichend komplex wird)
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 21.03.2023 01:20:04

Huo hat geschrieben: ↑ zum Beitrag ↑
20.03.2023 16:51:40
...
...
Die maximal mögliche Mischkultur besteht also aus den vier Pflanzen 2, 3, 4 und 6. :wink:
So nett deine Bemühung ist, das Kernproblem hast du vergessen: Es gibt gute (+) UND schlechte (-) Beziehungen, nicht nur bei Menschen, auch bei Pflanzen.

Und die ganze Krux besteht ja in der Tatsache dass

A verträgt sich mit B, C, D und E nicht ausreicht, das ist tivial.

Es muß eine zweite Runde gedreht werden mit der Frage: wer aus B, C, D, und E hat untereinander eine schlechte Beziehung. Und die sollen gesondert angezeigt werden.

Deine Ausgangsdaten sind ja nur das halbe Info und somit gar kein Problem.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von uname » 21.03.2023 07:42:03

Eigentlich wollte ich es ja nicht schreiben. Jetzt mache ich es doch. Zu meinen Zeiten hätten man das akademisch mit der Programmiersprache Prolog gelöst. Gefühlt eine Art ChatGPT der 1990er-Jahre. ;-)

Hier mal eine kleine Einleitung. Das Dokument wiederum ist in LaTeX erstellt falls du auch auf der Suche nach einem ordentlichen Schriftsetzungssystem bist. Hat sich leider wie Prolog auch nicht durchgesetzt in der WYSIWYG-Welt. IT muss jeder können. Der akademische Gedanke wurde leider verworfen.

dasebastian
Beiträge: 1885
Registriert: 12.07.2020 11:21:17

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von dasebastian » 21.03.2023 08:34:45

michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 00:37:43
Mir ist das jetzt völlig wurscht ob andere meinen ist sollte mir eine der (Mischkultur-) Tabellen im Netz anschauen. Nur weil ihr gestern zum erstem mal gelesen habt was ich seit mehr als 10 Jahren durchblättere (und JA, das führt zu einem brauchbaren Ergebnis) heißt das eben nicht dass es das ist was ich auch zukünftig machen will.
Kann ich so nicht stehen lassen, sorry.

Weder habe ich gestern zum ersten mal gelesen, dass es Mischkulturtabellen gibt sondern arbeite - so wie du - schon sehr lange damit. Noch konnte ich wissen, dass du die kennst und schon damit gearbeitet hast, deshalb mein nachdrücklicher Hinweis darauf.

Für mich (!) hat Gärtnern ganz viel mit Begreifen zu tun, das sind Organismen, mit denen wir da arbeiten und das lässt sich schwer binär darstellen, da gibt es ja geradezu unendliche Einflussfaktoren. Von Boden, Niederschlag in der Region über Stark- bis Schwachzehrer fange ich jetzt gar nicht mal an...

Aber du hast deinen Standpunkt jetzt sehr klargemacht, wollte dir nicht zu nahe treten, sehe das Unterfangen einfach anders, kein Problem von meiner Seite, bin damit raus.

Peace.

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von Huo » 21.03.2023 09:21:09

michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 01:20:04
So nett deine Bemühung ist, das Kernproblem hast du vergessen: Es gibt gute (+) UND schlechte (-) Beziehungen, nicht nur bei Menschen, auch bei Pflanzen.

Und die ganze Krux besteht ja in der Tatsache dass A verträgt sich mit B, C, D und E nicht ausreicht, das ist tivial.

Es muß eine zweite Runde gedreht werden mit der Frage: wer aus B, C, D, und E hat untereinander eine schlechte Beziehung. Und die sollen gesondert angezeigt werden.

Deine Ausgangsdaten sind ja nur das halbe Info und somit gar kein Problem.
Als trivial empfinde ich die Berechnung meines Programms nicht. Es fehlen in der Ausgabe der maximalen Mischkultur [2, 3, 4, 6] eben deshalb die beiden Pflanzen 1 und 5, weil diese zu einigen der vier anderen keine positive Beziehung haben. Wenn man wissen will zu welchen, empfinde ich diese Frage als relativ trivial, da fehlende positive Beziehungen sich etwa aus der zugrundeliegenden Liste/Tabelle ersehen lassen (ließe sich aber sicher auch einprogrammieren).

Da ich bei der Verträglichkeit zwischen zwei Pflanzen von einer binären und symmetrischen Relation ausgehe, ist das Fehlen einer positiven Beziehung gleichbedeutend mit einer negativen Beziehung. Tatsächlich hilft mein Programm nicht weiter, wenn asymmetrische Beziehungen (A mag B, B aber nicht A) oder nicht-binäre Beziehungen (positiv, neutral, negativ) berücksichtigt werden sollen.

Ich habe inzwischen das Programm so flexibilisiert, dass die verträglichen Paar-Beziehungen nicht mehr fest im Programm kodiert sind, sondern aus einer csv-Datei eingelesen werden, die laufend gepflegt und ergänzt werden kann. Funktioniert auch mit Klartext statt Nummern. Dann erhalte ich als Ausgabe so was wie:

Code: Alles auswählen

$ python mischkultur.py
['Fenchel', 'Gurke']
['Fenchel', 'Lauch']
['Erbsen', 'Gurke', 'Tomate']
['Erbsen', 'Kohl', 'Lauch', 'Tomate']
Alle vier ausgespuckten Mischkulturen sind in dem Sinn maximal, dass sie um keine weitere Pflanze erweitert werden können, ohne dass negative (= nicht-positive) Beziehungen ins Spiel kommen. Die Ausgabe ist auch vollständig in dem Sinne, dass keine mögliche Mischkultur fehlt – außer solche, die trivialerweise aus den ausgegebenen durch Entfernen von Pflanzen entstehen.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 21.03.2023 09:56:31

Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 09:21:09
...
Als trivial empfinde ich die Berechnung meines Programms nicht. Es fehlen in der Ausgabe der maximalen Mischkultur [2, 3, 4, 6] eben deshalb die beiden Pflanzen 1 und 5, weil diese zu einigen der vier anderen keine positive Beziehung haben. Wenn man wissen will zu welchen, empfinde ich diese Frage als relativ trivial, da fehlende positive Beziehungen sich etwa aus der zugrundeliegenden Liste/Tabelle ersehen lassen (ließe sich aber sicher auch einprogrammieren).
Das war auch nicht gemeint. Ich meinte dass für diese Info wirklich jede Tabellendarstellung reicht oder alternativ sogar ich da irgendwas zusammenschustern könnte.
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 09:21:09
Da ich bei der Verträglichkeit zwischen zwei Pflanzen von einer binären und symmetrischen Relation ausgehe, ist das Fehlen einer positiven Beziehung gleichbedeutend mit einer negativen Beziehung.
Nein.

Symmetrisch: Ja, streng binär: Nein.
Wir betrachten hier gewollt nur die Spitze des Eisbergs oder die Extreme (Beziehung zwischen zwei Elementen (hier Pflanzen) wird als positiv oder negativ angesehen. ABER, jede Pflanze hat mit dem Großteil der anderen Pflanzen keine nennenswerten Wechselwirkungen).

In soweit ist meine Darstellung im Ausgangsposting realistisch und stellt das zu lösende Problem richtig dar.
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 09:21:09
Tatsächlich hilft mein Programm nicht weiter, wenn asymmetrische Beziehungen (A mag B, B aber nicht A) oder nicht-binäre Beziehungen (positiv, neutral, negativ) berücksichtigt werden sollen.
Wie gesagt, Asymmetrie gibt es nicht. Neutralität schon (und sie drückt sich in der Beziehungsdatenbank so aus, dass es für diese Pflanzenpaare weder eine positive noch eine negative Aussage gibt).
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 09:21:09
Ich habe inzwischen das Programm so flexibilisiert, dass die verträglichen Paar-Beziehungen nicht mehr fest im Programm kodiert sind, sondern aus einer csv-Datei eingelesen werden, die laufend gepflegt und ergänzt werden kann. Funktioniert auch mit Klartext statt Nummern.
Das ist super! Aber wie gesagt, wenn du alle nicht-positiven Paar-Beziehungen als negativ betrachtest geht das Ergebnis am Ziel vorbei. Die Berücksichtigung explizit negativer Paar-Beziehungen ist *nicht nur für meine Zwecke* zwingend (siehe dein Geburtstagsparty-Beispiel).

Danke.
Zuletzt geändert von michaa7 am 21.03.2023 10:13:37, insgesamt 2-mal geändert.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von uname » 21.03.2023 09:59:49

michaa7 hat geschrieben:Das ist super! Aber wie gesagt, wenn du alle nicht positiven Paar-Beziehungen als negativ betrachtest geht das Ergebnis am Zeil vorbei. Die Berücksichtigung explizit negativer Paar-Beziehungen ist *nicht nur für meine Zwecke* zwingend.
Ich habe das Programm nicht geschrieben. Aber kann man nicht alle Kombinationen entsprechend deiner Forderungen initialisieren oder die Software leicht anpassen?

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von Huo » 21.03.2023 10:17:18

michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 09:56:31
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 09:21:09
Da ich bei der Verträglichkeit zwischen zwei Pflanzen von einer binären und symmetrischen Relation ausgehe, ist das Fehlen einer positiven Beziehung gleichbedeutend mit einer negativen Beziehung.
Nein.
Symetrisch: Ja, streng binär: Nein.
Wir betrachten hier gewollt nur die Spitze des Eisbergs oder die Extreme (Beziehung zwischen zwei Elementen (hier Pflanzen) wird als positiv oder negativ angesehen. ABER, jede Pflanze hat mit dem Großteil der anderen Pflanzen keine nennenswerten Wechselwirkungen).

In soweit ist meine Darstellung im Ausgangsposting realistisch und stellt das zu lösende Problem richtig dar.
Eine nicht-binäre Sicht kommt der komplexen Wirklichkeit im Mischbeet ganz sicher näher als eine binäre.

Im Ausgangsposting hattest Du allerdings geschrieben:
Falls das ganze nicht nur binär (gut-schlecht, verträglich-unverträglich), sondern ternär (gut-neutral-schlecht, verträglich-neutral-unverträglich) machbar wäre würde ich mir das überlegen, aber ich wollte es einfach halten.
Dein "... aber ich wollte es einfach halten" hatte ich so verstanden, dass du mit einer binären Lösung zufrieden wärest. War wohl ein Missverständnis.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 21.03.2023 10:43:13

Sorry, ich hatte mir selbst nicht ausreichend klar gemacht dass eine Nicht-Aussage über ein Pflanzenpaar aus dem Gegensatz positiv-negativ etwas ternäres macht. Zudem hatte ich schon Listen die neben positiv und negativ explizit noch neutral auflisteten und mir gar nicht klar ist was der Unterschied zwischen neutral und nicht genannt sein soll. Dieses Szenario hatte ich vor Augen als ich von "es einfach halten wollen" geschrieben habe. Ich wollte keine explizite "Neutralität" berücksichtigen. Aber sie gibt es eben implizit ... weshalb die Beziehungen der Pflanzen untereinander nicht streng binär ist.

Da hast du recht.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von Huo » 21.03.2023 10:58:33

michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:43:13
Zudem hatte ich schon Listen die neben positiv und negativ explizit noch neutral auflisteten und mir gar nicht klar ist was der Unterschied zwischen neutral und nicht genannt sein soll.
Dann wären vielleicht vier Zustände angemessen? "Positiv" und "negativ" sind klar. Bei einer "neutralen" Beziehung üben die beiden Pflanzen keine nennenswerten Einflüsse aufeinander aus. "Nicht genannt" bedeutet, dass über Wechselwirkungen (noch) nichts bekannt ist; pflanzt man entsprechende zwei Pflanzen nebeneinander an, geht man ein Risiko ein, aber es könnte auch gut gehen ... 8)

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von shoening » 21.03.2023 11:19:41

Hi,
Ich suche Informatikersachverstand, der im beschriebenen Problem die Informatikabstrakion erkennt und mir erklärt
Ich werfe mal das Stichwort „Transitive Hülle“ ein.

Das was Du da beschreibst scheint sich gut als „Graph“ modellieren zu lassen - und dann kannst Du
Dein Problem über den Warschall Algorithmus lösen.

Viele Grüße
Stefan

(Graphentheorie ist zwar eher Mathematik - aber wenn es um die algorithmische Lösung geht, verschwimmen da sicherlich die Grenzen.)
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 21.03.2023 11:25:10

Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:58:33
michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:43:13
Zudem hatte ich schon Listen die neben positiv und negativ explizit noch neutral auflisteten und mir gar nicht klar ist was der Unterschied zwischen neutral und nicht genannt sein soll.
Dann wären vielleicht vier Zustände angemessen?

Nee :wink:
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:58:33
"Positiv" und "negativ" sind klar.
Und dabei soll es auch bleiben.
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:58:33
Bei einer "neutralen" Beziehung üben die beiden Pflanzen keine nennenswerten Einflüsse aufeinander aus.
Soweit ich für eine zukünftige Datenbankdatei auch Quellen verwenden sollte die explizit "neutral" verwenden würde ich die einfach unter "positiv" verbuchen ... ich will es wirklich einfach
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:58:33
"Nicht genannt" bedeutet, dass über Wechselwirkungen (noch) nichts bekannt ist; pflanzt man entsprechende zwei Pflanzen nebeneinander an, geht man ein Risiko ein, aber es könnte auch gut gehen ... 8)
Neee, gekleingärtnert wird schon lange genug, von immer möglichen neuen Erkenntnissen abgesehen kann man von gesichertem Wissen ausgehen.

In soweit, es gibt explizit gut/schlecht, und implizit (keine explizite Aussage) neutral. That's it. Und es interessiert: Welche guten und schlechten Partner hat eine bestimmte Pflanze und welche dieser Pflanzen haben Probleme miteinander. Und das alles will ich sehen. (Und optional wäre es dann eben schön Pflanen aus der Abfrage entferne zu können, da werde ich allerdings zum Spielhansel ;-) )

Wenn du an der Lösung Spaß hast und weiter helfen möchtest, sag mir doch wie eine (oder zwei, + und -) (in Zukunft immer erweiterbare) CVS Datei aufgebaut sein soll damit sie brauchbar ist. Dann fange ich damit an und man hätte ein Test Szenario was im Besten Fall langsam zu einer brauchbaren Anwendung mutiert. (Und klar, ggf. sollte das veröffentlicht werden, als OS-Script)
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von Huo » 21.03.2023 11:46:05

michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 11:25:10
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:58:33
Bei einer "neutralen" Beziehung üben die beiden Pflanzen keine nennenswerten Einflüsse aufeinander aus.
Soweit ich für eine zukünftige Datenbankdatei auch Quellen verwenden sollte die explizit "neutral" verwenden würde ich die einfach unter "positiv" verbuchen ... ich will es wirklich einfach
Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 10:58:33
"Nicht genannt" bedeutet, dass über Wechselwirkungen (noch) nichts bekannt ist; pflanzt man entsprechende zwei Pflanzen nebeneinander an, geht man ein Risiko ein, aber es könnte auch gut gehen ... 8)
Neee, gekleingärtnert wird schon lange genug, von immer möglichen neuen Erkenntnissen abgesehen kann man von gesichertem Wissen ausgehen.
Wenn du die neutralen Beziehungen den positiven zuschustern willst und zudem unentscheidbare ("nicht genannte") Beziehungen ausschließt, dann landest du doch wieder bei einer binären Sichtweise: die negativen Beziehungen sind die, die nicht positiv/neutral sind! :lol:

Benutzeravatar
GregorS
Beiträge: 2620
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von GregorS » 21.03.2023 11:50:09

Ich finde den Vorschlag, mehr Kriterien als + und - zu nehmen, gut. Neben „neutral“ könnte es IMO sogar eine vierte „Kategorie“ geben: „Nützlich“. Ich habe irgendwo mal aufgeschnappt, dass man mit Petersilie die Schnecken vom Salat fernhalten kann. Zudem: „Wenn schon, dann schon“ :-)
michaa7 hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 11:25:10
... sag mir doch wie eine (oder zwei, + und -) (in Zukunft immer erweiterbare) CVS Datei aufgebaut sein soll damit sie brauchbar ist. ...
Zum Beispiel so:

Code: Alles auswählen

Kürbis, Spargel, -
Kopfsalat, Petersilie, ++
Foo, Bar, o
Schlonz, Schmirk, +
HTH

Gregor

PS: Wie ist das eigentlich mit Fruchtfolgen? Spielen solche Gedanken auch in der Kleingärtnereiwissenschaft eine Rolle?
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Datenbankdarstellung für Mischkultur (Kleingarten)

Beitrag von michaa7 » 21.03.2023 13:47:53

Huo hat geschrieben: ↑ zum Beitrag ↑
21.03.2023 11:46:05
...
Wenn du die neutralen Beziehungen den positiven zuschustern willst und zudem unentscheidbare ("nicht genannte") Beziehungen ausschließt, dann landest du doch wieder bei einer binären Sichtweise: die negativen Beziehungen sind die, die nicht positiv/neutral sind! :lol:
Nein.

Ich rede hier nicht von den neutralen Pflanzen die neutral auf Grund der Nichterwähnung sind (Wir reden größenordnugnsmäßig von ca. 50 Pflanzen, können paar mehr oder weniger sein. Eine einzelne Pflanze hat (Bspl.) 5 gute Nachbarn und 2 schlechte Nachbarn laut Liste. Der Rest ist implizit neutral/unerwähnt/spielt-keine-Rolle.)

Unter "neutral" die ich unter "gut" einsortieren würde verstehe ich die Pflanzen, die in einigen wenigen Listen *explizit* "neutral" genannt werden, woanders tauchen sie möglicherweise einfach als guter Nachbar ... oder gar nicht auf. Die implizit neutralen, weil nicht genannten Pflanzen sind also nicht gemeint.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Antworten