Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.07.2009, 20:38
Аллиас вне форума Посмотреть профиль Отправить личное сообщение для Аллиас Найти все сообщения от Аллиас
  № 1  
Ответить с цитированием
Аллиас
 
Аватар для Аллиас

Регистрация: May 2009
Сообщений: 63
По умолчанию Конечные автоматы - Что это? (попроще)

Здравствуйте. Такой вопрос:

Что такое "конечные автоматы" в применении к AS3?

Я читал определение на википедии и еще на нескольких сайтах, и понял что это что-то сродни регулярным выражениям (во всяком случае меня интересует именно такое их применение). Заумные дискретно-математические определения мне не особо понятны, и хотелось бы посмотреть на реализацию автомата "воочию". Но дело в том, что подходящего практического примера на AS3 я не нашел, а других языков программирования я пока не понимаю (ну разве-что JavaScript).

Поэтому прошу подсказать, где можно найти "человеческое" объяснение данного термина и подходящие примеры с иллюстрацией применения в AS3 (желательно именно для работы со строками).


Последний раз редактировалось Аллиас; 27.07.2009 в 21:51. Причина: ошибочки были...
Старый 27.07.2009, 20:56
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
чего орать-то?

Старый 27.07.2009, 21:08
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 3  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
неконечный автомат?? я знаю только конечные, а в них недетрменированные.
Даже википедия на мой к ней вежливый вопрос "неконечный автомат" написала:
Цитата:
Возможно, вы имели в виду: конечный автомат
И ты вообще хочешь узнать то о них(пусть даже и неконечных=) )?

Старый 27.07.2009, 21:55
Аллиас вне форума Посмотреть профиль Отправить личное сообщение для Аллиас Найти все сообщения от Аллиас
  № 4  
Ответить с цитированием
Аллиас
 
Аватар для Аллиас

Регистрация: May 2009
Сообщений: 63
Цитата:
Сообщение от iflamberg Посмотреть сообщение
чего орать-то?
Так лучше?

2Герыч

Сори, я и вправду имел ввиду "конечные автоматы", ошибся
и да, я хочу про них узнать побольше

Старый 27.07.2009, 22:00
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 5  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Цитата:
и да, я хочу про них узнать побольше
Вузовский учебник по дискретной математике в помощь.
__________________
4am is time to rock

Старый 27.07.2009, 22:51
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 6  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
конечный автомат.. с точки зрения программиста - это интерфейс:
Код AS3:
interface StateMachine {
       function reset();
       function sendLetter(letter:Letter);
       function getState():State;
       function isStateGood(state:State):Boolean;
}
у конечного автомата(по теории) есть входная лента(со словом некоторого языка), с которой по очереди берётся по букве a, начальное состояние q0, текущее состояние q, функция перехода q'=g(q,a) и множество хороших состояний.
Ты прогоняешь через автомат слово по буковке. Под действием каждой буквы и текущего состояния автомат меняет своё состояние. В конце слова ты смотришь текущее состояние и узнаёшь, к какому классу относится слово-к хорошему или плохому.
А применительно к интерфейсу псевдо-код примерно такой:
Код:
function isWordGood(w:Word,sm:StateMachine):Boolean{
  sm.reset();
  for each(l:Letter in w)
    sm.sendLetter(l);
  return sm.isStateGood(sm.getState());
}
только я не понимаю к чему те это? регулярки и конечные автоматы в моей тетрадке по дискретке разделены большуущей кучей теории всякой..

Старый 27.07.2009, 23:00
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 7  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
регулярные выражения построены на конечном автомате. Даже недавно на хабре обсуждались ограничения регулярок в связи с тем, что они построены на конечном автомате(а именно - отсутствие рекурсий).

Старый 27.07.2009, 23:09
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 8  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
вообще-то в регулярках рекурсии есть.

Старый 27.07.2009, 23:26
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 9  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Как я понимаю, в перле только.
/[abc]+/ - это не рекурсия. Это, как раз таки пример конечного автомата.

Но вообще не хочу флуд разводить, так как вот здесь я никак не гуру - за всю жизнь только три раза регулярки сложные составлял. Вот статья на хабре, если интересно http://habrahabr.ru/blogs/crazydev/63944/

Старый 27.07.2009, 23:31
Аллиас вне форума Посмотреть профиль Отправить личное сообщение для Аллиас Найти все сообщения от Аллиас
  № 10  
Ответить с цитированием
Аллиас
 
Аватар для Аллиас

Регистрация: May 2009
Сообщений: 63
Меня на самом деле "конечные автоматы", заинтересовали после того, как я случайно нашел эту ссылку: Парсер BBCode на КА, просто здесь КА выставляют так, что они будто бы сами по себе быстрее РэгЭкспов (теперь я понимаю, что РВ сами есть КА), и еще "конечный автомат" - звучит необычно

Судя по всему я опрометчиво чуть преувеличил значение КА, и теперь думаю, что для лучшего понимания их принципа, стоит узнать все о регвырах, чем я сейчас и занимаюсь.

Всем большое спасибо за предоставленную информацию. Буду тренировать логику, чувствую в серьезном программировании без этого никуда.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.