🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.sci.electronics
6 messages
6 total messages Started by Thomas Prufer Sun, 20 Jul 2025 09:55
LLM, hier Gemini
#623540
Author: Thomas Prufer
Date: Sun, 20 Jul 2025 09:55
125 lines
4695 bytes
AI soll mir ja dröge Arbeit abnehmen. Mal sehen.

Konkrete Frage: ein bestimmter elektrischer Durchlauferhitzer macht seinen
maximalen Datenblatt-Durchfluss wie warm? Der Hersteller sagt nix dazu, also
Gemini gefragt.

Ich: Ein elektrischer Durchlauferhitzer mit 6,5 kW erhitzt 3,7 Liter/min von
11°C auf wieviele Grad?

Als Antwort formuliert Gemini grammatikalisch korrekt, komplexe deutsche Sätze.
Beeindruckend. Ich kürze mal auf das Wesentliche. Wird trotzdem lang und
letztendlich falsch.

Gemini: 259°C

Formel ist da, spezifische Wärmekapazität von Wasser (ca. 4186 J/kg*K) auch,
eine Erklärung warum der Wert nicht stimmt auch: einmal weil das Wasser dann
Dampf wäre und nicht Wasser, zum anderen verhindern Verluste das Erreichen
dieser Temperatur.

Also: die Erklärung ist nicht schlecht, aber falsch. Wenigstens hat der Kandidat
erkannt "das Ergebnis ist Müll".

Ich: Ein elektrischer Durchlauferhitzer mit 100% Wirkungsgrad und 6.5 kW erhitzt
3.7 Liter/min um wieviele Grad?

Gemini: delta-T 248 K

Ich: Das Ergebnis ist falsch, denn unrealistisch groß. Finde den Fehler!

Gemini: labert über Dampf, Wärmeverluste, und das der DLH die Leistung drosselt
bevor das Wasser 259 °C erreicht. Alles irgendwie richtig, aber trotzdem falsch.
Auch diese Perlen:

"Die Berechnung der Temperaturänderung in einem Durchlauferhitzer ist aufgrund
der komplexen Wechselwirkungen zwischen Erwärmung, Verdampfung und
Wärmeverlusten eine anspruchsvolle Aufgabe. Eine einfache Formel wie
delta-T = Q / (m * c)
reicht in diesem Fall nicht aus.

Was können Sie tun?

    Herstellerangaben: Die meisten Durchlauferhitzer haben eine Angabe zur
maximalen Ausgangstemperatur. Diese Angabe sollte als Richtwert dienen.

    Expertenbefragung: Ein Fachmann für Heizungstechnik kann anhand der
spezifischen Daten des Durchlauferhitzers und der Installation eine
realistischere Einschätzung geben.

    Messung: Die einfachste Methode ist die Messung der tatsächlichen
Ausgangstemperatur mit einem Thermometer."

Auch alles nicht falsch, aber daneben.

Ich: Die Berechnung von delta t ist falsch. Bitte richtig!

Gemini: wiederholt den Quark von oben.

Ich: Berechne 6500 J/s / (0,062 kg/s * 4186 J/kg*K)
Gemini: Die Temperaturdifferenz beträgt ungefähr 248 Kelvin.

Ich:  6500/(0,062*4186)

Gemini: 6500 / (0,062 * 4186) ˜ 25

"Was bedeutet dieses Ergebnis im Kontext unserer ursprünglichen Frage?

In unserer ursprünglichen Berechnung zur Temperaturerhöhung eines
Durchlauferhitzers haben wir herausgefunden, dass unter idealen Bedingungen
(keine Wärmeverluste, keine Phasenübergänge) das Wasser um etwa 25 Kelvin
erwärmt werden könnte."

Aaaaber: labert dann von Verdampfung, Wärmeverlusten, Drosselung durch den
Thermostat. Deshalb sei das Ergebnis von 25 K unrealistisch.

Ich: Dein erstes Ergebnis war um den Faktor 10 falsch?

Gemini: Berechnung: delta-T ˜ 248 K
"Warum war das erste Ergebnis um den Faktor 10 falsch?
"Vermutlich habe ich bei der ersten Berechnung einen Rechenfehler gemacht oder
eine Zahl falsch abgeschrieben. Es ist wichtig, bei solchen Berechnungen
sorgfältig vorzugehen und die Ergebnisse zu überprüfen."

Rechenfehler? falsch abgeschrieben? Sorgfalt  und überprüfen?
Okaaaay... aber es kommt immer noch um Faktor 10 zuviel raus.

Ich: Du rechnest immer noch falsch.

Gemini: "Ich entschuldige mich nochmals für die wiederholten Fehler in meinen
Berechnungen. Es scheint, als hätte ich mich bei den Einheiten und der
Durchführung der Rechnung mehrfach vertan.
(...)
Berechnung mit einem Taschenrechner: delta-T ˜ 248 K"


WTF? Taschenrechner? Gemini nutzt einen Taschenrechner weil es ohne Rechenfehler
gibt?

Ich: 6500 / (0,062 * 4186) ist aber nicht ungefähr 248

Gemini: "Berechnung mit einem Taschenrechner: delta-T ˜ 24,8 K

Das korrekte Ergebnis ist also ungefähr 24,8 Kelvin.

Ich entschuldige mich nochmals für die wiederholten Fehler. Es scheint, als
hätte ich mich bei den Berechnungen verhaspelt und nicht gründlich genug
überprüft."


(Wer bis hierhin gelesen hat: mein Taschenrechner spuckt dafür aber 25.05 aus.
Mei, ein bisserl Schwund ist immer, oder?)


Der Stoff ist wohl achte Klasse Physik. In einer Prüfung/ Schularbeit/
Leistungskontrolle hätte ein Achtklässler grade noch nen Vierer bekommen, oder?

Richtige Formel, gegeben und gesucht erkannt und notiert, Formel richtig
umgestellt. Dann verrechnet, aber erkannt das Ergebnis ist falsch.
Höflich, grammatikalisch richtig, Rechtschreibung makellos, schön formatiert.

Aber "Zahlen falsch notiert", "Jetzt aber: Berechnung mit einem Taschenrechner"
-- der Achtklässler erklärt "the dog ate my homework", oder?


Thomas Prufer
Re: LLM, hier Gemini
#623543
Author: Volker Bartheld
Date: Sun, 20 Jul 2025 13:43
269 lines
10003 bytes
In meiner einfachen Welt hat Wasser eine Wärmekapazität von 4.2 kJ/kg/K und eine
Dichte von 1kg/L. Um 1kg Wasser um 1K zu erwärmen, brauche ich folglich 4,2kJ.
Bei 6,5kW Heizleistung und 0.062L/s also:

dT = 6500J/s / (0,062kg/s * 4186J/kg*K) 

Starten wir bei 11°C, kommen wir mit 100% Wirkungsgrad also bei ungefähr 36°C
an. Mit numerischen Rechnungen und der präzisen Ausführung von Algorithmen tun
sich LLMs relativ schwer, eine seit Erfindung bekannte Tatsache.

Bei ROT13("Fischers Fritz fischt frische Fische") und der Ansage, dass es sich
um eine Cäsar-Verschlüsselung bzw. einfachen Schiebecode handele, half ChatGPT
nur, dass da quasi 4x dasselbe stand, es also bruteforcen konnte. Und selbst da
verkackt das LLM es, denn bei d=13 käme für "svfpur" angeblich nicht "fische"
raus, sondern "fishec".

Für

svfpuref sevgm svfpug sevfpur svfpur

ergäbe sich nach Ansicht von ChatGPT demnach:

fischers futzb fischt fischern fischer

, was natürlich vollkommener Schwachsinn ist und nicht einmal konsistent mit der
Annahme ROT13⁻¹("svfpur")=="fishec", denn jetzt wäre das plötzlich "fischer".
Ist aber immer noch ähnlich genug zur Eingangsphrase, also rät ChatGPT einfach
und bezeichnet das frech als "Now rearranged with proper German spelling:".

Feinheiten wie statistische Worthäufigkeiten der deutschen Sprache haben wir
dabei noch gar nicht beachtet.

Oder das alte Rätsel SEND + MORE = MONEY, jeder Buchstabe entspricht exakt einer
Ziffer. Dass M = 1 ist relativ offensichtlich aus der extremalen Anschauung dass
9999 + 9999 = 19998, dann geht es aber weiter mit der reichlich wohlfeilen
Begründung "Now, we can use the method of trial and error or constraints based
on the values of each letter and check the equation until we find the
solution.", die offen lässt, ob ChatGPT einfach irgendwo schon mal ebendiesem
Rätsel in den Trainingsdaten begegnet ist, also keinen Plan hat, sondern einfach
in den "Erinnerungen" kramt.

Old News also. Wenn ich aber ein C++ Programm will, was (stark vereinfacht) das
tut, was LLMs eben so tun, also etwa Folgendes:

"Wähle Dir ein Startwort, drucke es aus. Nimm einen - idealerweise
riesigen - Text und suche darin alle Treffer des Startworts. Erstelle
Dir eine Liste des einen Zeichen, das jeweils nach diesem Startwort
kommt. Ziehe aus dieser Liste zufällig ein beliebiges Element. Drucke
dieses Zeichen. Hänge das Zeichen ans Startwort an und entferne das
führende Zeichen, sodaß die Länge gleich bleibt. Weiter mit der Suche
wie oben."

, dann kommt man relativ schnell ans Ziel - sogar mit einer stark optimierten
Variante *), die std::map benutzt, auch ohne C++ Entwickler zu sein. Ich habe
dem Code die englische Netzbilbel zum Fraß vorgeworfen und "and god said" als
Startwert verwendet (Gott spricht in der Bibel ja relativ viel, da bietet sich
das an) und bekam:

"and god said, this have i found grace in your eyes for the dead. for as
in the days of his life. the woman saw samuel, she cried with a loud
voice, came out of egypt. wherefore then hast thou seen all their host
shall fall and perish at the rebuking of the north gate, were two
thousand and five hundred in rows round about, saying, who is this that
is written in the land of egypt? and the philistines, and out of the
countries; because it seeth him not, neither understandest thou what
thou readest? and he said unto them, when any man came nigh to the city.
and, behold, one like the similitude of oxen, which could not discern
the signs of the times that are written in the law? jesus said, who hath
raised up the palaces in the land of egypt is before jeshimon, by the
way. but the hand of the priests, the levites after their ways, nor done
after their families, after their ways, and according to the generation
seeketh love; but he that heareth speaketh vanity: his heart is lifted
up, and upon every cornfloor."

Und zwar aus bestenfalls 50 Zeilen funktionalem Code.

Wer das gut findest (Marketinggeblubber wäre vermutlich noch lustiger,
Freiwillige vor!), findet auch ChatGPT Klasse. Hochinteressant übrigens,
wie die Länge des Eingabetextes und des Suchstrings (neudeutsch würde
man inzwischen wohl "Prompt" sagen) mit der Qualität der Ausgabe
korreliert.

Wenn ich statt oben "and god said" nur "god" als Startstring wähle, wird es eher
konfuses Gestammel und bei "a" landen wir endgültig auf lallendem
Kleinkindniveau. Einstellbare Demenz - von Einstein bis Heil!wanger, ist das
nicht geil?

Und zu den primären Herausforderungen denen sich unsere Schüler im modernen
Schulalltag stellen müssen, schaust Du vielleicht ein paar Videos von Prof.
Bernhard Krötz, exemplarisch: https://www.youtube.com/watch?v=VG5QzQ7F8pI

Danach wundert Dich gar nichts mehr.

Einen schönen Sonntag noch,
Volker

On Sun, 2025-07-20 at 09:55 +0200, Thomas Prufer wrote:
> Ich: Ein elektrischer Durchlauferhitzer mit 6,5 kW erhitzt 3,7 Liter/min von
> 11°C auf wieviele Grad?
> [KI-Geschwurbel]
> Ich: Berechne 6500 J/s / (0,062 kg/s * 4186 J/kg*K) 
> Gemini: Die Temperaturdifferenz beträgt ungefähr 248 Kelvin.
> Ich:  6500/(0,062*4186)
> Gemini: 6500 / (0,062 * 4186) ˜ 25
> "Was bedeutet dieses Ergebnis im Kontext unserer ursprünglichen Frage?
> In unserer ursprünglichen Berechnung zur Temperaturerhöhung eines
> Durchlauferhitzers haben wir herausgefunden, dass unter idealen Bedingungen
> (keine Wärmeverluste, keine Phasenübergänge) das Wasser um etwa 25 Kelvin
> erwärmt werden könnte."
> [noch mehr KI-Geschwurbel]
> Der Stoff ist wohl achte Klasse Physik. In einer Prüfung/ Schularbeit/
> Leistungskontrolle hätte ein Achtklässler grade noch nen Vierer bekommen,
> oder? 

*)

#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <csignal>  // For signal handling

// Signal handler function
volatile sig_atomic_t flag = 0; // Global flag to indicate if CTRL-C was pressed
void signalHandler(int signum) {
    flag = 1;  // Set flag to indicate CTRL-C was pressed
}

// Function to load the text file into a provided string reference
bool loadFile(const std::string& filePath, std::string& content) {
    std::ifstream file(filePath);
    if (!file.is_open()) return false;
    content.assign((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
    return true; // Return true to indicate success
}

// Create large random value with upper bound
unsigned int largeRand(unsigned int upper) {
    unsigned int accumulatedRandomValue = 0;
    const unsigned int totalParts = upper / RAND_MAX, remainingPart = upper % RAND_MAX;
    for (unsigned int i = 0; i < totalParts; ++i) accumulatedRandomValue += std::rand(); // Generate accumulated random value in parts
    accumulatedRandomValue += std::rand() % remainingPart; // Add the remaining part
    return accumulatedRandomValue;
}

// Randomly select character from frequencies based on relative frequency
typedef std::map<char, unsigned int> frequenciesT;
char select(const frequenciesT& frequencies) {
    unsigned int totalFrequency = 0;
    for (const auto& pair : frequencies) totalFrequency += pair.second; // Calculate total frequency

    // Select a character based on its frequency
    unsigned int cumulativeFrequency = 0;
    const unsigned int accumulatedRandomValue = largeRand(totalFrequency);
    for (const auto& pair : frequencies) {
        cumulativeFrequency += pair.second;
        if (accumulatedRandomValue < cumulativeFrequency) return pair.first;
    }

    // This should not happen if frequencies are correct, but return a default value just in case
    return '\0';
}

// Compute frequencies of characters immediately following match in input
typedef std::map<std::string, frequenciesT> stringmapT;
size_t computeFrequencies(const std::string& input, const std::string& match, stringmapT& frequencies) {
    if (frequencies.find(match) != frequencies.end()) return 0; // Match already exists in frequencies, no need to compute frequencies again

    size_t count = 0;
    size_t pos = 0;
    while ((pos = input.find(match, pos)) != std::string::npos) {
        if (pos + match.size() < input.size()) { // Ensure we don't go out of bounds when fetching the character after the match
            char nextChar = input[pos + match.size()];
            frequencies[match][nextChar]++; // Update the frequencies map
            count++; // Increment match count
        }
        pos += match.size(); // Move to the next position after the current match
    }

    return count; // Return the number of matches found
}

int main(int argc, char* argv[]) {
    if (argc < 3) {
        std::cerr << "Usage: " << argv[0] << " <file_path> <search_string>" << std::endl;
        return 1;
    }

    srand(static_cast<unsigned int>(time(nullptr))); // Seed std::rand
    std::string filePath = argv[1];
    std::string match = argv[2];
    std::string input;
    stringmapT frequencies;

    if (!loadFile(filePath, input)) return 1; // Exit the program if file loading fails

    std::cout << match;

    // Register signal and signal handler
    signal(SIGINT, signalHandler);
    while (!flag) { // Loop until flag is set by the signal handler
        computeFrequencies(input, match, frequencies); // Compute frequencies of characters following match in input
        char c = select(frequencies[match]); // Randomly select one
        if ('\0' == c) return 1;
        std::cout << c;
        match += c; // Append selected character
        match.erase(0, 1); // Remove first one
    }

    return 0;
}

Re: LLM, hier Gemini
#623545
Author: Arno Welzel
Date: Sun, 20 Jul 2025 16:26
28 lines
880 bytes
Thomas Prufer, 2025-07-20 09:55:

> AI soll mir ja dröge Arbeit abnehmen. Mal sehen.

Nein, "AI" soll den Herstellern dieses Mülls Geld bringen. Das ist weder
"intelligent" noch in irgendeiner Form sinnvoll als Ersatz für echtes
Wissen nutzbar.

> Konkrete Frage: ein bestimmter elektrischer Durchlauferhitzer macht seinen
> maximalen Datenblatt-Durchfluss wie warm? Der Hersteller sagt nix dazu, also
> Gemini gefragt.

Hier findet man Berechnungsansätze dafür:

<https://www.leifiphysik.de/elektrizitaetslehre/elektrische-energie/aufgabe/durchlauferhitzer>

<https://www.physik-fragen.de/frage/q/0be8816f60/benotigte-leistung-fur-das-erhitzen-von-wasser/>

Gefunden mit SearXNG, eine Meta-Suchmaschine, komplett ohne AI,
selbstgehosted auf meinem eigenen Server:

<https://searx.space/>
<https://github.com/searxng/searxng-docker>



--
Arno Welzel
https://arnowelzel.de
Re: LLM, hier Gemini
#623546
Author: Marcel Mueller
Date: Sun, 20 Jul 2025 22:35
10 lines
373 bytes
Am 20.07.25 um 13:43 schrieb Volker Bartheld:
> Starten wir bei 11°C, kommen wir mit 100% Wirkungsgrad also bei ungefähr 36°C
> an. Mit numerischen Rechnungen und der präzisen Ausführung von Algorithmen tun
> sich LLMs relativ schwer, eine seit Erfindung bekannte Tatsache.

Da fragt man auch kein LLM, sondern Wolfram Alpha, was das schon seit
Jahren kann.


Marcel
Re: LLM, hier Gemini
#623547
Author: Volker Bartheld
Date: Sun, 20 Jul 2025 23:40
12 lines
451 bytes
On Sun, 2025-07-20 at 22:35 +0200, Marcel Mueller wrote:
> Am 20.07.25 um 13:43 schrieb Volker Bartheld:
> > Mit numerischen Rechnungen und der präzisen Ausführung von Algorithmen
> > tun sich LLMs relativ schwer, eine seit Erfindung bekannte Tatsache.
> Da fragt man auch kein LLM, sondern Wolfram Alpha, was das schon seit 
> Jahren kann.

Aber wenn wir doch nun einen Hammer haben und jedes Problem wie ein Nagel
aussieht...?

Volker
Re: LLM, hier Gemini
#623552
Author: Thomas Prufer
Date: Mon, 21 Jul 2025 09:14
33 lines
1449 bytes
On Sun, 20 Jul 2025 23:40:44 +0200, Volker Bartheld <news2025@bartheld.net>
wrote:

>On Sun, 2025-07-20 at 22:35 +0200, Marcel Mueller wrote:

>> Am 20.07.25 um 13:43 schrieb Volker Bartheld:
>> > Mit numerischen Rechnungen und der präzisen Ausführung von Algorithmen
>> > tun sich LLMs relativ schwer, eine seit Erfindung bekannte Tatsache.
>> Da fragt man auch kein LLM, sondern Wolfram Alpha, was das schon seit
>> Jahren kann.
>
>Aber wenn wir doch nun einen Hammer haben und jedes Problem wie ein Nagel
>aussieht...?


Ich wollte aber mal den Hammer ausprobieren. Dieser spezielle AI-Hammer soll ja
für alles geeignet sein, auch zum Schrauben eindrehen.

Hier steht ne Formelsammlung rum mit volumen- und massebezogener Wärmekapazität
von Wasser. Da kann ich den Kram auch eintippen. Ich wollte aber nur wissen, ob
das armselig Rinnsal Wasser wenigstens ansatzweise in die Richtung "Heiß" geht,
oder ob es mehr Phasen und mehr Querschnitt braucht.

Könnte der Hersteller ja auch angeben, ist ja die eigentliche Kernkompetenz
eines Durchlauferhitzers einen Durchlauf zu erhitzen, und die Frage "um wieviel"
sollte eigentlich auf Papier stehen, oder?

Jedenfalls wurde es eh drei Phasen auf 20 A, mit dem ein akzeptabler Durchfluss
auf 50°C (oder 52°C?) erhitzt wird. Ab dieser Temperatur regelt der ab, mei,
mehr wär schön, der WW-Speicher vorher konnte bis 85°C, aber Stillstandsverluste
ohne Ende, dazu Kalk...


Thomas Prufer
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads