2009-02-20 5 views
12

Ok, tôi đang đối mặt với một sự bổ sung sắp xảy ra cho gia đình mình và làm việc thông qua việc lựa chọn tên.Các thuật toán để giúp con người chọn (chiến tranh kitten), ví dụ:

Tôi đã xem xét viết phần mềm để hiển thị tên và buộc tôi chọn loại nào tôi thích hơn, tương tự như chiến tranh mèo con.

Một khi tôi đã có một đồ thị lớn, mặc dù, tôi không biết làm thế nào để xử lý nó, đặc biệt là nếu có chu kỳ. Ví dụ, tôi thích mike tốt hơn sam, sam tốt hơn so với jared, jared tốt hơn so với mike - nó không có ý nghĩa để chỉ đơn giản là chỉ định phiếu và đếm chúng (đó là những gì tôi nghĩ rằng kitten chiến tranh nào). Hơn nữa, một ngày nào đó tôi có thể được mike vs jared và bỏ phiếu một cách, nhưng bỏ phiếu khác đi nếu tôi nhận được nó vào một ngày khác.

Vì vậy:

  • Một khi bạn có dữ liệu, làm thế nào để xử lý các biểu đồ và xếp hạng các tên?

Cách khác:

  • gì khác thuật toán hữu ích có thể được sử dụng để lựa chọn (nói theo phong cách xe, nếu bạn đang tìm kiếm một chiếc xe mới)?

-Adam

+0

Không phải là quảng cáo song song, nhưng có liên quan: http://stackoverflow.com/questions/363113/any-good-geeky-baby-names –

+0

Hehe, tôi nghĩ đó là một trong những thứ mà tôi có thể đã cố gắng đóng không liên quan đến lập trình. –

+0

Vâng, tôi cũng thế. Nó tiếp tục mở lại. Và sau đó các morons hành quân sử dụng nó như là một lý do tại sao crap off-topic của họ không nên đóng cửa. –

Trả lời

6

Bạn có thể muốn xem câu trả lời cho câu hỏi tôi đã hỏi một lúc: How to rank a million images with a crowdsourced sort - có một số gợi ý tốt về cách xử lý kết quả của nhiều so sánh hoạt động để đạt được thứ hạng.

4

Tôi nghĩ chúng tôi đã trải qua điều này, và câu trả lời vẫn là Jon Skeet :) Tất cả các dữ liệu khác là không thích hợp.

EDIT: Chúc mừng BTW :)

+0

+1 cho tham khảo skeet jon, hy vọng bạn don ' t được downvoted quá nhiều ...;-D –

+0

-1: tại sao mọi người tiếp tục upvoting câu trả lời rác thải? – Juliet

+0

@ Công chúa - Có một số giá trị trong việc khiến ai đó mỉm cười, nhưng tôi hoàn toàn tôn trọng quyết định của bạn để bỏ phiếu cho những câu trả lời như vậy. –

2

Nếu bạn tiếp tục theo dõi các trận thắng/thua lỗ, bạn có thể có nó thích để cho bạn thấy tên với chiến thắng cao để tỷ lệ mất mát. Cuối cùng, các tên mà bạn thích sẽ bong bóng lên đến đỉnh, và sẽ có nhiều khả năng được so sánh với nhau. Bạn có thể cũng muốn thêm một số trọng lượng cho những cái tên chưa được so sánh, hoặc có rất ít so sánh.

Loại bỏ tên sau một số tổn thất nhất định, đảm bảo không so sánh cùng tên với nhau hai lần vì đó là tất cả ý kiến ​​của bạn.

Khi bạn có 'kem của cây trồng' được lọc ra khỏi rác, bạn sẽ so sánh trực tiếp những loại tốt nhất, kiểu cạnh tranh, cho đến khi bạn chọn người chiến thắng. (Hoặc chỉ nhìn vào chúng bằng tay tại thời điểm đó)

3

Thuật toán hữu ích nào khác có thể là được sử dụng để đưa ra lựa chọn [...]?

  1. Cung cấp đơn vị vợ chồng có tên bé sách.
  2. Đang đợi dữ liệu nhập từ đơn vị vợ chồng liên quan đến tên con tương lai.

  3. chối sự lựa chọn tấn công

  4. Lặp lại cho đến khi bạn và đơn vị vợ chồng thỏa thuận về một cái tên, hoặc em bé ra đời ... trong đó trường hợp, lựa chọn đơn giản nhất để chính tả tùy chọn trên danh sách để bệnh viện không vặn giấy khai sinh

Điều này đã làm việc tốt cho tôi, hai lần. Và chúng tôi thậm chí không cần phải thực hiện tùy chọn chính tả dễ dàng nhất trong 11 giờ!

6

ví dụ, tôi thích mike tốt hơn so với sam, sam tốt hơn so với Jared, Jared tốt hơn so với mike

Nếu bạn tìm thấy điều này là trường hợp, bạn có thể kết luận rằng bạn không phù hợp cho việc lựa chọn tên và nên trì hoãn sự quan trọng khác cho lựa chọn.

+0

LOL - trong tất cả sự công bằng, cô ấy đã phủ quyết. Tôi khá là mâu thuẫn, đó là lý do tại sao tôi đang tìm kiếm viện trợ ... Cô ấy đã nói với tôi, mặc dù, "Chúng tôi đang có cậu bé thứ n. Lần này bạn phải chọn, tôi mệt khi chọn tên con trai!" –

4

Đây là việc triển khai sai: You're Doing It Wrong. Đây chính xác là ứng dụng chính xác cho Cô ấy sẽ luôn giành được thuật toán.

4

Tôi không biết làm thế nào khả năng mở rộng thuật toán này là, nhưng tôi đã thực hiện nó thành công trong một số trang web mà tôi đã thiết kế với bảng xếp hạng (chuyển thể từ IMDB's rating):

giá cân nhắc (WR) = (v/(v+m)) * R + (m/(v+m)) * C

đâu:

  • R = trung bình cho các con mèo con (trung bình) = (phiếu/số lượng người đã bình chọn)
  • v = số phiếu biểu quyết đối với mèo = (phiếu)
  • m = số phiếu tối thiểu bắt buộc phải được liệt kê trong Top 100 (khoảng 25 là số an toàn)
  • C = phiếu bầu trung bình trên tất cả mèo con = (tổng số phiếu)/(tổng số người đã bỏ phiếu)

Các thuật toán trên công trình cho một trang web kiểu mèo chiến tranh, nhưng nó không một thuật toán đầy đủ cho một "hệ thống chuyên gia" hoặc một động cơ khuyến nghị.

Một cách tiếp cận - và tôi không thể đảm bảo tốt nhất - cho công cụ đề xuất sẽ đại diện cho các lựa chọn khác nhau trong ma trận. Cho phép nói rằng bạn muốn chọn ra một chiếc váy, bạn có thể đại diện cho các thuộc tính khác nhau của váy như sau:

 
      Fashionable  Affordable  Colorful  Practical 
Miniskirt  10    5    7   5 
Cheer skirt  3    1    10   1 
Grass skirt  2    7    2   1 
Jean skirt  9    5    3   10 

Bây giờ, bạn yêu cầu người sử dụng những loại quần áo mà họ muốn để mặc:

  • [ X] Thứ gì đó thời trang?
  • [] Một cái gì đó giá cả phải chăng?
  • [] Thứ gì đó đầy màu sắc?
  • [X] Có điều gì đó thực tế?

Các đầu vào trên chỉ ra rằng một người dùng đang tìm kiếm cái gì thời trang và thiết thực, mà không cần quan tâm đến các tính chất khác, vì vậy nó đủ dễ dàng để crunch các dữ liệu trên như sau:

 
      Fashionable  Practical  Total 
Jean skirt  9    10   19 
Miniskirt  10    5   15 
Cheer skirt  3    1   4 
Grass skirt  2    1   3 

này rất đơn giản , nhưng phương pháp tiếp cận hiệu quả hoạt động miễn là bạn biết các thuộc tính của từng đối tượng mà bạn so sánh.

+0

Đó là cách tôi tiếp cận các quyết định đa biến, chẳng hạn như ô tô. –

2

Tôi khá chắc chắn rằng Mike là lựa chọn đúng đắn.

+0

lol - xin lỗi, bạn đã hết thời gian chạy ...: -O –

4

Hãy xem các tài liệu về Máy học về "Xếp hạng từ So sánh cặp đôi/Sở thích".

Dưới đây là một trong những giấy để giúp bạn bắt đầu: Pairwise Preference Learning and Ranking

+0

Đằng sau bức tường trả tiền. Tôi sẽ đánh giá cao nếu bạn có một liên kết đến một danh sách miễn phí, hoặc nếu bạn có thể đăng các chi tiết thiết yếu ở đây. –

+0

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.7067&rep=rep1&type=pdf – Imran

3

Đây là thuật toán mà chúng ta sử dụng:

  1. Phân bổ một giới mỗi mẹ. Chỉ định cha mẹ này là chính số người chỉ định cho quan hệ tình dục đó.
  2. Sản phẩm chính được cho phép, nay là khuyến khích, để tạo danh sách các tên con có thể theo bất kỳ ý thích nào hoặc bất ngờ vào bất kỳ thời điểm cụ thể nào.
  3. Chỉ định phụ huynh khác là thay thế. Người thay thế chỉ có một khả năng cho giới tính mà họ không phải là người chính và đó là số phủ quyết. Cách thay thế có thể thể hiện sở thích cho một tùy chọn cụ thể so với tùy chọn khác nhưng thực sự chỉ là đùa.
  4. Quyền phủ quyết thắng. Nó không đòi hỏi phải biện minh hoặc giải thích (mặc dù một số được khuyến nghị trong trường hợp cha mẹ có ý định duy trì tình trạng hạnh phúc của họ ...).
  5. Trong trường hợp con tiềm năng lặp lại n> = 2, bạn có thể tham khảo ý kiến ​​lặp lại n = 1 để có các đề xuất xếp hạng bổ sung. Đối với hầu hết các trường hợp, phỏng đoán này phải được xem là phiếu bầu quyết định.

Trong trường hợp của chúng tôi, tôi là người đầu tiên trong cả hai trường hợp (hai bé trai) và NumberOneSon là phiếu bầu quyết định của chúng tôi khi đến lúc chọn ký hiệu cho SecondSon. Và bạn đã tin tưởng tốt hơn rằng WifeUnit là A-OK vung veto của mình xung quanh ....

Tóm lại, xin chúc mừng. Nuôi dạy con là một tiếng kêu.