Хотелось бы узнать, появились ли в природе тулзы, позволяющие (пусть в самом примитивном виде) генерировать код ну скажем на C# по заданию. Задание пишеться, например, на английском или на русском языке. Т.е. что-то вроде:
Задание:
Вывести строку "Это - строка" 10 раз.
Сгенерированный код:
using System;
class Class1
{
void Main ()
{
for (int i = 0; i < 10; i ++)
{
Console.Write ("Это - строка");
}
}
}
Есть уже что-нибудь типа такого? Кто-нибудь слышал о таком?
А>А вообще кому-нибудь из обитателей форума RSDN это интересно? Интересно написать что-нибудь подобное?
Мне интересно . ИМХО, нобелевская премия — штука в хозяйстве полезная
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[3]: Автоматическая кодогенерация
От:
Аноним
Дата:
25.04.07 16:44
Оценка:
А>>А вообще кому-нибудь из обитателей форума RSDN это интересно? Интересно написать что-нибудь подобное? K>Мне интересно . ИМХО, нобелевская премия — штука в хозяйстве полезная
Не только в хозяйстве
Если серьёзно, я уже давно об этом думаю. Конечно, ясен пень, что даже близко похожего на AI мы не напишем в ближайшие 100 лет. Но тем не менее прототипчик какой-нибудь или что-то похожее отдалённо сделать хотелось бы.
Есть желающие попробовать написать "нечто"?
Язык — C++/C#. Платформа — .Net/Windows.
Здравствуйте, <Аноним>, Вы писали:
А>Если серьёзно, я уже давно об этом думаю. Конечно, ясен пень, что даже близко похожего на AI мы не напишем в ближайшие 100 лет. Но тем не менее прототипчик какой-нибудь или что-то похожее отдалённо сделать хотелось бы.
А>Есть желающие попробовать написать "нечто"? А>Язык — C++/C#. Платформа — .Net/Windows.
Нет, язык неправильный. Лучше что-то функционально-декларативное. Что-то вроде ML. Может, кое-где и Пролог понадобился бы. Кроме того, такие вещи не делаются кучками энтузиастов. Как минимум, эта кучка энтузиастов должна прочитать кучу различных книг про ИИ.
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[5]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 07:27
Оценка:
А>>Язык — C++/C#. Платформа — .Net/Windows. K>Нет, язык неправильный.
Именно такой язык. Движок мне видится без разницы на чём писать. На чём мне лично удобнее — на том я и буду писать.
K>Кроме того, такие вещи не делаются кучками энтузиастов. Как минимум, эта кучка энтузиастов должна прочитать кучу различных книг про ИИ.
Возможно этим энтузиастам и придёться почитать некоторое кол-во соответствующих книжек. Однако сейчас мы обсуждаем готов ли кто-нибудь поучавствовать или нет. Мы сейчас не обсуждаем процесс проектирования всего этого. Мы также не обсуждаем как мы будет это всё реализовывать. Как только наберёться некоторое кол-во желающих — тогда и переведём беседу в более техническое русло. А пока я лишь хочу узнать готов ли кто-то посвятить своё время этому?
Здравствуйте, Аноним, Вы писали:
А>Если серьёзно, я уже давно об этом думаю. Конечно, ясен пень, что даже близко похожего на AI мы не напишем в ближайшие 100 лет. Но тем не менее прототипчик какой-нибудь или что-то похожее отдалённо сделать хотелось бы.
А>Есть желающие попробовать написать "нечто"? А>Язык — C++/C#. Платформа — .Net/Windows.
Для NUnit тестов можно предложить следующие сценарии
"Напиши Игруху Круче HL2"
"Найди смысл жизни"
"Кто виноват и что делать?"
Re[5]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 10:12
Оценка:
HD>Для NUnit тестов можно предложить следующие сценарии
HD>"Напиши Игруху Круче HL2" HD>"Найди смысл жизни" HD>"Кто виноват и что делать?"
Ответьте мне на вопрос: что смешного в этой теме? Ведь когда-то же они будут написаны — системы автогенерации кода! Так почему бы не начать писать их сейчас?
Здравствуйте, <Аноним>, Вы писали:
А>>>Язык — C++/C#. Платформа — .Net/Windows. K>>Нет, язык неправильный.
А>Именно такой язык. Движок мне видится без разницы на чём писать. На чём мне лично удобнее — на том я и буду писать.
Вот как раз, если бы ты для сравнения написал систему на C# и OCaml, то ты убедился бы, что на самом деле на OCaml писать проще. А так если бы ты только ассемблер знал, ты бы на нём бросился ИИ писать? Кстати, по поводу движка: что ты понимаешь под "движком" и почему именно его без разницы, на чём писать?
K>>Кроме того, такие вещи не делаются кучками энтузиастов. Как минимум, эта кучка энтузиастов должна прочитать кучу различных книг про ИИ.
А>Возможно этим энтузиастам и придёться почитать некоторое кол-во соответствующих книжек. Однако сейчас мы обсуждаем готов ли кто-нибудь поучавствовать или нет. Мы сейчас не обсуждаем процесс проектирования всего этого. Мы также не обсуждаем как мы будет это всё реализовывать. Как только наберёться некоторое кол-во желающих — тогда и переведём беседу в более техническое русло. А пока я лишь хочу узнать готов ли кто-то посвятить своё время этому?
Странно у тебя поставлен вопрос. "Я совсем в ИИ не разбираюсь, но вот если соберётся команда, мы всё это дело изучим и что-то придумаем". По-моему, вопрос должен звучать как-то: "у меня есть такая-то конкретная идея по ИИ, присоединяйтесь ко мне, и мы вместе её реализуем", тогда и люди к тебе потянутся. А так, без теоретической подготовки у тебя совсем ничего не запланировано, ты даже инструменты не смог правильно подобрать.
PS: У меня есть встречное предложение. Посмотри вот этот проект
. В принципе, я изначально планировал прикрутить различные алгоритмы (Эрли, Томита, GLR, LALR, LL(k)), но реально прикрутил только LALR. Тебе же понадобиться распознавать текст на естественном языке. Вот тут подошёл бы GLR (с прикрученными к нему нейросетями). Так что если хочешь, можешь приделать к моему генератору поддержку GLR, да и вообще, опциональную поддержку недетерминированности. Для этого нужно изучить Nemerle, в некотором роде аналог OCaml и C#, и всё это для .NET. Тебе понядобится инсталлятор отсюда
Здравствуйте, <Аноним>, Вы писали:
А>Ответьте мне на вопрос: что смешного в этой теме? Ведь когда-то же они будут написаны — системы автогенерации кода! Так почему бы не начать писать их сейчас?
Потому что сейчас это активно делается. Многими профессорами, занятыми в сфере ИИ. Они не просто тупо пишут "на C#", они исследуют проблему, находят лучшие абстракции, пишут диссертации на эту тему. И если уж этим умам не под силу, то вряд ли это удастся кучке энтузиастов "со знанием C#". Если ты реально хочешь как-то в этом поучаствовать, то выбирайся в научные круги и производи теоретические исследования.
Кстати, я скептически отношусь к задаче создания ИИ на PC-образных машинах. Как показала практика, задачи ИИ так или иначе сводятся к тупому перебору, так что сложность алгоритмов — в лучшем случае экспоненциальная. Пытаются придумать набор эвристик, чтобы хоть как-то это всё ускорить. Только вот это не решение проблемы. Думаю, решение будет более очевидным, когда появятся более продвинутые компы. Например, квантовые.
Нет, спасибо. На дядю Васю работать не намерен. Своё — пиши сам.
Re[7]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 12:21
Оценка:
K>Потому что сейчас это активно делается.
imho, что-то уж больно долго делается. уж 50 лет как минуло... Побыстрее охота Не настоящий ИИ написать, а хоть бы что-нибудь минимальное, способное хоть на самом примитивном уровне решать задачи типа как в первом посте.
Не спрашивайте меня, я пока не представляю как это писать! Я лишь ищу попутчиков. У которых найдётся свободное время хотя бы на то, чтобы сесть и подумать — как это должно работать.
Здравствуйте, <Аноним>, Вы писали:
K>>Потому что сейчас это активно делается.
А>imho, что-то уж больно долго делается. уж 50 лет как минуло... Побыстрее охота Не настоящий ИИ написать, а хоть бы что-нибудь минимальное, способное хоть на самом примитивном уровне решать задачи типа как в первом посте.
Ну тогда придумай ЯП с синтаксисом, близким к естественному языку. И напиши для него компилятор. Только толку от этого — ноль.
А>Не спрашивайте меня, я пока не представляю как это писать! Я лишь ищу попутчиков. У которых найдётся свободное время хотя бы на то, чтобы сесть и подумать — как это должно работать.
Ну вот соберёшь ты единомышленников, вы сядите, подумаете и ничего не придумаете. И что? Чтобы что-то начинать, надо хотя бы в общих чертах представлять себе, что ты хочешь получить и как ты это будешь делать.
.
А>Нет, спасибо. На дядю Васю работать не намерен. Своё — пиши сам.
Вот уж чудак-человек! Сам то ты что предлагаешь? Это я тебе должен сказать так. Ты же ведь ищешь помощников в том деле, которое ты задумал.
Проект не мой, он общий. Я являюсь идейным вдохновителем. Кто хочет, тот может присоединиться (просто таких предедентов ещё не было). Тебе же это выгоднее. Вот лично мне за глазв хватает детерминированного LALR, и мотивации делать GLR или Томиту у мнея нет, так что ещё бог знает, когда руки дойдут. А тебе как раз понадобится недетерминированный алгоритм. Так вместо того, чтобы писать целиком свой генератор парсера, модифицировал бы имеющийся и сэкономил кучу времени.
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[9]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 13:29
Оценка:
K>надо хотя бы в общих чертах представлять себе, что ты хочешь получить и как ты это будешь делать.
Вот именно об этом мы с единомышленниками и подумаем
Re[9]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 13:35
Оценка:
K>Сам то ты что предлагаешь?
Я хочу найти людей, которые, как и я, почти ничего не шарят в этом! Да именно так, мне не нужны люди, перечитавшие кучу книжек по этому делу, и мне не нужны знающие в этой области "профессора". Почему? Чтобы (возможно) придумать какое-то нестандартное решение. Не основанное на существующих алгоритмах. на всех этих нейросетях и т.п. Я считаю, что если уж что-то делать, надо делать что-то принципиально новое.
Здравствуйте, <Аноним>, Вы писали:
А>Я хочу найти людей, которые, как и я, почти ничего не шарят в этом! Да именно так, мне не нужны люди, перечитавшие кучу книжек по этому делу, и мне не нужны знающие в этой области "профессора". Почему? Чтобы (возможно) придумать какое-то нестандартное решение. Не основанное на существующих алгоритмах. на всех этих нейросетях и т.п. Я считаю, что если уж что-то делать, надо делать что-то принципиально новое.
Вообще не в тему, т.к. изначально диалог выглядил так:
K>>PS: У меня есть встречное предложение. Посмотри вот этот проект .
А>Нет, спасибо. На дядю Васю работать не намерен. Своё — пиши сам.
Вот уж чудак-человек! Сам то ты что предлагаешь?
Так что будь добр отвечать на вопрос. Почему это кто-то должен тебе помогать, а ты не собираешься помогать кому-либо. Я, между прочим, не охаю, мол "почему это на RSDN никто за мой проект не берётся". И, заметь, тебе ни в одном из постов я так не отвечал. Кстати, почему ты оставил без ответа следующее?
Тебе же это выгоднее. Вот лично мне за глазв хватает детерминированного LALR, и мотивации делать GLR или Томиту у мнея нет, так что ещё бог знает, когда руки дойдут. А тебе как раз понадобится недетерминированный алгоритм. Так вместо того, чтобы писать целиком свой генератор парсера, модифицировал бы имеющийся и сэкономил кучу времени.
Здравствуйте, <Аноним>, Вы писали:
K>>надо хотя бы в общих чертах представлять себе, что ты хочешь получить и как ты это будешь делать.
А>Вот именно об этом мы с единомышленниками и подумаем
Ну и не будет у тебя единомышленников с таким подходом. Я уже неоднократно объяснял почему.
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[11]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 14:57
Оценка:
K>Вообще не в тему, т.к. изначально диалог выглядил так:
Нет, всё правильно я ответил. Ты спросил, что я предлагаю. Я и говорил, что предлагаю для начала собрать людей, которые ничего в этом не шарят. А там уже думать — как дальше быть.
K>Почему это кто-то должен тебе помогать, а ты не собираешься помогать кому-либо.
Согласись, я не должен помогать каждому, у кого есть "встречное предложение" ко мне. Меня тогда на всех просто не хватит
И вообще, речь о помощи здесь не идёт. Речь идёт о том, что "единомышленники" занимаются каким-либо проектом только потому, что им это интересно. Так было всегда.
K>Я, между прочим, не охаю, мол "почему это на RSDN никто за мой проект не берётся". И, заметь, тебе ни в одном из постов я так не отвечал.
Похоже тебя просто злит, что тебе никто так и не взялся помогать, а у меня возможно появятся единомышленники. Вообще... извини, если что, я вообще не хотел тебя задеть.
K>Кстати, почему ты оставил без ответа следующее? K>[skipped]
Ну что я могу на это ответить? Я понятия не имею и не знаю, что это такое — LALR, GLR, Томиту и т.д.
Re[11]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 15:08
Оценка:
K>Ну и не будет у тебя единомышленников с таким подходом. Я уже неоднократно объяснял почему.
Почему же не будет? Главное ведь — идея, т.е. представление о том, что должно получиться в результате (хотя бы примерно). Об этом я написал в первом посте.
Здравствуйте, <Аноним>, Вы писали:
K>>Вообще не в тему, т.к. изначально диалог выглядил так:
А>Нет, всё правильно я ответил. Ты спросил, что я предлагаю. Я и говорил, что предлагаю для начала собрать людей, которые ничего в этом не шарят. А там уже думать — как дальше быть.
О господи! Ты не тролль, случаем? См. всю ветку несколькими постами выше!
K>>Почему это кто-то должен тебе помогать, а ты не собираешься помогать кому-либо.
А>Согласись, я не должен помогать каждому, у кого есть "встречное предложение" ко мне. Меня тогда на всех просто не хватит
У каждого такая логика: "я не должен помогать кому-то, у кого появилась очередная бредовая идея по поводу ИИ".
А>И вообще, речь о помощи здесь не идёт. Речь идёт о том, что "единомышленники" занимаются каким-либо проектом только потому, что им это интересно. Так было всегда.
Ну так я и спрашиваю, не интересно ли тебе. Что мешало ответить "нет, мне это не интересно". А то тут такой деловой нарисовался!
K>>Я, между прочим, не охаю, мол "почему это на RSDN никто за мой проект не берётся". И, заметь, тебе ни в одном из постов я так не отвечал.
А>Похоже тебя просто злит, что тебе никто так и не взялся помогать, а у меня возможно появятся единомышленники. Вообще... извини, если что, я вообще не хотел тебя задеть.
Ты случаем не Света Семененко? Давай-ка, зарегистрируйся на форуме, почитай правила форума, а то я не люблю общаться с наглыми анонимами.
А>Ну что я могу на это ответить? Я понятия не имею и не знаю, что это такое — LALR, GLR, Томиту и т.д.
А вопрос опять же заключался в другом. Я просто пояснял, что тебе же выгоднее доработать проект, не ради меня или кого-то ещё. Это тебе самому же жизнь упростит.
Между прочим, если собрался писать ИИ, то нужно знать некоторые вещи, которые непосредственного отношения к ИИ не имеют, но понадобятся тебе в твоём проекте. Хотя бы потому, что задача синтаксического (но не семантического) анализа контекстно-свободной грамматики уже достаточно хорошо формализована, так что, боюсь, тут ты ничего нового не придумаешь. Так что тебе придётся изучить теорию, чтобы хоть что-то написать.
LALR, GLR, LL(k) — различные алгоритмы парсинга (синтаксического анализа). LALR и LL(k) прекрасно подходят для компиляторов, однако, чтобы распарсить текст на естественном языке, тебе понадобится что-то помощнее, например, GLR.
Здравствуйте, <Аноним>, Вы писали:
K>>Ну и не будет у тебя единомышленников с таким подходом. Я уже неоднократно объяснял почему.
А>Почему же не будет? Главное ведь — идея, т.е. представление о том, что должно получиться в результате (хотя бы примерно). Об этом я написал в первом посте.
Вот именно, что у тебя нет представления о том, что же на самом деле ты хочешь получить. Потому что, если человек достаточно хорошо представляет себе конечный результат, то он, можно сказать, уже сделал полдела. А так и я могу сказать "пусть наступит счастье на Земле!".
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[13]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 16:09
Оценка:
K>Вот именно, что у тебя нет представления о том, что же на самом деле ты хочешь получить.
Что должно быть, я написал в первом посте.
Re[13]: Автоматическая кодогенерация
От:
Аноним
Дата:
26.04.07 16:15
Оценка:
K>О господи! Ты не тролль, случаем?
Нет, не тролль.
K>У каждого такая логика: "я не должен помогать кому-то, у кого появилась очередная бредовая идея по поводу ИИ".
Так я не прошу помощи! Я ищу тех, кому это тоже интересно будет!
K>Ты случаем не Света Семененко?
Чур меня, чур А кто это такая?
K>Давай-ка, зарегистрируйся на форуме, почитай правила форума, а то я не люблю общаться с наглыми анонимами.
Не указывай мне что делать, пожалуйста.
K>А вопрос опять же заключался в другом. Я просто пояснял, что тебе же выгоднее доработать проект, не ради меня или кого-то ещё. Это тебе самому же жизнь упростит.
Я не хочу ничего дорабатывать. Я буду писать с нуля. Я всегда пишу с нуля. Как показывает опыт — так лучше.
K>LALR, GLR, LL(k) — различные алгоритмы парсинга (синтаксического анализа). LALR и LL(k) прекрасно подходят для компиляторов, однако, чтобы распарсить текст на естественном языке, тебе понадобится что-то помощнее, например, GLR.
Здравствуйте, <Аноним>, Вы писали:
K>>У каждого такая логика: "я не должен помогать кому-то, у кого появилась очередная бредовая идея по поводу ИИ".
А>Так я не прошу помощи! Я ищу тех, кому это тоже интересно будет!
А тебе что, не интересно писать парсер? Но ты же собираешься писать ИИ, распознающий строку на естественном языке! Тогда тебе должно быть интересно написать парсер.
K>>Ты случаем не Света Семененко?
А>Чур меня, чур А кто это такая?
Погугли, зачем меня-то спрашивать?
K>>Давай-ка, зарегистрируйся на форуме, почитай правила форума, а то я не люблю общаться с наглыми анонимами.
А>Не указывай мне что делать, пожалуйста.
А я и не указываю. Просто мне неприятно общаться ... неконструктивно. Потому я больше не буду отвечать на твои сообщения. И кстати, мало кому будет приятно общаться неконструктивно, так что, если ты не последуешь моему совету, ты вряд ли найдешь единомышленников.
K>>А вопрос опять же заключался в другом. Я просто пояснял, что тебе же выгоднее доработать проект, не ради меня или кого-то ещё. Это тебе самому же жизнь упростит.
А>Я не хочу ничего дорабатывать. Я буду писать с нуля. Я всегда пишу с нуля. Как показывает опыт — так лучше.
K>А тебе что, не интересно писать парсер? Но ты же собираешься писать ИИ, распознающий строку на естественном языке! Тогда тебе должно быть интересно написать парсер.
Да, конечно, парсер писать — интересно. Но я не хочу присоединяться ни к какому проекту.
K>Погугли, зачем меня-то спрашивать?
Сложно ответить? Обленились, блин, с появлением интернета...
А>>Я не хочу ничего дорабатывать. Я буду писать с нуля. Я всегда пишу с нуля. Как показывает опыт — так лучше. K>С чего это ты решил? И каков твой опыт?
Достаточный опыт, чтобы судить о том, как следует писать приложения. Всего понимношку
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте!
А>Хотелось бы узнать, появились ли в природе тулзы, позволяющие (пусть в самом примитивном виде) генерировать код ну скажем на C# по заданию. Задание пишеться, например, на английском или на русском языке. Т.е. что-то вроде:
Учитывая, что гопа профессиональных программеров получив 100+ страничный пакет документов (PRD,SRD,DD) не в состоянии перевести это в приемлемую форму без 100+ обратных запросов за уточнениями/разьяснениями и т.д.
я представляю на каком шаге обвалится автоматический генератор
Здравствуйте, <Аноним>, Вы писали:
А>Хотелось бы узнать, появились ли в природе тулзы, позволяющие (пусть в самом примитивном виде) генерировать код ну скажем на C# по заданию. Задание пишеться, например, на английском или на русском языке...
Конечно появились, эти тулзы называются "программисты", а так же "программахеры" (это для самого примитивного уровня).
У этих тулзов всего один метод:
public static string[] GenerateCode(string task, int money)
{
if (money < 10000)
throw new ArgumentOutOfRangeException("money");
// Далее следует невоспроизводимая на языке программирования логика работа мозга.
}
А если серьёзно, по-моему эта тема связана с метапрограммированием.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[2]: Автоматическая кодогенерация
От:
Аноним
Дата:
02.05.07 14:44
Оценка:
NXW>А если серьёзно, по-моему эта тема связана с метапрограммированием.
Вы хотели бы поучавствовать в наваянии чего-либо подобного?
Здравствуйте, <Аноним>, Вы писали:
V>>Ну тулзина вроде как AI называется, поищи в гугле. Если сумеешь заставить работать, будет на любой язык кодогенерить, не только на C#
А>Нашёл только какие-то AI RoboForm и AIagent... И то и другое — совершенно не то. Дай ссылку, что ты имел в виду.
AI — искуственный интеллект
Windows XP — 5.1.2600.131072
NP: xz
Цитата: <no any citation>
Re[4]: Автоматическая кодогенерация
От:
Аноним
Дата:
03.05.07 15:01
Оценка:
V>AI — искуственный интеллект
Спасибо огромное, а то мы тут тридцать лет уже думаем, как же это по ангельски-то буит!....
Здравствуйте, <Аноним>, Вы писали:
V>>AI — искуственный интеллект
А>Спасибо огромное, а то мы тут тридцать лет уже думаем, как же это по ангельски-то буит!....
не тупи тормоз, я ответил человеку который подумал что это ему название программы подсказали.
Windows XP — 5.1.2600.131072
NP: xz
Цитата: <no any citation>