Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

Wikipedia:Reference desk/Archives/Computing/2015 November 26

From Wikipedia, the free encyclopedia
Computing desk
< November 25 << Oct | November | Dec >> November 27 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


November 26

[edit]

Chess programming with Negamax

[edit]

I have programmed a chess engine and use negamax with alpha beta pruning and my own evaluation function. However I don't understand one thing.

I evaluate a given position by calculation the total value of all pieces and some other criteria. If I search to a depth of one, then the evaluation will say that a move where a rock is taken is good, even if the players loses the queen in the following move. The same will happen for any depth of course. It will always give a high score for that kind of situations.

How do one solve this problem? I have googled it but can't find a good answer. If no one here knows how to do it, maybe someone knows where on the internet to look?

Chess Q (talk) 09:20, 26 November 2015 (UTC)[reply]

Do our articles on Quiescence search and Horizon effect help? --Guy Macon (talk) 09:27, 26 November 2015 (UTC)[reply]
They certainly do, I will look into those concepts more carefully. Thanks! Chess Q (talk) 10:06, 26 November 2015 (UTC)[reply]
Also, when I play chess I also consider board position as important, not points alone. I might very well choose to sacrifice a pawn if it gives me a better board position, even if I don't see any immediate gain in pieces. So, programming this into a chess engine would be a good idea. Of course, defining a "good board position" might be rather difficult. (This might be why chess grandmasters, until recently, could beat computers. Not that they could visualize more moves ahead, but because they could use intangibles like board position in their planning.) StuRat (talk) 05:32, 27 November 2015 (UTC)[reply]
True. So far I have thought of some basic ones, like double pawns are bad. But as you say, it has proven hard to define general "rules". To define what a "quiet" move is (for the quiescence search mentioned above) also seems like a challenge. I have found a few guides on the internet but if anyone knows of some good resources, books or online, that would be appreciated. Thanks so far! Chess Q (talk) 08:20, 27 November 2015 (UTC)[reply]

Hands-off Linux

[edit]

I have a request to set up a computer for a disabled person. He wants Linux - which is why I've been asked to do it. He can control a touch-pad with a toe. He cannot type in any way. Anything that is not mouse-driven must be voice controlled. I got a Linux box running with a virtual keyboard that allows him to type, but he wants to be able to do voice recognition for typing emails. I've never had a reason to do voice recognition, but I've found projects, such as "julius" and "cmusphinx" that promise voice recognition. It appears that these are libraries for programmers to use. They are not voice recognition applications. What I want is very specific: Voice recogntion/dication to type an email in Thunderbird on Linux. Does that exist yet? From what I can see, it is something that will be coming in the distant future. The tools are being developed ... slowly. 75.139.70.50 (talk) 15:36, 26 November 2015 (UTC)[reply]

Have you seen this article Speech_recognition_software_for_Linux. I've seen NaturallySpeaking used and that article says you can get it working under linux using WINE, i don't know how hard that is. Here's a tutorial Vespine (talk) 01:20, 27 November 2015 (UTC)[reply]
I did look at the Wikipedia article. It lists three tools that are programming libraries, not applications. Then, it has a long list of applications. Most are abandoned. The few that aren't are in very early beta testing. It will take a lot of effort to get any of them to do anything useful. I expect to be forced to purchase NaturallySpeaking and run it under Wine, which means that this won't be a free machine and that it will break every time NaturallySpeaking or Wine gets updated since NaturallySpeaking is not part of the tested repo. 209.149.113.52 (talk) 15:25, 27 November 2015 (UTC)[reply]
Yeah, that's basically the case. Accessibility software is a niche market already, and accessibility software on non-Windows systems is a niche of a niche. Most of the good software is Windows-only. --71.119.131.184 (talk) 18:25, 27 November 2015 (UTC)[reply]