Как задавать правила
От: Sorc17 Россия  
Дата: 05.02.13 10:32
Оценка:
Не знаю как тему назвать. Поясню на примере о чём речь.

Вот допустим делаю я какой-нибудь интерфейс для выбора стула. Понятно что стулья могут быть самые разные и допустим я сделал десятки или сотни всяких справочников всевозможных свойств которые только могут быть у стульев: материал обивки, форма подлокотников, наличие мягких подлокотников, наличие колёсиков и т.д. и т.п. И теперь мне нужно сделать какую-то иерархию с правилами, чтобы с одной стороны человек мог (с минимумом усилий) описать уже существующий стул, который стоит перед его глазами либо по какими-то отдельным признакам подобрать себе стул.

И вот я думаю: а чем делать такую иерархию? Как задавать правила, например, что у кресел качалок не может быть регулятора высоты и колёсиков? Наверняка же уже придуманы какие-нибудь годные гибкие подходы к такому софту.

Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re: Как задавать правила
От: jazzer Россия Skype: enerjazzer
Дата: 05.02.13 10:47
Оценка: :)))
Здравствуйте, Sorc17, Вы писали:

S>И вот я думаю: а чем делать такую иерархию? Как задавать правила, например, что у кресел качалок не может быть регулятора высоты и колёсиков? Наверняка же уже придуманы какие-нибудь годные гибкие подходы к такому софту.


У меня кресло-качалка с регулятором высоты и колесиками
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Как задавать правила
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.02.13 10:54
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Не знаю как тему назвать. Поясню на примере о чём речь.


S>Вот допустим делаю я какой-нибудь интерфейс для выбора стула. Понятно что стулья могут быть самые разные и допустим я сделал десятки или сотни всяких справочников всевозможных свойств которые только могут быть у стульев: материал обивки, форма подлокотников, наличие мягких подлокотников, наличие колёсиков и т.д. и т.п. И теперь мне нужно сделать какую-то иерархию с правилами, чтобы с одной стороны человек мог (с минимумом усилий) описать уже существующий стул, который стоит перед его глазами либо по какими-то отдельным признакам подобрать себе стул.


S>И вот я думаю: а чем делать такую иерархию? Как задавать правила, например, что у кресел качалок не может быть регулятора высоты и колёсиков? Наверняка же уже придуманы какие-нибудь годные гибкие подходы к такому софту.


S>


Если нужен поиск как в yandex.market, то посмотри на механизмы полнотекстового поиска вроде lucene.
Они все поддерживают так называемый faceted search, когда вместе с результатами отдается набор категорий и количество попаданий в каждую категорию. Потом можно "уточнить" запрос по этой категории.

Соответственно если в результаты не попала категория вообще, например искали "кресла-качалки" и нету результатов в категориях "с регулятором высоты" и "без регулятора высоты", то эти категории не выводятся в интерфейсе.
Re: Как задавать правила
От: pu4koff Мухосранск  
Дата: 05.02.13 13:10
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Не знаю как тему назвать. Поясню на примере о чём речь.


S>Вот допустим делаю я какой-нибудь интерфейс для выбора стула. Понятно что стулья могут быть самые разные и допустим я сделал десятки или сотни всяких справочников всевозможных свойств которые только могут быть у стульев: материал обивки, форма подлокотников, наличие мягких подлокотников, наличие колёсиков и т.д. и т.п. И теперь мне нужно сделать какую-то иерархию с правилами, чтобы с одной стороны человек мог (с минимумом усилий) описать уже существующий стул, который стоит перед его глазами либо по какими-то отдельным признакам подобрать себе стул.


S>И вот я думаю: а чем делать такую иерархию? Как задавать правила, например, что у кресел качалок не может быть регулятора высоты и колёсиков? Наверняка же уже придуманы какие-нибудь годные гибкие подходы к такому софту.


S>


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