Хотелось бы узнать, появились ли в природе тулзы, позволяющие (пусть в самом примитивном виде) генерировать код ну скажем на 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>>надо хотя бы в общих чертах представлять себе, что ты хочешь получить и как ты это будешь делать.
А>Вот именно об этом мы с единомышленниками и подумаем
Ну и не будет у тебя единомышленников с таким подходом. Я уже неоднократно объяснял почему.