forum.kai.ru

Форум КНИТУ-КАИ
Текущее время: 21 сен 2017, 19:37

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
СообщениеДобавлено: 04 сен 2004, 14:05 
Не в сети
Постоянный посетитель
Аватар пользователя

Зарегистрирован: 15 апр 2003, 12:09
Сообщений: 1439
Откуда: Кaзань
Чем можно сгенерировать векторное изображение блок-диаграммы/направленного графа или алгоритма, если описание их -- в текстовом файле? То есть, например, даю программе на вход текстовое описание алгоритма в каком-то известном ей виде, на выходе получаю векторное изображение алгоритма со всеми блоками и стрелочками, которое уже можно вставлять в Word. Можно библиотекой к какому-нибудь языку...

P.S. Забыл добавить: надписи в блоках должны быть на русском!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 ноя 2004, 09:49 
Не в сети
Постоянный посетитель Замечаний:2

Зарегистрирован: 29 окт 2004, 08:52
Сообщений: 43
Ддаааа, дружок, ну и вопросик ты задал.
Если сможешь найти ответ, то сразу в академию наук РТ балатируйся, там стипендия неплохая :)
Ну в ощем ближе к телу, попробую порассуждать; вижу 2 задачи:
1) преоразовать текстовое описание алгоритма кодной из форм:
- машина Тюринга (тезис Тюринга: любой мыслимый человеком алгоритм представим в виде машины Тюринга) это проверенный факт
- Представление алгоритма в виде конечного или не конечного, детерминированного или вероятностного автомата (такой автомат можно представить в виде матрици переходов, матрици связности и т.д., читай теорию автоматов; но есть интересный способ представления алгоритма в виде полиномов используя аппарат полей галуа разработанный в КАИ на кафедре КСИБ трудами таких ученных как Соколов, Захаров, Шалагин и др.)
- Представление алгоритма в виде полинома при помощи аппарата полей Галуа (продолжение второго способа)

Эта задача очевидна, поскольку если алгоритм не представлен в одной из этих форм, то он фактически не пригоден для обработки на ЭВМ. В тоже время очевидно что данная задача практически не решена, и решается на сегодняшний день трудами знаменитых авторитетных ученых, в том числе и Казанских, если интересует, то пробей расписание научных семенаров по методам моделирывания на кафедре КСИБ; на этих семенарах рассматривают подобные задачи. Дабавлю лишь, что подобные задачи относятся к задачам разработки искусственного интелекта, или так называемых "Экспертных систем".
Ра ты задал подобный вопрос, то видимо ты интересуешься тем, чем надо, мат. задачи теперь уже не оставят твой мозг в покое, лавушка захлопнулась, ты стал одним из нас ;). Существует множество книг посвященных разработкам искусственного интеллекта и экспертных систем, наиболее авторитетными из них являются книги авторов Нэльсон "Принципы искусственного интеллекта" (или что-то в этом роде) и Бутча почти с таким же названием (не читай всякие современные модные книжки с красивыми иллюстрациями - это полнейшее фуфло, только запутаешься), если учишся на кафедре КСИБ попробуй нати аспиранта Шалагина С.В., он ответственен за научные работы студентов, поговори с ни объясни что интересуешься, он поможет тебе, потом может на Туп. чтениях выступишь с докладом.
Подобные задачи можно классифицирывать как задачи алгоритмизации в свободной речевой форме, даже если ты задаешь алгоритм в виде програмного кода, все равно это таже задача, только проще(в принципе, мне она кажется вполне реальной, в отличие от речевого задания алгоритма)
Ко второй задаче
2) преобразовать одно из выбранных представления алгоритма в блок-схему. Это уже проще, но задача попрежнему лежит в тех же областях, про которые я уже упомянул. Задачу можно сформулирывать как "Здание логической семантики на множестве входных сигналов автомата, основываясь на таблице переходов" логическая семантика- это набор логических суждений, т.е. логических правил. Не совсем ясно как машина болжна понимать что иы имеешь ввиду под теми или иными входными данными (переменными и константами в программе), ели например ты используешь какие-то сложные структуры данных.

Ну вот в общих чертах пожалуй все. Если что - переспрашивай.
Если реально хочешь разобраться в проблемме то тебе придется в обязательном порядке ознакомиться с курсами: "Формальная логика"
"Терия автоматов", ели уже знаком можешь переходить к книгам по Иск. интелекту и т.д.
Не бйся сложной научной работы, дерзай вчитывайся, вдумывайся теряя разум, в будующем окупится, удачи!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 ноя 2004, 13:06 
Не в сети
Постоянный посетитель
Аватар пользователя

Зарегистрирован: 15 апр 2003, 12:09
Сообщений: 1439
Откуда: Кaзань
Тагир писал(а):
Ра ты задал подобный вопрос, то видимо ты интересуешься тем, чем надо,

Возможно я интересуюсь совсем не тем чем надо -- микроэлектроникой, физикой тонких плёнок и изготовлением микросхем. А рисовать алгоритмы надо для автоматизации, вручную рисовать долго... И уже давно не студент, кстати. :wink: Нужна программа, которая может рисовать алгоритмы и графы по заданным связям.

Пока нашёл WinGraphviz (язык DOT), система эта может рисовать графы, но поддержку русского по нормальному включить пока не удалось. То есть русские буквы воспринимает и рисует, но в узлах можно только по одному слову написать...

Ещё есть LaTeX (Metapost), но там мозги вывихнешь прежде чем хоть что-то нарисуешь. Если есть в КАИ знакомые гуру, хотелось бы просветлиться и приобщиться к их мудрости. :)

P.S. Спасибо за информацию, всё это мне тоже интересно, но в качестве хобби и пригодится позднее -- как только будет чуть-чуть посвободнее. Пока занят сильно...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 ноя 2004, 13:22 
Не в сети
Постоянный посетитель Замечаний:2

Зарегистрирован: 29 окт 2004, 08:52
Сообщений: 43
не понятно зачем рисовать блок-схемы, в чем тут автоматизация?
Для программирывания програмных матриц фирмы Залингс и Альтея существуют сапры(названия не помню, но в Инете легко найдешь). Там надо рисовать алгоритм с помощью логических клчей(соединять их стрелочками), оптимальная разводка произволится автоматически разводка, для разных методов разводки существуют разные компиляторы для одного итоо же сапра. Второй вариант сапров для этих же кристалов - это вводить алгоритм на языке программирования, я знаю 2: - Verilog(похож на C++, понравится знатокам этого языка) и VHDL(похож на паскаль, понравится знатокам паскаля). В общем можешь поинтересоваться, весь материал по сапрам нам дали за одну лекцию, в общем не сложно, таракан разберется.

Так всеже зачем тебе рисовать алгоритм, ведь для ЭВМ как-раз наобарот представляют все в виде автоматов(Мура, там или Мили), ведь картинки наобарот для человека рисують, в чем тут автоматизация?
Поясни ситуацию, мож. мозгами поскриплю, спрашу мож. кого.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 ноя 2004, 13:23 
Не в сети
Постоянный посетитель Замечаний:2

Зарегистрирован: 29 окт 2004, 08:52
Сообщений: 43
не понятно зачем рисовать блок-схемы, в чем тут автоматизация?
Для программирывания програмных матриц фирмы Залингс и Альтея существуют сапры(названия не помню, но в Инете легко найдешь). Там надо рисовать алгоритм с помощью логических клчей(соединять их стрелочками), оптимальная разводка произволится автоматически разводка, для разных методов разводки существуют разные компиляторы для одного итоо же сапра. Второй вариант сапров для этих же кристалов - это вводить алгоритм на языке программирования, я знаю 2: - Verilog(похож на C++, понравится знатокам этого языка) и VHDL(похож на паскаль, понравится знатокам паскаля). В общем можешь поинтересоваться, весь материал по сапрам нам дали за одну лекцию, в общем не сложно, таракан разберется.

Так всеже зачем тебе рисовать алгоритм, ведь для ЭВМ как-раз наобарот представляют все в виде автоматов(Мура, там или Мили), ведь картинки наобарот для человека рисують, в чем тут автоматизация?
Поясни ситуацию, мож. мозгами поскриплю, спрашу мож. кого.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 ноя 2004, 13:50 
Не в сети
Постоянный посетитель
Аватар пользователя

Зарегистрирован: 15 апр 2003, 12:09
Сообщений: 1439
Откуда: Кaзань
Тагир писал(а):
Так всеже зачем тебе рисовать алгоритм,

Объясняю. Есть разработанный алгоритм функционирования системы. Начало, начальные значения, ветвления, циклы и т.д. Этих алгоритмов много. Надо создать документацию на систему (статью\отчёт), где нарисовать этот алгоритм (алгоритмы). Поскольку алгоритмы получаются достаточно развесистые, хочется автоматизировать процесс рисования этих документов, на таскание блоков мышкой много времени уходит. Наиболее оптимальный вариант пакетной обработки: даю текстовый файл описания, по нему генерируется изображение алгоритма, которое потом вставляется в отчёт.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 янв 2005, 14:11 
Не в сети
Вечно молодой, вечно пьяный
Аватар пользователя

Зарегистрирован: 29 мар 2003, 05:54
Сообщений: 175
Откуда: ИЗВНЕ
Мне кажется, что для автоматизации процесса составления диаграмм подошли бы специализированные пакеты вроде EPwin, BPwin, - возможно там же получится и реализовать связь между пользовательским "текстом", который он хочет привести к виду графиков, диаграмм и проч., посредством языка прикладного интерфейса... там же есть и много других полезных фич, что-то может для себя подчерпнёшь(например, утилиты реинжиниринга программных кодов)

_________________
Ник О'Туда


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 дек 2009, 09:01 
Не в сети
Постоянный посетитель
Аватар пользователя

Зарегистрирован: 09 дек 2009, 11:17
Сообщений: 16
Откуда: Россия
Зря смеетесь. Знаю не одну женщину программера. Причем весьма не плохого программера:-

А на счет языков уже милион раз сказано. Если умеешь выражать свои мыли , сможешь сделать это на любом языке:- Со словарем но сможешь. А вот кому что ближе это другой вопрос:-


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 дек 2010, 12:06 
Не в сети
Новый посетитель

Зарегистрирован: 10 дек 2010, 11:31
Сообщений: 1
Здравствуйте! Меня тоже интересует этот вопрос. Но немного в другой плоскости. Есть компьютерный файл с расширением EXE, его я могу дизассемблировать и сгенерировать ассемблерный текст. Вот хотелось бы этот текст преобразовать в алгоритм, или хотя бы в текстовую таблицу связей, а дальше я и сам смогу разобраться. Например так:
строка i, элемент i, номера входных элементов, номер выходного элемента (безусловный), номер выходного элемента (да), номер выходного элемента (нет).
строка i+1 ... и.т.д.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB