LINUX.ORG.RU

ChatGPT

 


2

4

Люди, это конец человечества.

Эта штука имеет НАСТОЯЩИЙ РАЗУМ на уровне среднего студента.

Да, делает ошибки, но легко исправляется, если на них указать.

Я в реальном шоке. Тут вот на Хабре один человек написал:

===

ДлчНикакой «войны с ИИ» не может быть. Сейчас мы прошли этап искуственного идиота, и создали искуственного умника. Просто брутфорсом, больше связей и больше размеченных данных. Нейросетка все также не обучается в процессе разговора, все также не моделирует реальность. Или я упустил, и ей задавали вопросы типа «нарисуем круг желтого цвета диаметром 1, через центр круга проведем 4 отрезка желтого цвета длинной 2, середина каждого отрезка пусть совпадет с центром круга, угол пересечения отрезков пусть будет 45 градусов. Какой обьект нарисован, выдай все варианты.»

===

Прикол в том, что я задал ИИ именно этот вопрос и он легко справился. У меня нет доступа к Хабру, чтобы там ответить, но это просто жесть полная. Настала новая эпоха.

Или например, «напиши код, который рисует машину на языке Wolfram Mathematica». Написал код, который рисует микроавтобус.

★★★★★

Последнее исправление: Nxx (всего исправлений: 3)
Ответ на: комментарий от LINUX-ORG-RU

На Си вот такое выдало. Но программирует оно с ошибками:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_STRING_LENGTH 100

int main(int argc, char** argv) {
  char input_string[MAX_STRING_LENGTH];
  printf("Enter a string to compress using RLE: ");
  scanf("%s", input_string);

  int input_length = strlen(input_string);
  char current_char = input_string[0];
  int count = 1;
  for (int i = 1; i < input_length; i++) {
    if (input_string[i] == current_char) {
      count++;
    } else {
      printf("%c%d", current_char, count);
      current_char = input_string[i];
      count = 1;
    }
  }
  printf("%c%d", current_char, count);

  return 0;
}
Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Да ошибки фиг с ними, мне не важно что она пишет, мне важно как =) Спасибо. RLE было понято буквально, с неверным ответом и без творческого подхода который присущ реальной интеллектуальной системе.

Тут важно понимать что с точки зрения этой машины написать алгоритм словами или кодом нет разницы это просто два языка и одно переводится в другое. Эта машина не пишет код, она переводит логическую последовательность с языка на язык. Хоть с испанского на c++, хоть с китайского на Rust. При условии что она их знает конечно и там и там есть одинаковые логические смыслы.

Но всё равно прикольно, спасибо большое =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Ну а что от алгоритма требуется-то? Может, она не понимает? Покритиковать её? Отругать? Строка в конце должна быть короче, чем в начале?

Повторно задал этот же вопрос, получил такой ответ (сразу с кодом на Питоне):

Here is an algorithm for compressing a string using the RLE (Run Length Encoding) method:

    Initialize an empty result string and a count variable to 0.
    Iterate through the input string, one character at a time.
    If the current character is the same as the previous character, increment the count variable.
    If the current character is different from the previous character, append the count and the previous character to the result string, and reset the count variable to 1.
    After the end of the input string has been reached, append the count and the final character to the result string.
    Return the result string.

Using this algorithm, the input string "ACXFYBAZAAABBB" would be compressed to "A1C1X1F1Y1B1A1Z1A3B3". This compressed string is 11 bytes, which is less than 13 bytes.

Here is some sample code implementing this algorithm in Python:

def compress(input_string):
    result = ""
    count = 0
    prev_char = ""
    for char in input_string:
        if char == prev_char:
            count += 1
        else:
            if count > 0:
                result += str(count) + prev_char
            count = 1
            prev_char = char
    result += str(count) + prev_char
    return result

print(compress("ACXFYBAZAAABBB"))  # Output: "A1C1X1F1Y1B1A1Z1A3B3"


Nxx ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Ну вот, я его отругал, и он признал ошибку.

I apologize for the error in my previous response. You are correct that the length of the output string produced by the modified algorithm I provided is 20 bytes, not 10 bytes as I stated. This is because the output string includes both the count and the character for each run of repeating characters, whereas the input string only includes the character.

To ensure that the output string is shorter than the input string, you can further modify the algorithm as follows:

    Initialize an empty result string and a count variable to 0.
    Iterate through the input string, one character at a time.
    If the current character is the same as the previous character, increment the count variable.
    If the current character is different from the previous character, append the previous character to the result string if the count is 1, and append the count and the previous character to the result string if the count is greater than 1. Reset the count variable to 1.
    After the end of the input string has been reached, append the final character to the result string if the count is 1, and append the count and the final character to the result string if the count is greater than 1.
    Return the result string if it is shorter than the input string, otherwise return the input string.

Using this modified algorithm, the input string "ACXFYBAZAAABBB" would be compressed to "ACXFYBAZA3B2". This compressed string is 11 bytes, which is shorter than the input string.

def compress(input_string):
    result = ""
    count = 0
    prev_char = ""
    for char in input_string:
        if char == prev_char:
            count += 1
        else:
            if count == 1:
                result += prev_char
            elif count > 1:
                result += str(count) + prev_char
            count = 1
            prev_char = char
    if count == 1:
        result += prev_char
    elif count > 1:
        result += str(count) + prev_char
    if len(result) < len(input_string):
        return result
    else:
        return input_string

print(compress("ACXFYBAZAAABBB"))  # Output: "ACXFYBAZA3B2"
Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Ну а что от алгоритма требуется-то?

Сократить строку закодировав её. Сырая строка AAAAAA закодированная 3А3А или 2A2A2A (для кодирования по1му байту) или 2A (для кодирования по 3 байта). И так далее. 1A1A1A1A1A1A Это просто подсчёт букв, технически верный для RLE.

Всё что надо я увидел =) Что на си что на питоне. Дело не в коде, а в том как оно работает с входящими данными.

Оно всё сделало правильно, просто не то. А то оно могло сделать только если бы оно могло не развернуть ответ в разных формах (слова, языки программирования, иное, тут без разницы так как этой машине без разницы на чём отвечать, для машины нет разницы между русским и Lisp или французским и Visual basic), а использовать рекурсивное мышление, не то когда мы ссылаемся к тому что уже сказали, а то когда мы ссылаемся на смысл созданный на основе того что мы сказали для того чтобы его выразить в том что скажем.

ИИ так сможет, этот чат нет.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

ЛОЛ. Это ИИ. Просто программирование у него не идеальное. Последний ответ устраивает? Он пишет, что в вывод между символами попало значение счётчика, поэтому строка была длиннее.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Нет, ИИ не существует ещё. Это симулякр. (это не обзывательсво, а термин) По поводу ответа я написал. Опять мимо =) Она начала перебирать варианты и выражать наиболее близкие в коде.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Нет, это полное ИИ. Но программирует с ошибками, да. Как и студент. А может быть, не знает, что такое RLE

Nxx ★★★★★
() автор топика
Последнее исправление: Nxx (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Опять мимо, попроси её раскодировать эту строку обратно.

Уже закрыл сессию.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Ладно. Всё равно большое спасибо. Было интересно. Хорошая, добротная система, действительно виртуозно владеющая словом (для машины то). Но надо применять её (пока что как минимум) только для того что она действительно может, а именно на основе одной информации выдавать вариации иной информации требующейся исходя из контекста. Думать заставлять её не надо =) Не умеет (пока что). Толи ещё будет. Покажи такое лет 20 назад на костре бы сожгли :D

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

без творческого подхода который присущ реальной интеллектуальной системе.

Можно попросить улучшить алгоритм, уменьшить и т.д.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Наверное надо её скормить статью из википедии объяснив всё в деталях. Затем попросить реализовать алгоритм по этой статье, а потом много раз просить видоизменить алгоритм на своё усмотрение что-бы оно таки поняло. Что проблема RLE в том что всегда будут не повторяющиеся последовательности и что нужно придумать такой алгоритм в котором раздельные повторяющиеся последовательности и не повторяющиеся, повторяющиеся есть смысл закодировать как есть в RLE не повторяющиеся не могут быть закодированы в RLE значит нужно либо использовать их как есть, но в условии задачи написано что строка должна стать короче, тогда как есть использовать нельзя нужно создать дополнительный алгоритм который сожмёт не повторяющиеся данные. Или изначальные данные должны быть преобразованы так что-бы стали повторяющимися с тем условием что при любом из огромного числа возможных подходов всё должно свестись к тому что закодированную строку можно будет раскодировать обратно.

Ты задолбаешься эту нейросетку натаскивать и 1000 раз исправлять. Это вариантивная сеть, она будет тебе предлагать бесконечное количество вариантов до тех пор пока не получится желаемое. Что технически ничем не отличается от брутфорса.

Смысл вопроса моего не в том что сможет ли она реализовать описанное, а в том сможет ли она выявить проблему, а проблема заключается в постановке задачи.

Забей, лучше беседуй на всякие философские темы, абстрактные, житейские и прочее. Вот это она умеет и могёт.

А я спать =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Ты задолбаешься эту нейросетку натаскивать и 1000 раз исправлять.

Просто это бета. Пока у неё много ошибок - четырехзначные числа перемножает с ошибками, интегралы сложнее самых простых неправильно берёт и т.д.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

программирует оно с ошибками

Т.е. оно настолько заменяет программиста? Это успех.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.